當前環境,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安裝完成~