四款超強大易用的管理工具,助你輕松玩轉(zhuǎn) Kubernetes
相信不少同學對于 Kubernetes 已經(jīng)摩拳擦掌,作為當下最流行的服務運維平臺,這個盛名之下的龐大軟件到底怎么玩轉(zhuǎn)?
作為一個功能豐富、組件眾多的“云原生操作系統(tǒng)”,安裝和配置Kubernetes 的復雜性的確容易讓人望而卻步。不過,Kubernetes 社區(qū)經(jīng)過幾年的快速發(fā)展,已經(jīng)出現(xiàn)了不少頗為易用的安裝、部署工具,能夠幫助初學者和新用戶用最簡單的步驟上手 K8s。
接下來跟我一起嘗試用下面幾個非常易用的工具,開始自己的 Kubernetes 學習之旅吧~
1.MicroK8s
MicroK8s 是由Ubuntu推出的基于snap的包。在最新的 Ubuntu 系統(tǒng)下(20.04以上),可以直接使用 snap 命令快速安裝一個本地 Kubernetes 集群。
在 shell 中執(zhí)行如下命令:
- $ sudo snap install --classic microk8s
(如果系統(tǒng)沒有 snap 命令,可以通過 apt-get install snap 來安裝)
MicroK8s安裝完成以后,通過 sudo microk8s kubectl 命令來訪問集群:
- $ sudo microk8s kubectl get node
- NAME STATUS ROLES AGE VERSION
- ip-172-44-255-31 NotReady <none> 65s v1.20.2-34+350770ed07a558
MicroK8s 還集成了很多插件,比如 storage插件也可以通過 microk8s 命令來管理。例如:
- $ sudo microk8s enable storage ingress
如果想把多個節(jié)點加入同一個 Kubernetes 集群,可以使用sudo microk8s add-node 命令,然后根據(jù)提示進行操作。
2.K3S
K3S 是 Rancher 推出的一個高集成度的 Kubernetes 發(fā)行版,所有的組件都被打包在一個可執(zhí)行文件中,并且進行了輕量化。
K3S程序可以在這里下載:
https://github.com/rancher/k3s/releases/latest
把 K3S 文件下載到 /usr/local/bin 并且設為可執(zhí)行以后,就可以用一個命令啟動集群服務:
- $ sudo k3s server
訪問集群同樣是通過 K3S 命令:
- $ sudo k3s kubectl get node
如果要把多個主機加入一個集群,可以在另外的節(jié)點上執(zhí)行:
- $ sudo k3s agent –server https://$SERVER:6443 –token $TOKEN
其中$SERVER和$TOKEN要匹配第一臺主機的地址和 /var/lib/rancher/k3s/server/node-token 文件內(nèi)的令牌。
3.RKE
RKE的全稱是 Rancher Kubernetes Engine,也是由 Rancher開發(fā)和維護的Kubernetes發(fā)行版。跟偏重邊緣計算場景的 K3S 相比,RKE 更多面向傳統(tǒng)的數(shù)據(jù)中心生產(chǎn)環(huán)境,偏重集群化部署,且可定制性更強。
要安裝一個 RKE 的集群,可以從這里下載 RKE 程序:
https://github.com/rancher/rke/releases
然后使用 rke config --name cluster.yml 創(chuàng)建一個新的集群部署配置。
編輯 cluster.yml 文件,填充集群的主機列表和訪問方式等,同時還可以定制集群的初始化配置。
配置文件的一個片段如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 |
nodes: - address: 11.37.129.93 port: "22" internal_address: 10.1.4.245 role: - controlplane - worker - etcd - address: 4.103.57.64 port: "22" internal_address: 10.1.1.101 role: - worker |
然后執(zhí)行 rke up 命令,就會開始安裝。注意部署 RKE 的節(jié)點需要預先安裝Docker。
完成以后,當前目錄下出現(xiàn) kube_config_cluster.yml 文件,即可通過 kubectl命令來訪問集群:
- $ kubectl –kubeconfig kube_config_cluster.yml get node
4.KIND
Kind 是 Kubernetes-in-Docker 的縮寫。在安裝有 Docker 的主機上創(chuàng)建一個測試用的多節(jié)點Kubernetes集群非常容易,而且由于整個集群都在 Docker 的容器環(huán)境中運行,不會對主機環(huán)境和其它配置造成過多干擾。
kind 命令可以從這里下載:https://kind.sigs.k8s.io/
保存到 /usr/local/bin 以后,直接執(zhí)行 kind create cluster 就可以創(chuàng)建一個集群:
如果你想嘗試多節(jié)點的集群,也可以:
- $ cat > kind.config <<EOF
- kind: Cluster
- apiVersion: kind.x-k8s.io/v1alpha4
- # One control plane node and three "workers".
- nodes:
- - role: control-plane
- - role: worker
- - role: worker
- - role: worker
- EOF
- $ kind create cluster --config kind.config
命令完成后,系統(tǒng)中會出現(xiàn)幾個新的 Docker 容器。并且 $HOME/.kube/config 文件會自動更新,因而直接運行 kubectl get node 就可以訪問 kind 集群了。