通过kubeadm 部署k8s(V1.20.1)
1、准备机器,机器配置要求如下:
- 一台或多台机器,操作系统 CentOS7,最好为多台
- 硬件配置:大于或等于2GB,大于或等于2个CPU,大于或等于硬盘30GB
- 集群中所有机器之间网络互通
- 可以访问外网,需要拉取镜像
- 禁止swap分区
本文为三台机器,一台master,两台node
2、准备环境
- 关闭防火墙
systemctl stop firewalld
systemctl disable firewalld
- 关闭selinux
sed -i 's/enforcing/disabled/' /etc/selinux/config
setenforce 0
- 关闭swap
swapoff -a # 临时关闭
sed -ri 's/.*swap.*/#&/' /etc/fstab #永久关闭
- 添加主机名与IP对应关系
cat >> /etc/hosts << EOF
192.168.xxx.xxx k8s-master
192.168.xxx.xxx k8s-node-01
192.168.xxx.xxx k8s-node-02
EOF
- 将桥接的IPv4流量传递到iptables的链(设置三台机器之间网络连接)
cat > /etc/sysctl.d/k8s.conf << EOF
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
EOF
3、安装docker步骤
请查阅此文章,本文不在赘述
安装docker参考地址
4、设置国内镜像地址
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
5、修改docke中的daemon.json文件
tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["http://hub-mirror.c.163.com"]
}
EOF
6、修改获取kubernetes镜像地址
cat > /etc/yum.repos.d/kubernetes.repo << EOF
[kubernetes]
name=Kubernetes
baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64
enabled=1
gpgcheck=0
repo_gpgcheck=0
gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
EOF
7、清除yum缓存
yum clean all && yum makecache
8、安装kubelet、kubeadm、kubectl,版本为 1.20.1
yum install -y kubelet-1.20.1 kubeadm-1.20.1 kubectl-1.20.1
9、设置kubelet开机自启
systemctl enable kubelet
10、在k8s Master节点 部署Kubernetes Master
kubeadm init \
--apiserver-advertise-address=192.168.xxx.xxx \
--image-repository registry.aliyuncs.com/google_containers \
--kubernetes-version v1.20.1 \
--service-cidr=10.96.0.0/12 \
--pod-network-cidr=10.244.0.0/16 \
12、安装Pod网络插件(CNI)
flannel版本为0.15.0
kubectl apply -f ./kube-flannel.yml
该文件可以通过 github下载,网络不好可以通过 百度网盘下载,
提取码可留言获取
若通过github下载
需要先执行
docker load < flanneld-v0.15.0-amd64.docker
在执行
kubectl apply -f kube-flannel.yml
11、在k8s Node节点上执行 加入Kubernetes Node
在执行k8s join命令之前,需要先安装 flannel
kubeadm join 192.168.xxx.xxx:6443 --token 2x0anu.uy2jxxw08qxhvqie \
--discovery-token-ca-cert-hash sha256:6da89bd656c92da89d751978405ee72b639b474dab0e855c5b4cb4351f2axxxx
若不记得token,需要在 k8s master节点执行一下命令
openssl x509 -pubkey -in /etc/kubernetes/pki/ca.crt | openssl rsa -pubin -outform der 2>/dev/null | openssl dgst -sha256 -hex | sed 's/^.* //'
12、查看k8s node
kubectl get node
到此就安装结束了,需要 安装k8s Dashboard请移步
除了 k8s Dashboard,还有一个界面工具 Kuboard