安裝K8S折騰了好久,總算成功了,下面是安裝全過程钞它。
基礎(chǔ)環(huán)境準(zhǔn)備
準(zhǔn)備CentOS虛擬機(jī)4臺(tái)殊鞭。全新安裝。
master1? ? ?10.0.37.150【最低2核操灿,不然KubeAdmin會(huì)報(bào)錯(cuò)】
master2? ? ?10.0.37.151【最低2核趾盐,不然KubeAdmin會(huì)報(bào)錯(cuò)】
node1? ? ? 10.0.37.152
node2? ? ??10.0.37.153
所有虛擬機(jī)執(zhí)行步驟1-3.
1.更新Centos.(避免Docker運(yùn)行報(bào)錯(cuò))
yum update -y
2.運(yùn)行nmtui,設(shè)置IP地址和hostname.
3.運(yùn)行環(huán)境準(zhǔn)備腳本k8s-pre.sh。(主要用途:關(guān)閉selinux,關(guān)閉防火墻久窟,關(guān)閉swap,修改/etc/hosts,修改iptables鏈接,安裝docker,安裝kubeadm,kubectl,kubelet V1.15)
4.登陸到10.0.37.150 master1 部署k8s master
kubeadm init \
--apiserver-advertise-address 10.0.37.150 \
--image-repository registry.aliyuncs.com/google_containers \
--kubernetes-version v1.15.0 \
--service-cidr 10.1.0.0/16 \
--pod-network-cidr 10.244.0.0/16
注意: 提示信息中包含node 加入到當(dāng)前集群的命令斥扛。在部署node的時(shí)候需要稀颁。如果失敗峻村,可以使用kubeadm reset重新部署。常見問題請(qǐng)參考部署常見錯(cuò)誤文檔窜锯。
5.給當(dāng)前用戶賦權(quán)
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
6.安裝POD網(wǎng)絡(luò)插件
kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/a70459be0084506e4ec919aa1c114638878db11b/Documentation/kube-flannel.yml
7.登陸到10.0.37.152 & 153 部署k8s node1 & k8s node2
先安裝flannel
docker pull lizhenliang/flannel:v0.11.0-amd64
再加入集群
kubeadm join 10.0.37.150:6443 --token tt7879.ridi9k0uf0adihp8 \
? ? --discovery-token-ca-cert-hash sha256:1f381aec366336c21c4c2041882e581087b71f614f0781211f6b1bba35a359fa
8.返回10.0.37.150锚扎。運(yùn)行如下命令查看集群狀態(tài)馁启,確保為Ready狀態(tài)。
[root@k8s-master1 ~]# kubectl get nodes
NAME? ? ? ? ? STATUS? ROLES? ? AGE? ? VERSION
k8s-master1? Ready? ? master? 117m? v1.15.0
k8s-node1? ? Ready? ? <none>? 30m? ? v1.15.0
k8s-node2? ? Ready? ? <none>? 27m? ? v1.15.0
9. 在Kubernetes集群中創(chuàng)建一個(gè)pod妖啥,驗(yàn)證是否正常運(yùn)行:
創(chuàng)建nginx容器
kubectl create deployment nginx --image=nginx
暴露對(duì)外端口
kubectl expose deployment nginx --port=80 --type=NodePort
查看nginx是否運(yùn)行成功
kubectl get pod,svc
在瀏覽器訪問对碌。三個(gè)結(jié)點(diǎn)都可訪問,說明集群已經(jīng)搭建完成怀读,
參考連接:https://blog.csdn.net/heian_99/article/details/103888459