日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

【Kubernetes】如何使用Kubeadm部署K8S集群

發布時間:2023/11/28 生活经验 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【Kubernetes】如何使用Kubeadm部署K8S集群 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一 . 準備機器
本次環境采用華為云ECS彈性云服務器部署(也可以使用VMware)
vm01(2V4G): Ubuntu_18.04作為K8S master節點
vm02(1V1G): Ubuntu_18.04作為K8S node節點
備注: 以下所有操作都是在root用戶下執行
二 . 在master節點安裝k8s和Docker
1.安裝需要的包
由于apt 源使用 HTTPS 以確保軟件下載過程中不被篡改。因此,我們首先需要添加使用 HTTPS 傳輸的軟件包以及 CA 證書
sudo apt install apt-transport-https ca-certificates software-properties-common curl

2.添加 谷歌GPG 密鑰
執行
curl -s https://mirrors.huaweicloud.com/kubernetes/apt/doc/apt-key.gpg | sudo apt-key add -

從華為云開源鏡像網站獲取安裝
3.安裝docker 和kubeadm
首先我們修改一下Docker的鏡像源,這里我們使用中科大USTC鏡像源
echo “deb https://mirrors.ustc.edu.cn/kubernetes/apt kubernetes-xenial main” \ > /etc/apt/sources.list.d/kubernetes.list

apt-get update ——安裝docker

apt-get install -y docker.io kubeadm ——安裝kubeadm

在上述安裝 kubeadm 的過程中,docker 和kubeadm、 kubelet、kubectl 工具都會被自動安裝好。
4.設置開機自啟動并啟動 Docker(后默認已設置自啟動,可忽略)
systemctl enable docker
systemctl start docker
5.執行 kubeadm init 自動化安裝kubernets

發現這7個k8s.gcr.io的鏡像包無法獲取。這就遇到了部署K8S最大的難題就是鏡像下載,由于是國內機器, 如果不進行科學上網在國內很難從k8s.gcr.io等鏡像源里下載鏡像。
這種情況下我們可以 直接指定國內鏡像代理倉庫(如阿里云代理倉庫)進行鏡像拉取下載, 成功拉取代理倉庫中的鏡像后,再將其tag打標簽成為k8s.gcr.io對應鏡像,最后再刪除從代理倉庫中拉取下來的鏡像,前提要確保imagePullPolicy策略是IfNotPresent,即本地有鏡像則使用本地鏡像,不拉取!或者將下載的鏡像放到私有倉庫里,然后將image下載源指向私倉地址。
因為不同的K8S版本需要的鏡像包不一樣,我們可以使用
kubeadm config images list 命令查詢一下kubeadm所需的k8s鏡像包版本

我們使用 docker pull 拉取所需鏡像包(這里指定一下鏡像源)
例:docker pull registry.aliyuncs.com/google_containers/coredns:1.7.0
docker pull registry.aliyuncs.com/google_containers/etcd:3.4.13-0

然后打tag,并刪除之前從代理倉庫下載的鏡像
例:docker tag registry.aliyuncs.com/google_containers/coredns:1.7.0

docker rmi 鏡像名稱 ——刪除pull下來的額鏡像
例:docker rmi registry.aliyuncs.com/google_containers/etcd:3.4.13-0


然后再執行 kubeadm init 就可以了

執行完成后k8s即安裝完成,最后會輸出kubeadm join那段命令,這個是node節點加入集群必須執行的命令。但是kubeadm init自動生成的token有效期只有24小時。
kubeadm join 192.168.0.3:6443 --token 9dimd4.cte6oheldr8p7ecq
–discovery-token-ca-cert-hash sha256:aad7cddf4764b9a576d315096c24059de53486f187a9135c8067268aa7167403

當然我們也可以使用
kubeadm token create --ttl 0
生成一個永不過期的 token(olt9w7.6yew4d24q40n5raa),后續node節點加入集群是要用到。

執行
kubectl get nodes

發現報錯了,第一次使用k8s需要執行下面命令配置kubect所需文件。
執行下面命令:
mkdir -p $HOME/.kube
cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
chown (id?u):(id -u):(id?u):(id -g) HOME/.kube/config再次執行kubectlgetnodes就行了![在這里插入圖片描述](https://img?blog.csdnimg.cn/20210128105702748.png)可以發現當前節點狀態NotReady狀態使用下面命令查看kubelet日志,看到網絡插件沒有安裝journalctl?f?ukubelet![在這里插入圖片描述](https://img?blog.csdnimg.cn/2021012810571023.png)執行下面命令安裝weave插件kubectlapply?fhttps://cloud.weave.works/k8s/net?k8s?version=HOME/.kube/config 再次執行kubectl get nodes 就行了 ![在這里插入圖片描述](https://img-blog.csdnimg.cn/20210128105702748.png) 可以發現當前節點狀態NotReady狀態 使用下面命令查看kubelet日志,看到網絡插件沒有安裝 journalctl -f -u kubelet ![在這里插入圖片描述](https://img-blog.csdnimg.cn/2021012810571023.png) 執行下面命令安裝weave插件 kubectl apply -f https://cloud.weave.works/k8s/net?k8s-version=HOME/.kube/configkubectlgetnodes![](https://img?blog.csdnimg.cn/20210128105702748.png)NotReady使kubelet,journalctl?f?ukubelet![](https://img?blog.csdnimg.cn/2021012810571023.png)weavekubectlapply?fhttps://cloud.weave.works/k8s/net?k8s?version=(kubectl version | base64 | tr -d ‘\n’)


看到節點已經正常了。master節點已經安裝完成。

三. node節點加入集群

1、登陸vm02,node節點虛擬機,參考前面步驟1 2 3 4,安裝kubeadm和docker 但是不執行kubeadm init
2 、然后需要下載kube-proxy pause鏡像(同上,先拉取鏡像再修改tag)
docker pull registry.aliyuncs.com/google_containers/kube-proxy:v1.20.2
docker pull registry.aliyuncs.com/google_containers/pause:3.2
docker tag registry.aliyuncs.com/google_containers/kube-proxy:v1.20.2 k8s.gcr.io/kube-proxy:v1.20.2
docker tag registry.aliyuncs.com/google_containers/pause:3.2 k8s.gcr.io/pause:3.2
docker rmi registry.aliyuncs.com/google_containers/kube-proxy:v1.20.2
docker rmi registry.aliyuncs.com/google_containers/pause:3.2

3 、執行kubeadm join命令加入集群(join命令是master安裝時生成的)
這里token換成永久的token
kubeadm join 192.168.0.3:6443 --token 9dimd4.cte6oheldr8p7ecq
–discovery-token-ca-cert-hash sha256:aad7cddf4764b9a576d315096c24059de53486f187a9135c8067268aa7167403

4、安裝weave網絡插件

  這里要用到kubectl命令,但是node節點不是master 無法執行。所以按照下面命令,admin.conf文件從master主機拷貝到node節點。

mkdir -p $HOME/.kube
scp {masterip}:/etc/kubernetes/admin.conf $HOME/.kube/config
chown (id?u):(id -u):(id?u):(id -g) HOME/.kube/config![在這里插入圖片描述](https://img?blog.csdnimg.cn/20210128105741678.png)安裝weave:kubectlapply?f"https://cloud.weave.works/k8s/net?k8s?version=HOME/.kube/config ![在這里插入圖片描述](https://img-blog.csdnimg.cn/20210128105741678.png) 安裝weave: kubectl apply -f "https://cloud.weave.works/k8s/net?k8s-version=HOME/.kube/config![](https://img?blog.csdnimg.cn/20210128105741678.png)weavekubectlapply?f"https://cloud.weave.works/k8s/net?k8s?version=(kubectl version | base64 | tr -d ‘\n’)"

5、查看node節點狀態,部署完成。

總結

以上是生活随笔為你收集整理的【Kubernetes】如何使用Kubeadm部署K8S集群的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。