当前环境,3台服务器
1.修改环境变量,在每一台服务器运行以下命令:
cat > etc/yum.repos.d/kubernetes.repo << EOF [kubernetes] name=kubernetes baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64 enable=1 gpgcheck=1 repo_gpgcheck=1 gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg EOF
2.安装k8s,每一台都需要运行
yum install -y kubelet-1.13.3 yum install -y kubeadm-1.13.3 yum install -y kubectl-1.13.3
3.运行k8s
systemctl enable kubelet
4.选择一台服务器作为主节点(服务端)
4.1 因为之前安装过,因节点原因需要重新初始化,需要执行以下命令,还原k8s系统到未初始化状态
(1)重置
kubeadm reset
(2)清除iptables和ipvs
iptables -F && iptables -t nat -F && iptables -t mangle -F && iptables -X
4.2 在服务端执行以下命令,初始化k8s
kubeadm init \ --apiserver-advertise-address=<主节点IP> \ --image-repository registry.aliyuncs.com/google_containers \ --kubernetes-version v1.13.3 \ --service-cidr=10.1.0.0/16 \ --pod-network-cidr=<主节点IP>/16
执行成功之后,最后会显示以下信息
将最后一句保存下,在其余两个节点,也就是客户端执行,添加客户端节点命名:
kubeadm join 172.19.12.40:6443 --token gla2i4.w9sgez0ikrsi6k7u --discovery-token-ca-cert-hash sha256:98ce44a754eb766120ea425694b6a2d1d0c36e66b53edd0a164869e0acc9d157 --node-name k8s-node1
需要注意的是:该命令两天内有效(token有效期)
4.3 安装pod网络--flannel插件
因为是离线安装,需要提前下载kube-flannel.yml文件以及文件中需要的镜像,然后执行以下命令
kubectl apply -f kube-flannel.yaml
查看pod节点:
kubectl get pod -n kube-system
节点运行成功!
4.4 安装dashboard可视化页面
提前下载kubernetes-dashboard.yaml文件,及对应镜像,执行以下命令
kubectl apply -f kubernetes-dashboard.yaml
查看pod节点的安装情况
安装成功~
5.客户端初始化:客户端已安装完成k8s
5.1 清除之前已安装的残留文件
(1)删除/etc/kubernates/下的配置文件
rm -rf /etc/kubernetes/kubelet.conf /etc/kubernetes/bootstrap-kubelet.conf /etc/kubernetes/pki/ca.crt
(2)杀掉占用端口号的进程,一般端口号是10250,相近的几个都清除掉
查看占用端口号: netstat -tlpn
kill 6625 6879
5.2 将在服务端初始化的最后一行的命令分别在客户端执行
kubeadm join 172.19.12.40:6443 --token gla2i4.w9sgez0ikrsi6k7u --discovery-token-ca-cert-hash sha256:98ce44a754eb766120ea425694b6a2d1d0c36e66b53edd0a164869e0acc9d157 --node-name tymm2-2
运行成功,查看加入的节点,运行
kubectl get node
需要将服务端/etc/kubernates/下的admin.conf文件拷贝到服务端对应的目录下
再次执行查询节点的命令
查询成功!
k8s安装完成~