可以在kubeadm配置文件更改默認(rèn)端口。

這個(gè)實(shí)驗(yàn)有五個(gè)服務(wù)器。
我開(kāi)的騰訊云香港服務(wù)器做的實(shí)驗(yàn),網(wǎng)速很快,ssh穩(wěn)定。
百度云沒(méi)測(cè)。
阿里云測(cè)試不給力。
推薦騰訊云。
k8s1: master1
k8s2: node1
k8s3: haproxy
k8s4: master2
k8s5: master3

1.首先在k8s master1上安裝kubeadm,kubelet,kubectl,然后kubeadm init,最后kubectl get nodes,確認(rèn)k8s1 master1準(zhǔn)備就緒。
k8s安裝: ubuntu18安裝kubernetes v1.15

2.分別在k8s node1,k8s master2,k8s master3上安裝kubeadm,kubectl,kubelet
k8s安裝: ubuntu18安裝kubernetes v1.15

3.在k8s master1上的kubeadm-init.out文件找到j(luò)oin worker node和 join control-plane node的命令。

4.分別在k8s master2和k8s master3上執(zhí)行join命令,注意,—control-plane
kubeadm join k8s1:6443 –token 8vqitz.g1qyah2wpd3n723o \\\\
–discovery-token-ca-cert-hash sha256:abd9a745b8561df603ccd58e162d7eb11b416feb4a7bbe1216a3aa114f4fecd9 \\\\
–control-plane –certificate-key 0e1e2844d565e657465f41707d8995b2d9d64246d5f2bf90f475b7782343254f

5.在node1上執(zhí)行join命令
kubeadm join k8s1:6443 –token 8vqitz.g1qyah2wpd3n723o \\\\
–discovery-token-ca-cert-hash sha256:abd9a745b8561df603ccd58e162d7eb11b416feb4a7bbe1216a3aa114f4fecd9

6.現(xiàn)在master1 , master2, master3都可以執(zhí)行kubectl管理k8s集群。
kubectl get nodes
顯示有三個(gè)master,一個(gè)node.

7.安裝haproxy負(fù)載均衡
apt-get update
apt-get install haproxy -y
cd /etc/haproxy
cp haproxy.conf haproxy.conf.bak
在defaults下面
log global
mode tcp
option tcplog
frontend proxynode
bind *:80
stats uri /proxystats
default_backend k8s-qq
backend k8s-qq
balance roundrobin
server master1 172.19.0.12:6443 check
server master2 172.19.0.8:6443 check
server master3 172.19.0.4:6443 check
systemctl restart haproxy
systemctl enable haproxy

8.查看haproxy
https://k8s3.example.com/proxystats
能看到三個(gè)后端服務(wù)器

9.查看運(yùn)行etcd的pod
kubectl -n kube-system get pods | grep etcd
這里我們能看到k8s1,k8s2,k8s3上分別運(yùn)行etcd

10.查看etcd的日志
kubectl -n kube-system logs etcd-k8s1
kubectl -n kube-system logs etcd-k8s1 -f

11.登錄到另一個(gè)etcd的pod上檢查etcd集群狀態(tài)
kubectl -n kube-system exec -it k8s2 — /bin/sh
/# ETCDCTL_API=3 etcdctl -w table \\\\
—endpoints 172.19.0.12:2379, 172.19.0.4:2379, 172.19.0.8:2379 \\\\
—cacert /etc/kubernetes/pki/etcd/ca.crt \\\\
—cert /etc/kubernetes/pki/etcd/server.crt \\\\
—key /etc/kubernetes/pki/etcd/server.key \\\\
endpoint status
這里會(huì)顯示我們的三個(gè)etcd,其中一個(gè)為true,二個(gè)為false.

12.測(cè)試故障轉(zhuǎn)移
12.1.假設(shè)現(xiàn)在k8s2為ture,ssh登錄到k8s2,然后關(guān)閉docker
systemctl stop docker
12.2.查看節(jié)點(diǎn)信息
kubectl get node
顯示k8s2為NotReady狀態(tài)。
12.4.在k8s3上再次查看endpoint status,發(fā)現(xiàn)k8s2現(xiàn)在為false,現(xiàn)在k8s3為true
12.5.不能關(guān)閉k8s1的docker測(cè)試,關(guān)閉k8s1,整個(gè)集群不可用。
12.6.查看haproxy的統(tǒng)計(jì)報(bào)告。
12.7.測(cè)試完后,啟動(dòng)docker

更多關(guān)于云服務(wù)器,域名注冊(cè),虛擬主機(jī)的問(wèn)題,請(qǐng)?jiān)L問(wèn)三五互聯(lián)官網(wǎng):www.shinetop.cn

贊(0)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享網(wǎng)絡(luò)內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。郵箱:3140448839@qq.com。本站原創(chuàng)內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明出處:三五互聯(lián)知識(shí)庫(kù) » kubeadm配置高可用etcd集群

登錄

找回密碼

注冊(cè)