1. 安裝KubeSpheredocker
安裝了一晚上,終於看到了期待已久的畫面後端
第一步、硬件配置(PS:VirtualBox虛擬機):服務器
操做系統:Ubuntu 18.04 負載均衡
CPU:4核curl
內存:8Gtcp
磁盤:60G 工具
第二步、下載安裝包單元測試
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
第三步、修改conf/common.yaml測試
主要是配置鏡像加速,以及啓用一些插件ui
docker_registry_mirrors: - https://xxx.mirror.aliyuncs.com - https://docker.mirrors.ustc.edu.cn - https://registry.docker-cn.com - https://mirror.aliyuncs.com
個人改動以下:
最後,配置防火牆須要開放的端口
我這裏直接把防火牆關了
~/kubesphere-all-v2.1.1/scripts/install.sh
順利的話,幾個小時就成功了,嘿嘿~
若是不順利的話,請把文檔反覆仔細閱讀三遍
https://kubesphere.io/docs/zh-CN/installation/intro/
https://kubesphere.io/docs/zh-CN/installation/port-firewall/
https://kubesphere.io/docs/zh-CN/installation/pluggable-components/
https://kubesphere.io/docs/zh-CN/installation/install-devops/
https://kubesphere.io/docs/zh-CN/installation/all-in-one/
https://kubesphere.io/docs/zh-CN/installation/verify-components/
https://kubesphere.io/docs/zh-CN/installation/install-grafana/
。。。。。。
當我揹着電腦到公司之後,我忽然意識到一個問題,那就是ip變了
因而我嘗試重啓了一些機器,而後從新執行./install.sh
老是失敗,報什麼「etcd cluster is unavailable or misconfigured; error #1: dial tcp 127.0.0.1:4001: getsockopt: connection refused」
Error: client: etcd cluster is unavailable or misconfigured; error #0: dial tcp 10.0.28.43:2379: getsockopt: connection refused error #0: dial tcp 10.0.28.43:2379: getsockopt: connection refused
網上各類查,沒找到解決方法
後來,無心中,我發現先uninstall.sh一下,再install.sh一下就行了
~/kubesphere-all-v2.1.1/scripts/uninstall.sh
~/kubesphere-all-v2.1.1/scripts/install.sh
我想,若是再不行的話,就刪除虛擬機,重裝系統,而後從新安裝KubeSphere
啊哈,終於又安裝成功了
訪問Grafana
https://kubesphere.io/docs/zh-CN/installation/install-grafana/
默認帳號密碼是admin/admin,登陸後密碼改成admin123
2. 從入門到放棄
2.1. 多租戶管理
目前,平臺的資源一共有三個層級,包括 集羣 (Cluster)、 企業空間 (Workspace)、 項目 (Project) 和 DevOps Project (DevOps 工程),層級關係以下圖所示,即一個集羣中能夠建立多個企業空間,而每一個企業空間,能夠建立多個項目和 DevOps工程,而集羣、企業空間、項目和 DevOps工程中,默認有多個不一樣的內置角色。
內置了三個角色:
集羣管理員
操做步驟:
(1)建立users-manager角色,用於管理帳戶和角色;
(2)建立user-manager帳號,角色選擇users-manager;
(3)用user-manager登陸,建立ws-manager、ws-admin、project-admin、project-regular四個帳號;
企業空間管理員
企業空間 (workspace) 是 KubeSphere 實現多租戶模式的基礎,是用戶管理項目、DevOps 工程和企業成員的基本單位。
操做步驟:
(1)用ws-manager帳號登陸,建立名爲demo-workspace的企業空間,並指定ws-admin用戶爲管理員;
(2)用ws-admin帳號登陸,邀請project-admin和project-regular進入企業空間,且分別授予workspace-regular和workspace-viewer的角色;
項目和 DevOps 工程管理員
建立工做負載、服務和 CI/CD 流水線等資源以前,須要預先建立項目和 DevOps 工程。
操做步驟:
(1)用project-admin帳號登陸 KubeSphere,默認進入 demo-workspace 企業空間下,建立資源型項目demo-project;
(2)邀請project-regular用戶進入該企業空間下的項目demo-project,角色選擇operator;
設置外網訪問
在建立應用路由以前,須要先啓用外網訪問入口,即網關。這一步是建立對應的應用路由控制器,負責接收項目外部進入的流量,並將請求轉發到對應的後端服務。
默認 NodePort 便可
2.2. 應用路由
KubeSphere 在項目中爲用戶項目內置了一個全局的負載均衡器,即應用路由控制器 (Ingress Controller),爲了代理不一樣後端服務 (Service) 而設置的負載均衡服務,用戶訪問 URL 時,應用路由控制器能夠把請求轉發給不一樣的後端服務。
Kubernetes Ingress 官方提供了這樣一個例子:對於 https://cafe.example.com,若是訪問 https://cafe.example.com/coffee則返回 「咖啡點餐系統」,若是訪問 https://cafe.example.com/tea,則返回 「茶水點餐系統」。這兩個系統分別由後端的 coffee 和 tea 這兩個部署 (Deployment) 來提供服務。
分別建立tea和coffee兩個服務
建立TLS證書祕鑰
建立應用路由
因爲沒有DNS服務器,所以仍是選擇自動生成的域名吧,刪除後從新配置一個
2.3. 建立簡單任務
2.4. 配置中心
https://kubesphere.io/docs/zh-CN/configuration/secrets/
https://kubesphere.io/docs/zh-CN/configuration/image-registry/
密鑰 (Secret) 解決了密碼、token、密鑰等敏感數據的配置問題,配置密鑰後不須要把這些敏感數據暴露到鏡像或者工做負載 (Pod) 的 Spec 中。密鑰能夠在建立工做負載時以存儲卷或者環境變量的方式使用。
爲了演示,再建一個項目s2i-test
2.5. Source-to-image
Source-to-image (S2I) 是一個容許用戶直接輸入源代碼而後打包成可運行程序到 Docker 鏡像的工具,在用戶不須要了解 Dockerfile 的狀況下方便構建鏡像。它是經過將源代碼放入一個負責編譯源代碼的 Builder image 中,自動將編譯後的代碼打包成 Docker 鏡像。在 KubeSphere 中支持 S2I 構建鏡像,也支持以建立服務的形式,一鍵將源代碼生成鏡像推送到倉庫,並建立其部署 (Deployment) 和服務 (Service) 最終自動發佈到 Kubernetes 中。
------------------------------華麗的分割線----------------------------
因爲電腦又揹回家了,因此,又得從新uninstall.sh和install.sh
今天,接着來~~~
訪問GitHub和鏡像倉庫都是須要帳號密碼的,所以,提早先建立好密鑰
鏡像倉庫用的阿里雲
建立示例項目
2.6. 圖形化構建流水線
https://kubesphere.io/docs/zh-CN/quick-start/jenkinsfile-out-of-scm/
使用圖形化構建流水線(Jenkinsfile out of SCM),代碼倉庫中能夠沒有 Jenkinsfile,你能夠在控制檯經過可視化的方式構建流水線或編輯 Jenkinsfile 生成流水線,操做界面更友好。
構建可視化流水線共包含如下 6 個階段 (stage),先經過一個流程圖簡單說明一下整個流水線的工做流:
詳細說明每一個階段所執行的任務:
建立憑證
建立流水線
最後,因爲是從私有倉庫中拉取鏡像,能夠將KubernetesDeploy配置到憑證中,就像前面push同樣
3. DevOps工程
https://kubesphere.io/docs/zh-CN/devops/intro/
https://kubesphere.io/docs/zh-CN/quick-start/jenkinsfile-out-of-scm/
https://kubesphere.io/docs/zh-CN/system-settings/push-img-harbor/