亚洲最新永久观看在线,亚洲澳门在线高清无码,欧美suv日韩在线观看,国产一区二区精品久久

知識庫

如何通過kubeadm在aws上快速創建集群?
2023-07-13 15:57:46
閱讀()
來源:互聯數據
摘要: ? ? 為了創建k8s集群,首先需要在公有云上申請2個EC2instance,這里演示的是在aws上申請instance,操作系統選擇的ubuntu,創建過程中用默認配置即可,創建instance過程中的.pem文件需要保存好,后續登陸instance需

如何通過kubeadm在aws上創建集群?為了創建k8s集群,首先需要在公有云上申請2個EC2instance,這里演示的是在aws上申請instance,操作系統選擇的ubuntu,創建過程中用默認配置即可,創建instance過程中的.pem文件需要保存好,后續登陸instance需要用到。


創建完成后,查看instance的公網IP地址,并通過公網IP地址和pem文件就可登陸到instance上了。登陸到instance的命令:ssh -i /Users/taoli/Downloads/qiaotl.pem ubuntu@xx.xx.xx.xx(這里輸入instance的公網IP地址)。


目標:創建三個節點的集群,一個master節點,兩個node節點。


kubeadm在aws上創建集群優惠鏈接http://www.ukunilife.com/zt/2023-05-06/


具體步驟如下所示:


步驟一:在aws上申請3個instance,操作系統選擇ubuntu


1.登陸aws上,申請3個EC2 instance,node節點join的時候是通過內部IP地址join的,所以在aws上創建EC2 instance請需綁定上Elastic IP,這樣即便instance重啟后,IP地址也不會變化。

2.執行 swapoff -a 命令關閉分區;執行sudo ufw disable 關閉防火墻

3.為了保障node節點能成功加入master節點,還需要對master和node節點開放如下端口,具體信息可查看官網詳細信息。

通過kubeadm在aws上創建集群

步驟二:允許iptables檢查橋接流量


1.執行命令 sudo modprobe br_netfilter

執行該命令后會自動化創建目錄/proc/sys/net/bridge,并在該目錄下自動創建一些文件,后續會用到。


2.為了讓你的 Linux 節點上的 iptables 能夠正確地查看橋接流量,執行如下命令,將 net.bridge.bridge-nf-call-iptables 設置為

cat <

net.bridge.bridge-nf-call-ip6tables = 1

net.bridge.bridge-nf-call-iptables = 1

EOF


步驟三:安裝 kubeadm、kubelet 和 kubectl


1.更新 apt 包索引并安裝使用 Kubernetes apt 倉庫所需要的包

sudo apt-get update && sudo apt-get install -y apt-transport-https curl containerd

sudo apt-get update && sudo apt-get install -y apt-transport-https

sudo apt-get install curl

sudo apt-get install containerd


2.下載 Google Cloud 公開簽名秘鑰

sudo curl -fsSLo /usr/share/keyrings/kubernetes-archive-keyring.gpg https://packages.cloud.google.com/apt/doc/apt-key.gpg

sudo curl -fsSLo /usr/share/keyrings/kubernetes-archive-keyring.gpg https://packages.cloud.google.com/apt/doc/apt-key.gpg


3.添加 Kubernetes apt 倉庫:

echo "deb [signed-by=/usr/share/keyrings/kubernetes-archive-keyring.gpg] https://apt.kubernetes.io/ kubernetes-xenial main" | sudo tee /etc/apt/sources.list.d/kubernetes.list


4.安裝kubeadm、kubelet 和 kubectl并鎖定版本

sudo apt-get update

sudo apt-get install -y kubelet kubeadm kubectl

sudo apt-mark hold kubelet kubeadm kubectl

以上三個步驟在master節點和node節點都需要執行。

安裝完成后,選取一個節點作為master節點,另外兩個節點作為node節點,master節點執行集群初始化命令

kubeadm init --apiserver-advertise-address=10.x.x.x --service-cidr=10.x.x.x/16 --pod-network-cidr=192.168.0.0/16


這里沒有使用默認的kubeadm init,--apiserver-advertise-address可以填寫master節點的內部ip地址,實際項目中是負載均衡的ip,--service-cidr與--apiserver-advertise-address不要在同一個網段,例如前面是10.0,那么后面這個就是10.1, 對于--pod-network-cidr

flannel 默認是10.244.0.0/16

calico 默認是192.168.0.0/16


需要注意的是:在kubeadm init過程中,如果選用下面的方式安裝calico插件,那么kubeadm init的時候一定要設置 --pod-network-cidr=192.168.0.0/16這個參數,否則安裝插件后,查看node狀態也是NotReady狀態。


執行上述命令過程中如下遇到如下錯誤,那么執行這兩條命了,將指設置為1

echo 1 > /proc/sys/net/bridge/bridge-nf-call-iptables

echo 1 > /proc/sys/net/ipv4/ip_forward

kubeadm init命令執行完成后,會顯示如下信息,按提示信息copy配置文件,kubeadm join命令需copy下來,這是后面node節點加入的命令。


接下來在master節點安裝網絡插件,這里選擇calico網絡插件,具體網絡插件安裝詳細信息可查看這里

kubectl create -f https://docs.projectcalico.org/manifests/tigera-operator.yaml

kubectl create -f https://docs.projectcalico.org/manifests/custom-resources.yaml


插件安裝完成后,就可以在node節點上執行copy出來的kubeadm join命令,注意所有node節點也需要執行步驟一、步驟二、步驟三。


node節點join成功后,可在master節點執行kubectl get node命令,查看master和node節點信息,如果都是ready狀態,如下圖所示,那么說明整個集群安裝成功。


如果以后想重啟集群,那么在master和node節點上執行kubeadm reset命令,然后在master節點上至下kubeadm init命令,node節點上重新只想kubead join命令即可。


如果遇到這個錯誤可從如下幾個方面進行排查:connection-to-the-server-host-6443-was-refused


1.執行命令查看6443是否被正常監聽

netstat -pnlt | grep 6443


2.查看kubelet服務是否處于運行狀態

systemctl status kubelet


3.查看containerd服務是否處于運行狀態

systemctl status containerd


通過kubeadm在aws上創建集群的步驟就講到這,您可以根據自己的需求和預算,在互聯數據低價選擇適合的EC2實例類型和配置,并根據實際使用情況進行計費。AWS的計費方式主要有按需計費、預留實例和按使用量計費等選項。亞馬遜VPS(Amazon EC2)主要用于創建和管理虛擬服務器,它提供彈性的計算能力,允許您在云端運行各種應用程序和服務。


0

上一篇:awsec2休眠模式怎么“一鍵”輕松設置?
下一篇:GPU服務器的性能是否會受到CPU的限制?
HKT4為您的網站提供全球IDC資源
立即免費測試