Kubernetes可視化界面kubesphere


# Kubernetes可視化界面kubesphere

前言

Kubernetes也提供了默認的dashboard頁面,但是功能不是很強大,這里就不使用了

而是采用Kubesphere大桶全部的devops鏈路,通過kubesphere集成了很多套件

簡介

KubeSphere是一款面向雲原生設計的開源項目,在目前主流容器調度平台Kubernetes之上構建的分布式多租戶容器管理平台,提供簡單易用的操作界面以及向導式操作方式,在降低用戶使用容器調度平台學習成本的同時,極大降低開發、測試、運維的日常工作的復雜度。

安裝

前提條件

https://kubesphere.com.cn/docs/quick-start/minimal-kubesphere-on-k8s/

  • Kubernetes 版本必須為 “1.15.x,1.16.x,1.17.x 或 1.18.x”;
  • 確保您的計算機滿足最低硬件要求:CPU > 1 核,內存 > 2 G;
  • 在安裝之前,需要配置 Kubernetes 集群中的默認存儲類;
  • 當使用 --cluster-signing-cert-file--cluster-signing-key-file 參數啟動時,在 kube-apiserver 中會激活 CSR 簽名功能。 請參閱 RKE 安裝問題
  • 有關在 Kubernetes 上安裝 KubeSphere 的前提條件的詳細信息,請參閱前提條件

安裝helm

下面我們需要在 master 節點安裝 helm

Helm是Kubernetes的包管理器。包管理器類似於我們在 Ubuntu 中使用的 aptCentos 中使用的 yum 或者Python 中的 pip 一樣,能快速查找、下載和安裝軟件包。Helm由客戶端組件helm和服務端組件Tiller組成,能夠將一組K8S資源打包統一管理,是查找、共享和使用為Kubernetes構建的軟件的最佳方式。

安裝3.0的 helm 首先我們需要去 官網下載

  • 第一步,下載helm安裝壓縮文件,上傳到linux系統中
  • 第二步,解壓helm壓縮文件,把解壓后的helm目錄復制到 usr/bin 目錄中
  • 使用命令:helm

部署KubeSphere

安裝前

如果您的服務器無法訪問 GitHub,則可以分別復制 kubesphere-installer.yamlcluster-configuration.yaml 中的內容並將其粘貼到本地文件中。然后,您可以對本地文件使用 kubectl apply -f 來安裝 KubeSphere。

同時查看k8s集群的默認存儲類

kubectl get storageclass

image-20201123094120860

如果沒有默認存儲類,那么就需要安裝默認的存儲類,參考博客:Kubernetes配置默認存儲類

因為我安裝的是 nfs,所以在安裝了 nfs 服務器啟動

systemctl start nfs

開始安裝

如果無法正常訪問github,可以提前把文件下載到本地

kubectl apply -f https://github.com/kubesphere/ks-installer/releases/download/v3.0.0/kubesphere-installer.yaml

kubectl apply -f https://github.com/kubesphere/ks-installer/releases/download/v3.0.0/cluster-configuration.yaml

如果下載到了本地,可以這樣安裝

# 安裝
kubectl apply -f kubesphere-installer.yaml
kubectl apply -f cluster-configuration.yaml

# 卸載
kubectl delete -f kubesphere-installer.yaml
kubectl delete -f cluster-configuration.yaml

檢查安裝日志

kubectl logs -n kubesphere-system $(kubectl get pod -n kubesphere-system -l app=ks-install -o jsonpath='{.items[0].metadata.name}') -f

然后在查看pod運行狀況

kubectl get pod -n kubesphere-system

能夠發現,我們還有兩個容器正在創建

image-20210110104812804

使用 kubectl get pod --all-namespaces 查看所有 Pod 是否在 KubeSphere 的相關命名空間中正常運行。

kubectl get pods --all-namespaces

能夠發現所有的節點已經成功運行

image-20210113102423851

如果是,請通過以下命令檢查控制台的端口:

kubectl get svc/ks-console -n kubesphere-system

能夠看到我們的服務確保在安全組中打開了端口 30880,並通過 NodePort(IP:30880)

image-20201123152147871

使用默認帳戶和密碼(admin/P@88w0rd)訪問 Web 控制台。

# 圖形化頁面  admin  P@88w0rd
http://192.168.177.130:30880/

登錄控制台后,您可以在組件中檢查不同組件的狀態。如果要使用相關服務,可能需要等待某些組件啟動並運行。

components

錯誤排查

錯誤1

kubesphere無法登錄,提示 account is not active

image-20210110110018004

kubesphere 安裝完成后會創建默認賬戶admin/P@88w0rd,待ks-controller-manager啟動就緒,user controller 會將 user CRD中定義的password加密,user會被轉換為active狀態,至此賬戶才可以正常登錄。

當安裝完成后遇到默認賬戶無法登錄,看到account is not active相關錯誤提示時,需要檢查ks-controller-manager的運行狀態和日志。常見問題及解決方式如下:

kubectl -n kubesphere-system get ValidatingWebhookConfiguration users.iam.kubesphere.io -o yaml >> users.iam.kubesphere.io.yaml

kubectl -n kubesphere-system get secret ks-controller-manager-webhook-cert -o yaml >> ks-controller-manager-webhook-cert.yaml

# edit ca as pr
kubectl -n kubesphere-system apply -f ks-controller-manager-webhook-cert.yaml
kubectl -n kubesphere-system apply -f users.iam.kubesphere.io.yaml

# restart
kubectl -n kubesphere-system rollout restart deploy ks-controller-manager

來源:https://kubesphere.com.cn/forum/d/2217-account-is-not-active


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM