安裝 KubeSphere DevOps 系統

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.shinstall.sh

今天,接着來~~~

訪問GitHub和鏡像倉庫都是須要帳號密碼的,所以,提早先建立好密鑰

鏡像倉庫用的阿里雲

建立示例項目

2.6.  圖形化構建流水線

https://kubesphere.io/docs/zh-CN/quick-start/jenkinsfile-out-of-scm/

使用圖形化構建流水線(Jenkinsfile out of SCM),代碼倉庫中能夠沒有 Jenkinsfile,你能夠在控制檯經過可視化的方式構建流水線或編輯 Jenkinsfile 生成流水線,操做界面更友好。

構建可視化流水線共包含如下 6 個階段 (stage),先經過一個流程圖簡單說明一下整個流水線的工做流:

詳細說明每一個階段所執行的任務:

  • 階段一. Checkout SCM: 拉取 GitHub 倉庫代碼;
  • 階段二. Unit test: 單元測試,若是測試經過了才繼續下面的任務;
  • 階段三. Code Analysis: 配置 SonarQube 進行靜態代碼質量檢查與分析;
  • 階段四. Build and Push: 構建鏡像,並將 tag 爲 SNAPSHOT-$BUILD_NUMBER 推送至 DockerHub (其中 $BUILD_NUMBER 爲 pipeline 活動列表的運行序號);
  • 階段五. Artifacts: 製做製品 (jar 包) 並保存;
  • 階段六. Deploy to DEV: 將項目部署到 Dev 環境,此階段須要預先審覈,若部署成功後則發送郵件。

建立憑證

建立流水線

最後,因爲是從私有倉庫中拉取鏡像,能夠將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/ 

相關文章
相關標籤/搜索