溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

KubeSphere怎么安裝

發(fā)布時間:2021-12-13 15:18:03 來源:億速云 閱讀:352 作者:iii 欄目:云計算

這篇文章主要講解了“KubeSphere怎么安裝”,文中的講解內(nèi)容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“KubeSphere怎么安裝”吧!

1. 環(huán)境準備

當然,還有些同學可能會和我一樣有強迫癥,即使目前沒有現(xiàn)成的 Kubernetes 環(huán)境,我也不想讓 KubeSphere 給我來個全家桶,還是想自己搭建 k8s 集群,怎么辦,二進制部署好煩啊,像我這種菜鳥沒有半天搞不定,有沒有簡單快捷的方法,十分鐘就能建好集群?當然有,用 sealos 就好了,只需一條命令即可跨主機安裝所有依賴,不需要 ansible,不需要 ssh 登錄到其他機器,安裝之前需要做一些準備工作:

  • 所有節(jié)點安裝并啟動 docker

  • 下載 kubernetes 離線安裝包

  • 下載最新版本 sealos(目前穩(wěn)定版是 2.0.4)

我的機器規(guī)劃是這樣的:

HostnameIPRole
sealos-node1192.168.0.2master
sealos-node2192.168.0.3node
sealos-node3192.168.0.4node

安裝步驟分為以下幾步:

1、在 master 上執(zhí)行以下命令:

$ sealos init --master 192.168.0.2 \
  --node 192.168.0.3 \
  --node 192.168.0.4 \
  --user root \
  --passwd password \
  --version v1.14.5 \
  --pkg-url /root/kube1.14.5.tar.gz

2、沒有了。

真沒有了,如果想了解原理,請查看 sealos 的官方文檔。

下面就正式進入 KubeSphere 的安裝環(huán)節(jié)。

2. 安裝 KubeSphere

1、首先將 ks-installer 倉庫克隆到 master 節(jié)點上:

$ git clone https://github.com/kubesphere/ks-installer -b advanced-2.0.2

2、在 Kubernetes 集群中創(chuàng)建名為 kubesphere-systemkubesphere-monitoring-system 的 namespace。

KubeSphere怎么安裝

3、創(chuàng)建 Kubernetes 集群 CA 證書的 Secret。

> 注:按照當前集群 ca.crt 和 ca.key 證書路徑創(chuàng)建(Kubeadm 創(chuàng)建集群的證書路徑一般為 /etc/kubernetes/pki

$ kubectl -n kubesphere-system create secret generic kubesphere-ca  \
--from-file=ca.crt=/etc/kubernetes/pki/ca.crt  \
--from-file=ca.key=/etc/kubernetes/pki/ca.key

4、創(chuàng)建 etcd 的證書 Secret。

> 注:根據(jù)集群實際 etcd 證書位置創(chuàng)建;

  • 若 etcd 已經(jīng)配置過證書,則參考如下創(chuàng)建:

$ kubectl -n kubesphere-monitoring-system create secret generic kube-etcd-client-certs  \
--from-file=etcd-client-ca.crt=/etc/kubernetes/pki/etcd/ca.crt  \
--from-file=etcd-client.crt=/etc/kubernetes/pki/etcd/healthcheck-client.crt  \
--from-file=etcd-client.key=/etc/kubernetes/pki/etcd/healthcheck-client.key
  • 若 etcd 沒有配置證書,則創(chuàng)建空 Secret(以下命令適用于 Kubeadm 創(chuàng)建的 Kubernetes 集群環(huán)境):

$ kubectl -n kubesphere-monitoring-system create secret generic kube-etcd-client-certs

我這里是使用 sealos 搭建的集群,可以通過查看 etcd 的資源清單文件來獲取它的證書:

KubeSphere怎么安裝

5、修改部署文件

由于 KubeSphere 部署過程中涉及的組件非常多,安裝過程中會有很多莫名其妙的坑,你可能會遇到以下幾個問題:

**問題 1:**如果現(xiàn)有集群中已經(jīng)安裝有 metrics-server,需要在配置文件中將 metrics_server_enable 設(shè)置為 False。我的集群中沒有安裝這個組件,所以不用設(shè)為 False。

**問題 2:**在安裝過程中卡死在 Waitting for ks-sonarqube port to become open 部分,節(jié)點上通過 NodePort 已經(jīng)可以正常訪問 sonarqube ,該問題沒有解決,由于是一個不影響全局安裝的一個操作,所以同樣在配置文件中將 sonarqube_enable 設(shè)置為 False。

**問題 3:**如果當前的集群資源不是很足,可以臨時取消掉 istio 的安裝,后續(xù)再開啟 istio 的支持。

**問題 4:**KubeSphere 的組件默認情況下使用持久化存儲,需要確保集群中有一個默認的 StorageClass 資源對象,如果確實沒有,只是想臨時部署一個 demo,可以在配置文件中將 persistence 里面的 enable 設(shè)置為 false。

我最終用于安裝 KubeSphere 的配置文件如下:

KubeSphere怎么安裝

只需要修改 ConfigMap 的值即可,其中 kube_apiserver_host 就是現(xiàn)有集群的 APIServer 地址,etcd_endpoint_ips 就是 etcd 的所在節(jié)點 IP,默認端口為 2379,如果你是集群模式 etcd,這里可以填寫多個節(jié)點 IP,中間用 , 隔開,下面就是不需要安裝的組件設(shè)置為 False。

6、自定義 Docker 鏡像。

因為目前 ConfigMap 中不能禁用日志,所以只能強行修改 ansible playbook 了。進入 ks-installer 的根目錄,將 kubesphere.yaml 中的 ks-logging 刪除:

KubeSphere怎么安裝

然后修改 Dockerfile,將 Helm v2 替換為 Helm v3,原因你懂得,我可不想裝 tiller。修改后的 Dockerfile 內(nèi)容如下:

KubeSphere怎么安裝

最后重新構(gòu)建鏡像,將部署文件中 Deployment 的鏡像改為自定義的鏡像,就可以直接部署了:

$ kubectl apply -f deploy/kubesphere.yaml

$ kubectl -n kubesphere-system get pod
NAME                                     READY   STATUS      RESTARTS   AGE
ks-account-585846bd44-mt7ss              1/1     Running     0          3h9m
ks-apigateway-7d77cb9495-hxgz8           1/1     Running     0          3h9m
ks-apiserver-697c5f4859-dsbmm            1/1     Running     0          3h7m
ks-console-5b8fbf45c4-7hxrw              1/1     Running     0          3h8m
ks-console-5b8fbf45c4-hj4bj              1/1     Running     0          3h8m
ks-controller-manager-7497f6c944-4k8wd   1/1     Running     0          3h8m
ks-docs-65999c97c9-5f9z7                 1/1     Running     0          3h47m
kubesphere-installer-6j49s               0/1     Completed   0          3h20m
openldap-78df9f7b47-wvs5n                1/1     Running     0          3h48m
redis-99f5985b8-2d62q                    1/1     Running     0          3h48m

$ kubectl -n kubesphere-system get job
NAME                   COMPLETIONS   DURATION   AGE
kubesphere-installer   1/1           2m9s       3h20m

如果上面用于安裝的 Job 是完成狀態(tài)的話,證明 KubeSphere 已經(jīng)安裝成功了。

可以創(chuàng)建一個 IngressRoute 對象來訪問 KubeSphere:

KubeSphere怎么安裝

將域名信息加入本地電腦的 hosts 中,就可以在瀏覽器中訪問 KubeSphere 的 Dashboard 了。

KubeSphere怎么安裝

默認的集群管理員賬號為:

  • 用戶名:admin

  • 密碼:P@88w0rd

KubeSphere怎么安裝

感謝各位的閱讀,以上就是“KubeSphere怎么安裝”的內(nèi)容了,經(jīng)過本文的學習后,相信大家對KubeSphere怎么安裝這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關(guān)知識點的文章,歡迎關(guān)注!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI