手把手教你在centos7安装k8s集群
最近在整理回顧k8s相關的知識,實操手動去搭建一個簡易的k8s集群環境(作者本人搭建的是k8s集群version v1.23.3),花了挺多時間,踩了不少坑。不過最終還是把環境跑起來了,大家按照我的方式去搭,絕對不會錯。
操作步驟
- 準備工作
- 安裝kubeadm
- 下載k8s組件鏡像
- 下載組件鏡像
- 配置k8s的master節點
- 安裝worker節點
- 安裝console節點
- 結束
準備工作
- 中控機(1核1G內存)
- worker節點(1核1G內存)
- master節點(2核2G內存)
改名的主要目的是,k8s使用主機名來區分集群里的其他節點,所以hostname不能重名。
從第四步開始,如無特殊說明,以下操作都是針對worker和master節點
4. 安裝配置Docker
安裝節點為worker和master
完成上面步驟后,還需要對docker的配置做一些修改,對/etc/docker/daemon.json文件中的cgroupdriver改成systemd。最后保存重啟即可(沒有這個文件,就在對應路徑里創建即可)。
cat <<EOF | /etc/docker/daemon.json {"exec-opts": ["native.cgroupdriver=systemd"],"log-driver": "json-file","log-opts": {"max-size": "100m"},"storage-driver": "overlay2" } EOF然后執行 systemctl daemon-reload systemctl restart docker安裝kubeadm
# 添加yum源 cat <<EOF | sudo tee /etc/yum.repos.d/kubernetes.repo [kubernetes] name=Kubernetes baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64/ enabled=1 gpgcheck=1 repo_gpgcheck=0 gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg EOF # 安裝kubeadm、kubectl、kubelet yum install -y kubeadm-1.23.3-0 kubectl-1.23.3-0 kubelet-1.23.3-0 --disableexcludes=kubernetes完成安裝后,我們可以檢查下是不是對應的版本
kubeadm version kubectl version short然后為了保證k8s環境穩定,我們最好鎖定這三個應用的版本,這里會用到yum-plugin-versionlock
# 安裝 yum install -y yum-plugin-versionlock # 鎖定軟件包 yum versionlock add kubeadm kubectl kubelet # 查看鎖定列表 yum versionlock list下載k8s組件鏡像
這里能看到我們需要安裝的k8s集群組件都有哪些鏡像
kubeadm config images list --kubernetes-version v1.23.3下載組件鏡像
在worker和master上執行下面的shell腳本即可
repo=registry.aliyuncs.com/google_containersfor name in `kubeadm config images list --kubernetes-version v1.23.3`; dosrc_name=${name#k8s.gcr.io/}src_name=${src_name#coredns/}docker pull $repo/$src_namedocker tag $repo/$src_name $namedocker rmi $repo/$src_name done配置k8s的master節點
kubeadm init \ --apiserver-advertise-address=192.168.127.147 \ --kubernetes-version v1.23.3 \ --pod-network-cidr=10.10.0.0/16–pod-network-cidr,設置集群里 Pod 的 IP 地址段
–apiserver-advertise-address,設置 apiserver 的 IP 地址,指向master虛擬機的IP地址
–kubernetes-version,設置k8s的版本號
上述步驟完成后,我們還需要按照提示操作以下步驟
To start using your cluster, you need to run the following as a regular user:mkdir -p $HOME/.kubesudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/configsudo chown $(id -u):$(id -g) $HOME/.kube/config因為是root用戶,簡化一下就是
mkdir -p $HOME/.kube cp -i /etc/kubernetes/admin.conf $HOME/.kube/config還有一行配置是kubeadm join的提示,這條信息是工作節點加入集群需要用到的,里面的token具有時效性(24h),過期就要重新生成了。
kubeadm join 192.168.127.147:6443 --token nb8ydn.uyu1elj2146qhjg5 --discovery-token-ca-cert-hash sha256:1257ab57475d4d643ac81864827e8465e41d77e9abf38cd91e06292bd38a46c8如果過期了,這里有重新生成token的指令
kubeadm token create --print-join-command最后一步就是安裝Flannel網絡插件,保證集群內部的網絡正常運作。
我們可以在Flannel的 GitHub 倉庫里(https://github.com/flannel-io/flannel/)找到kube-flannel.yml文檔,修改net-conf.json為上面指定的集群內部IP網段即可,修改好后的文檔我就貼在文章中了。
kube-flannel.yml
然后咱們在集群中安裝下就可以了
# 安裝Flannel網絡插件 kubectl apply -f kube-flannel.yml # 通過 kubectl get node -w,實時查看master節點過會兒從NotReady變成Ready狀態 [root@master k8s-install]# kubectl get node -w NAME STATUS ROLES AGE VERSION master Ready control-plane,master 109m v1.23.3安裝worker節點
worker節點為了節省資源,我們需要的組件只有proxy、coredns、pause,其他的可以直接刪了。
# 查看下載的鏡像 docker images # 刪除鏡像命令 docker rmi然后執行上面那條kubeadm join的指令就可以了
kubeadm join 192.168.127.147:6443 --token nb8ydn.uyu1elj2146qhjg5 --discovery-token-ca-cert-hash sha256:1257ab57475d4d643ac81864827e8465e41d77e9abf38cd91e06292bd38a46c8在master節點上,我們可以通過kubectl get node來查看現在集群中有幾個節點
[root@master k8s-install]# kubectl get node NAME STATUS ROLES AGE VERSION master Ready control-plane,master 109m v1.23.3 worker Ready <none> 70m v1.23.3安裝console節點
Console 節點的部署工作更加簡單,它只需要安裝一個 kubectl,然后復制“config”文件就行,直接在 Master 節點上用“scp”遠程拷貝。
scp `which kubectl` root@192.168.127.149:~/ # worker節點的.kube目錄要先創建一下,mkdir -p $HOME/.kube scp ~/.kube/config root@192.168.127.149:~/.kube然后在worker節點上,把kubectl放在/usr/bin目錄下即可
拷貝到PATH路徑之下 cp kubectl /usr/bin/ # 查看集群狀態 [root@console ~]# kubectl get node NAME STATUS ROLES AGE VERSION master Ready control-plane,master 117m v1.23.3 worker Ready <none> 78m v1.23.3結束
到這一步,恭喜~我們的k8s集群就搭建完了!
喜歡的話,就點個收藏吧~~
參考:
https://blog.csdn.net/weixin_43918125/article/details/125951616
https://www.csdn.net/tags/NtTaYg3sMDU0MjQtYmxvZwO0O0OO0O0O.html
https://blog.csdn.net/omaidb/article/details/121549382
https://blog.51cto.com/u_15127640/4108989
https://www.cnblogs.com/PurpleRain98/p/14837802.html
總結
以上是生活随笔為你收集整理的手把手教你在centos7安装k8s集群的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: matlab代码:计及碳捕集电厂低碳特性
- 下一篇: 在windows10更新声卡的情况下解决