<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          安裝 KubeSphere DevOps 系統(tǒng)

          共 5691字,需瀏覽 12分鐘

           ·

          2024-05-27 08:00

          1.  安裝KubeSphere

          安裝了一夜,終于看到了期待已久的畫(huà)面

          第一步、硬件配置(PS:VirtualBox虛擬機(jī)):

          操作系統(tǒng):Ubuntu 18.04

          CPU:4核

          內(nèi)存:8G

          磁盤(pán):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

          主要是配置鏡像加速,以及啟用一些插件

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

          我的改動(dòng)如下:

          最后,配置防火墻需要開(kāi)放的端口

          我這里直接把防火墻關(guān)了

          ~/kubesphere-all-v2.1.1/scripts/install.sh

          順利的話(huà),幾個(gè)小時(shí)就成功了,嘿嘿~

          如果不順利的話(huà),請(qǐng)把文檔反復(fù)仔細(xì)閱讀三遍

          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/

          。。。。。。

          當(dāng)我背著電腦到公司以后,我突然意識(shí)到一個(gè)問(wèn)題,那就是ip變了

          于是我嘗試重啟了一些機(jī)器,然后重新執(zhí)行./install.sh

          總是失敗,報(bào)什么“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

          網(wǎng)上各種查,沒(méi)找到解決方法

          后來(lái),無(wú)意中,我發(fā)現(xiàn)先uninstall.sh一下,再install.sh一下就好了

          ~/kubesphere-all-v2.1.1/scripts/uninstall.sh
          ~
          /kubesphere-all-v2.1.1/scripts/install.sh

          我想,如果再不行的話(huà),就刪除虛擬機(jī),重裝系統(tǒng),然后重新安裝KubeSphere

          啊哈,終于又安裝成功了

          訪(fǎng)問(wèn)Grafana

          https://kubesphere.io/docs/zh-CN/installation/install-grafana/ 

          默認(rèn)賬號(hào)密碼是admin/admin,登錄后密碼改為admin123 

          2.  從入門(mén)到放棄

          2.1.  多租戶(hù)管理

          目前,平臺(tái)的資源一共有三個(gè)層級(jí),包括 集群 (Cluster)、 企業(yè)空間 (Workspace)、 項(xiàng)目 (Project) 和 DevOps Project (DevOps 工程),層級(jí)關(guān)系如下圖所示,即一個(gè)集群中可以創(chuàng)建多個(gè)企業(yè)空間,而每個(gè)企業(yè)空間,可以創(chuàng)建多個(gè)項(xiàng)目和 DevOps工程,而集群、企業(yè)空間、項(xiàng)目和 DevOps工程中,默認(rèn)有多個(gè)不同的內(nèi)置角色。

          內(nèi)置了三個(gè)角色:

          集群管理員

          操作步驟:

          (1)創(chuàng)建users-manager角色,用于管理賬戶(hù)和角色;

          (2)創(chuàng)建user-manager賬號(hào),角色選擇users-manager;

          (3)用user-manager登錄,創(chuàng)建ws-manager、ws-admin、project-admin、project-regular四個(gè)賬號(hào);

          企業(yè)空間管理員

          企業(yè)空間 (workspace) 是 KubeSphere 實(shí)現(xiàn)多租戶(hù)模式的基礎(chǔ),是用戶(hù)管理項(xiàng)目、DevOps 工程和企業(yè)成員的基本單位。 

          操作步驟:

          (1)用ws-manager賬號(hào)登錄,創(chuàng)建名為demo-workspace的企業(yè)空間,并指定ws-admin用戶(hù)為管理員;

          (2)用ws-admin賬號(hào)登錄,邀請(qǐng)project-admin和project-regular進(jìn)入企業(yè)空間,且分別授予workspace-regular和workspace-viewer的角色;

          項(xiàng)目和 DevOps 工程管理員 

          創(chuàng)建工作負(fù)載、服務(wù)和 CI/CD 流水線(xiàn)等資源之前,需要預(yù)先創(chuàng)建項(xiàng)目和 DevOps 工程。 

          操作步驟:

          (1)用project-admin賬號(hào)登錄 KubeSphere,默認(rèn)進(jìn)入 demo-workspace 企業(yè)空間下,創(chuàng)建資源型項(xiàng)目demo-project;

          (2)邀請(qǐng)project-regular用戶(hù)進(jìn)入該企業(yè)空間下的項(xiàng)目demo-project,角色選擇operator;

          設(shè)置外網(wǎng)訪(fǎng)問(wèn)

          在創(chuàng)建應(yīng)用路由之前,需要先啟用外網(wǎng)訪(fǎng)問(wèn)入口,即網(wǎng)關(guān)。這一步是創(chuàng)建對(duì)應(yīng)的應(yīng)用路由控制器,負(fù)責(zé)接收項(xiàng)目外部進(jìn)入的流量,并將請(qǐng)求轉(zhuǎn)發(fā)到對(duì)應(yīng)的后端服務(wù)。

          默認(rèn) NodePort 即可

          2.2.  應(yīng)用路由

          KubeSphere 在項(xiàng)目中為用戶(hù)項(xiàng)目?jī)?nèi)置了一個(gè)全局的負(fù)載均衡器,即應(yīng)用路由控制器 (Ingress Controller),為了代理不同后端服務(wù) (Service) 而設(shè)置的負(fù)載均衡服務(wù),用戶(hù)訪(fǎng)問(wèn) URL 時(shí),應(yīng)用路由控制器可以把請(qǐng)求轉(zhuǎn)發(fā)給不同的后端服務(wù)。

          Kubernetes Ingress 官方提供了這樣一個(gè)例子:對(duì)于 https://cafe.example.com,如果訪(fǎng)問(wèn) https://cafe.example.com/coffee則返回 “咖啡點(diǎn)餐系統(tǒng)”,如果訪(fǎng)問(wèn) https://cafe.example.com/tea,則返回 “茶水點(diǎn)餐系統(tǒng)”。這兩個(gè)系統(tǒng)分別由后端的 coffee 和 tea 這兩個(gè)部署 (Deployment) 來(lái)提供服務(wù)。

          分別創(chuàng)建tea和coffee兩個(gè)服務(wù)

          創(chuàng)建TLS證書(shū)秘鑰

          創(chuàng)建應(yīng)用路由

          由于沒(méi)有DNS服務(wù)器,因此還是選擇自動(dòng)生成的域名吧,刪除后重新配置一個(gè)

          2.3.  創(chuàng)建簡(jiǎn)單任務(wù)

          2.4.  配置中心

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

          https://kubesphere.io/docs/zh-CN/configuration/image-registry/

          密鑰 (Secret) 解決了密碼、token、密鑰等敏感數(shù)據(jù)的配置問(wèn)題,配置密鑰后不需要把這些敏感數(shù)據(jù)暴露到鏡像或者工作負(fù)載 (Pod) 的 Spec 中。密鑰可以在創(chuàng)建工作負(fù)載時(shí)以存儲(chǔ)卷或者環(huán)境變量的方式使用。

          為了演示,再建一個(gè)項(xiàng)目s2i-test

           

          2.5.  Source-to-image

          Source-to-image (S2I) 是一個(gè)允許用戶(hù)直接輸入源代碼然后打包成可運(yùn)行程序到 Docker 鏡像的工具,在用戶(hù)不需要了解 Dockerfile 的情況下方便構(gòu)建鏡像。它是通過(guò)將源代碼放入一個(gè)負(fù)責(zé)編譯源代碼的 Builder image 中,自動(dòng)將編譯后的代碼打包成 Docker 鏡像。在 KubeSphere 中支持 S2I 構(gòu)建鏡像,也支持以創(chuàng)建服務(wù)的形式,一鍵將源代碼生成鏡像推送到倉(cāng)庫(kù),并創(chuàng)建其部署 (Deployment) 和服務(wù) (Service) 最終自動(dòng)發(fā)布到 Kubernetes 中。 

          ------------------------------華麗的分割線(xiàn)----------------------------

          由于電腦又背回家了,所以,又得重新uninstall.shinstall.sh

          今天,接著來(lái)~~~

          訪(fǎng)問(wèn)GitHub和鏡像倉(cāng)庫(kù)都是需要賬號(hào)密碼的,因此,提前先創(chuàng)建好密鑰

          鏡像倉(cāng)庫(kù)用的阿里云

          創(chuàng)建示例項(xiàng)目

          2.6.  圖形化構(gòu)建流水線(xiàn)

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

          使用圖形化構(gòu)建流水線(xiàn)(Jenkinsfile out of SCM),代碼倉(cāng)庫(kù)中可以沒(méi)有 Jenkinsfile,你可以在控制臺(tái)通過(guò)可視化的方式構(gòu)建流水線(xiàn)或編輯 Jenkinsfile 生成流水線(xiàn),操作界面更友好。

          構(gòu)建可視化流水線(xiàn)共包含以下 6 個(gè)階段 (stage),先通過(guò)一個(gè)流程圖簡(jiǎn)單說(shuō)明一下整個(gè)流水線(xiàn)的工作流:

          詳細(xì)說(shuō)明每個(gè)階段所執(zhí)行的任務(wù):

          • 階段一. Checkout SCM: 拉取 GitHub 倉(cāng)庫(kù)代碼;

          • 階段二. Unit test: 單元測(cè)試,如果測(cè)試通過(guò)了才繼續(xù)下面的任務(wù);

          • 階段三. Code Analysis: 配置 SonarQube 進(jìn)行靜態(tài)代碼質(zhì)量檢查與分析;

          • 階段四. Build and Push: 構(gòu)建鏡像,并將 tag 為 SNAPSHOT-$BUILD_NUMBER 推送至 DockerHub (其中 $BUILD_NUMBER 為 pipeline 活動(dòng)列表的運(yùn)行序號(hào));

          • 階段五. Artifacts: 制作制品 (jar 包) 并保存;

          • 階段六. Deploy to DEV: 將項(xiàng)目部署到 Dev 環(huán)境,此階段需要預(yù)先審核,若部署成功后則發(fā)送郵件。

          創(chuàng)建憑證

          創(chuàng)建流水線(xiàn)

          最后,由于是從私有倉(cāng)庫(kù)中拉取鏡像,可以將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/ 

           


          鏈接:https://www.cnblogs.com/cjsblog/p/13100301.html

                                                                        (版權(quán)歸原作者所有,侵刪)

          瀏覽 50
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  肏屄网站视频 | 婷婷五月天在线播放 | 色在线视频网 | 爽好紧别夹喷水无码 | 日本一区视频在线观看 |