安裝KubeSphere


1. KubeSphere 是什么

1.1. 官方解釋

KubeSphere是一個分布式操作系統,提供以Kubernetes為核心的雲原生堆棧,旨在成為第三方應用程序的即插即用架構,以促進其生態系統的發展。 KubeSphere還是一個多租戶企業級容器平台,具有全棧自動IT操作和簡化的DevOps工作流程。它提供了開發人員友好的向導Web UI,可幫助企業構建更健壯且功能豐富的平台,其中包括企業Kubernetes戰略所需的最常用功能,例如Kubernetes資源管理,DevOps(CI / CD),應用程序生命周期管理、監控、日志記錄、服務網格、多租戶、報警和通知,存儲和網絡、自動定量、訪問控制、GPU的支持等,以及多集群管理、網絡策略、注冊表管理,更多即將發布的安全增強特性。

KubeSphere提供了整合的視圖,同時圍繞Kubernetes集成了廣泛的生態系統工具,並提供一致的用戶體驗以降低復雜性,並開發了上游Kubernetes中尚不可用的新功能,以減輕Kubernetes的痛苦之處,包括存儲,網絡 ,安全性和易用性。 KubeSphere不僅允許開發人員和DevOps團隊在統一控制台中使用他們喜歡的工具,而且最重要的是,由於這些功能是可插拔和可選的,因此它們與平台松散地結合在一起。

Kubernetes平台,專為DevOps團隊量身定制

KubeSphere,以應用為中心的容器平台

極簡、易用、靈活、高效

關於KubeSphere,最好最全面最通俗易懂的一篇文章是《一文說清 KubeSphere 容器平台的價值

https://kubesphere.io/zh-CN/blog/kubesphere-values/

1.2. 個人理解

KubeSphere,這是國內唯一一個開源的Kubernetes(k8s)發行版,它的開源不涉及任何商業意圖,它不屬於青雲而屬於社區,它極大地降低了使用Kubernetes的門檻,它的出現將加速中國企業向雲原生邁進的步伐。

“發行版”的說法常用於Linux操作系統。比如,雖有Linux內核,而Ubuntu、CentOS等等叫做Linux發行版,對應的,Kubernetes就相當於內核,KubeSphere就是Kubernetes的發行版,正常人類是很難使用Linux內核和Kubenetes的,為了讓大家用起來,要基於Linux內核和Kubernetes做很多周邊配套,Linux和Kubenetes就好像一台光禿禿的汽車發動機,為了把它當車開,你起碼得有車架子、輪胎、方向盤、剎車、……等等。 

所以,開源KubeSphere的青雲就像一個汽車廠,負責KubeSphere牌汽車各個組件的組裝搭配,不過,這個汽車不需要花錢就能獲取到,這就是青雲開源KubeSphere的實質。它的意義在於加快了大家使用k8s發動機的進程,讓大家都能開上KubeSphere牌汽車。

雲原生能幫助企業做數字化轉型,幫助企業用數字化轉型獲取競爭力。而KubeSphere可以讓企業更快地上原生,開上汽車。

以上摘抄自https://tech.ifeng.com/c/7u6tUXwXbJU

我覺得,讀完以后,醍醐灌頂,茅塞頓開

我們使用Linux的各種發行版(比如:CentOS、Ubuntu等)與Linux內核交互,極大地降低了使用Linux的門檻,而且像Ubuntu還提供了特別漂亮的桌面版,圖像界面式的操作使用起來更方便。

我們當然可以使用CMD命令行窗口同Windows系統交互,所有在圖形界面上完成的操作都可以通過命令行完成,但是這種操作方式的門檻極高,不利於微軟推行Windows桌面操作系統。

同樣的,Kubenetes就相當於內核,而KubeSphere就相當於是Kubernetes的發行版。KubeSphere提供極簡體驗,向導式UI,極大的降低了使用Kubenetes的門檻。

記不住Kubenetes命令不要緊,不會寫Dockerfile也沒關系,使用KubeSphere圖像界面以后一起都變得簡單了,而且它是以應用為中心的,極大地解放了運維和開發人員的生產力。

KubeSphere就是Java編程界的Spring。想想看,用了Spring以后你不需要關心各種數據庫的連接,各種各樣的組件都幫你集成好了,拿來就用。KubeSphere也是一樣,開箱即用。

2. 安裝

就一條命令,挺簡單的,但是我裝了兩天兩夜。期間,虛擬機裝了好幾遍,KubeSphere也重裝了很多遍,一遍就是幾個小時……

話不多說,官方文檔(中/英文版)都寫的非常清楚,開始安裝

由於資源限制,我只能在虛擬機里裝,這里選擇All-in-One模式

首先,一定一定要看清楚系統要求,之前用CentOS沒裝成功,試了很多版本,最后老老實實用Ubuntu18.04

https://ubuntu.com/download/alternative-downloads

下載安裝包

 

curl -L https://kubesphere.io/download/stable/v2.1.1 > installer.tar.gz \
&& tar -zxf installer.tar.gz && cd kubesphere-all-v2.1.1/scripts

 

在安裝前一定一定要記得配置鏡像加速器 

例如阿里雲容器鏡像加速器服務 https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors 

docker_registry_mirrors:
  - https://docker.mirrors.ustc.edu.cn
  - https://registry.docker-cn.com
  - https://mirror.aliyuncs.com

~/kubesphere-all-v2.1.1/conf/common.yaml

執行./install.sh就等着吧(如果要重新安裝建議先執行./uninstall.sh)

安裝了兩天,終於看到期待已久的畫面了:

 

各種驗證

https://kubesphere.io/docs/installation/verify-components/

https://kubesphere.io/docs/zh-CN/installation/verify-components/

安裝完以后,一看資源占用情況,嚇一跳,果然只適合企業用戶

 

3. 遇到的問題

https://kubesphere.io/docs/troubleshooting/installation/

 

1、container in pod is not available

Error from server (BadRequest): container "installer" in pod "ks-installer-7d9fb945c7-6tnl9" is not available  

檢查安裝日志 ~/kubesphere-all-v2.1.1/logs

有一個非常好用的命令是  journalctl -xefu kubelet 

2、如何重啟 

 

3、如何重啟Kubernetes集群

我一直有個疑問,如果物理機或者Kubernetes的宿主機宕機或重啟以后Kubernetes集群會自動重啟嗎?如果掛的是master所在的機器,很顯然是不會的, 但如果是非master的節點的話不知道沒試過。所以,Kubernetes集群的高可用就非常重要了。

https://kubernetes.io/docs/setup/production-environment/tools/kubeadm/high-availability/

https://kubernetes.io/docs/concepts/workloads/controllers/replicationcontroller/ 

ReplicationController確保在任何時候都運行指定數量的pod副本。換句話說,ReplicationController確保一個pod或一組同類的pod總是處於可用狀態。 

我忽略了Kubernetes有很強的自愈能力

自愈(自我修復):重新啟動失敗的容器,在節點死亡時替換和重新調度容器,殺死那些不響應用戶定義的健康檢查的容器,並且在它們准備好提供服務之前不會向客戶端通知它們。

在后面安裝KubeSphere可插拔的功能組件時,更改common.yaml配置文件后,不需要做什么操作,過一會兒會自動更新容器以應用這些改變。 

 

備忘錄

kubectl get pods --all-namespaces
kubectl get pod -n <namespace>
kubectl logs <pod_name> -n <namespace>

kubectl delete pod <pod_name> -n <namespace>

# 查詢systemd日志
journalctl -xefu kubelet

kubectl get services
kubectl get deployments

kubectl cluster-info

4. 文檔

https://kubesphere.io/docs/installation/intro/ 

https://kubesphere.io/docs/zh-CN 

https://kubesphere.io/docs/zh-CN/installation/intro/ 

https://kubesphere.io/zh-CN/blogs/

https://kubesphere.io/zh-CN/blog/kubesphere-values/

https://kubesphere.io/docs/zh-CN/introduction/what-is-kubesphere/

https://www.kubernetes.org.cn/author/kubesphere 


免責聲明!

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



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