KubeSphere 是在 Kubernetes 之上構建的以應用爲中心的多租戶容器平臺,提供全棧的 IT 自動化運維的能力,簡化企業的 DevOps 工作流。KubeSphere 提供了運維友好的嚮導式操作界面,幫助企業快速構建一個強大和功能豐富的容器雲平臺。
KubeSphere 願景是打造一個以 Kubernetes 爲內核的雲原生分佈式操作系統,它的架構可以非常方便地使第三方應用與雲原生生態組件進行即插即用(plug-and-play)的集成,支持雲原生應用在多雲與多集羣的統一分發和運維管理。
官方網址:https://kubesphere.com.cn/
官方提供了2種安裝的方式,1是在k8s上安裝KubeSphere ,2是基於Liunx操作系統(比如centos)直接安裝。
今天就來講解下第2種,也就是在幾臺Linux裸機上安裝一個KubeSphere集羣環境。
官方教程:https://kubesphere.com.cn/docs/installing-on-linux/introduction/multioverview/
一、準備 Linux 主機
我的幾臺主機配置如下:
序號 | 主機名 | IP | 說明 |
1 | ks-201 | 192.168.157.201 | 主節點 |
2 | ks-202 | 192.168.157.202 | 從節點 |
3 | ks-203 | 192.168.157.203 | 從節點 |
二、安裝nfs-client
需要安裝一個存儲的文件系統,我們使用NFS。步驟如下:
1、安裝nfs服務,我們一般在主節點上安裝NFS服務端
(1)在3臺機器安裝:
yum install -y nfs-utils
(2)在主節點執行以下命令 ,也就是在/etc/exports裏添加一行記錄。 (ks-201)
echo "/nfs/data/ *(insecure,rw,sync,no_root_squash)" > /etc/exports
*星號表示可以由任意的客戶端掛載共享目錄。
/nfs/data/作爲共享目錄。
(3)在master節點創建共享目錄
mkdir -p /nfs/data
(4)master節點啓動nfs
exportfs -arv
service nfs start
#設置成開機自啓動
systemctl enable nfs
#查看 nfs 是否啓動成功
systemctl status nfs
說明nfs服務成功了。
或者 檢查配置是否生效的命令:
exportfs
2、安裝 NFS Client
創建一個配置文件nfs-client.yaml
mkdir myyaml
cd myyaml
vi nfs-client.yaml
內容如下:
nfs: server: "192.168.157.201" # This is the server IP address. Replace it with your own. path: "/nfs/data" # Replace the exported directory with your own. storageClass: defaultClass: true
這裏是nfs服務端的配置信息,
server爲nfs服務端的IP,
path爲nfs的共享目錄,
defaultClass 是否爲默認的文件存儲,我們這裏設置爲true。
記住這個nfs-client.yaml文件的目錄地址即可。
三、開始安裝KubeSphere
1、下載 KubeKey
在主節點上執行如下命令
export KKZONE=cn
curl -sfL https://get-kk.kubesphere.io | VERSION=v1.2.1 sh -
2、創建示例配置文件
./kk create config --with-kubernetes v1.21.5 --with-kubesphere v3.2.1
這裏選擇是的k8s爲 1.21.5,kubesphere爲3.2.1 。執行完畢後,會有一個config-sample.yaml文件。
3、修改配置文件 config-sample.yaml
我們只需要修改3個地方,
(1)、將我們的3臺主機信息填寫完整,主機名,ip,賬號和密碼,記得格式一定要正確。
(2)、etcd,master和worker的信息。
(3)、nfs的配置,內容如下:
addons: - name: nfs-client namespace: kube-system sources: chart: name: nfs-client-provisioner repo: 'https://charts.kubesphere.io/main' valuesFile: /root/myyaml/nfs-client.yaml
其他東西都不需要動。網上說要安裝一些插件啥的,我們一般在將kubesphere安裝完畢後再安裝。這樣的好處是儘量保證主程序安裝正確,並且能在短時間完成。
4. 使用配置文件創建集羣
./kk create cluster -f config-sample.yaml
若這裏有提示缺少組件,比如 conntrack,則用yum好後,在執行一次即可。
點擊yes後,就自動安裝kubesphere了。大概要等10-20分鐘,看網絡情況。
到這個界面,說明已經安裝成功了。有網址,賬號,密碼。
還可以執行命令,看下安裝日誌:
kubectl logs -n kubesphere-system $(kubectl get pod -n kubesphere-system -l app=ks-install -o jsonpath='{.items[0].metadata.name}') -f
我們再看下所有Pods是否已經全部執行成功。
kubectl get pods -A
都成功了。說明安裝沒有問題。
然後我們就可以登錄後臺了。
http://192.168.157.201:30880/login