使用rancher-2.5.5部署单节点kubernetes集群
rancher2.5.x發布,除了新的feature外,更加簡潔,體驗/研究/熟悉一下,方便后續的落地使用。感覺:太爽了
相關版本信息:
rancher:v2.5.5
helm3:v3.5.1
kubernetes:1.19.7
目錄:
(1).rancher部署并在rancher上創建kubernetes單節點集群
(2).宿主機接入kubectl與helm3
1.部署helm3
2.部署kubectl
(3).相關參考
(1).rancher部署并在rancher上創建kubernetes單節點集群
rancher從2.5.5開始使用rancher/rancher的鏡像名稱。
docker pull rancher/rancher:v2.5.5
在開發和測試環境中,運行單個 Docker 容器安裝 Rancher。
與 2.4.x 或之前的版本相比,使用docker run命令安裝 Rancher 2.5.x 時,需要添加--privileged標志變量,啟用特權模式安裝 Rancher。
docker run -d --restart=unless-stopped \
-p 81:80 -p 444:443 \
--privileged \
rancher/rancher:v2.5.5
注意要使用宿主機的81,444端口,避免和后續安裝的ingress-nginx發生端口沖突。
然后瀏覽器中訪問:
https://ip:444
第一次訪問需要設置admin密碼。設置后進入下一步:
提示v2.5的新變化:
主界面:忽略名為local的cluster name,目前還沒有使用rancher創建k8s集群。
現在開始創建一個k8s單節點集群,點擊“Add Cluster”:
選擇創建一個新集群:
除集群名稱外都保留默認值:
另外,要記住這個版本號,我們之后要下載這個版本的kubectl:
注意最后的那行命令,需要在k8s的work節點上執行,這樣才能將k8s的節點納入到rancher管理;
一個master節點至少要有etcd和control,如果你打算創建一個單節點集群,需要選擇所有3個角色并更改命令:
回到主界面:
注意此時再點擊集群進入,你會看到etcd和control plane是未勾選狀態:
然后在節點執行如下命令,rancher就會通過RKE在這個節點部署kubernetes:
sudo docker run -d --privileged --restart=unless-stopped --net=host -v /etc/kubernetes:/etc/kubernetes -v /var/run:/var/run rancher/rancher-agent:v2.5.5 --server https://192.168.111.31 --token hh288bh6w5tgcch484tkr6wpz66xmgxw8n5qd7xbpgschc945cfd28 --ca-checksum e30e6c39cec618f2c913e50e4592d71b8186d15c246c0f4ba615524a9c522632 --etcd --controlplane --worker
需要一些時間,稍等即可。
安裝過程中的主界面變化:
、
至此,完成rancher搭建kubernetes單節點集群。
關于RKE:
RKE是一個用Golang編寫的Kubernetes安裝程序,極為簡單易用,用戶不再需要做大量的準備工作,即可擁有閃電般快速的Kubernetes安裝部署體驗。
RKE是一款經過CNCF認證的開源Kubernetes發行版,可以在Docker容器內運行。它通過刪除大部分主機依賴項,并為部署、升級和回滾提供一個穩定的路徑,從而解決了Kubernetes最常見的安裝復雜性問題。
(2).宿主機接入kubectl與helm3
1.部署helm3
https://github.com/helm/helm/releases
wget https://get.helm.sh/helm-v3.5.1-linux-amd64.tar.gz
解壓后將helm拷貝到/usr/local/bin
helm version驗證是否work:
2.部署kubectl
參見文檔:
Install and Set Up kubectl
https://kubernetes.io/docs/tasks/tools/install-kubectl/
選擇匹配集群的kubectl版本:
curl -LO https://dl.k8s.io/release/v1.19.7/bin/linux/amd64/kubectl
下載后賦權后移動至/usr/local/bin
chmod 755 kubectl
驗證:kubectl version
獲取rancher搭建的kubernetes集群的kube-config文件:
將kube-config文件放到宿主機這個目錄位置:~/.kube/config
現在,通過在宿主機上執行kubectl相關命令,就可以對rancher搭建的kubernetes集群進行操作了。
kubectl get nodes
kubectl get pods --all-namespaces
注意上圖中,ingress-nginx的pod是創建失敗的,這是因為我們在創建rancher時使用的是80,443端口,而ingress-nginx也是使用的80,443端口,所以在創建ingress-nginx時發生了沖突而創建失敗。
總結
以上是生活随笔為你收集整理的使用rancher-2.5.5部署单节点kubernetes集群的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 单词助手(可联网)
- 下一篇: Python:通过SNMP协议获取H3C