實操教程丨如何將一個k3s集群集成到Gitlab項目中-創新互聯

關于k3s

K3s是由Rancher Labs發布的一個輕量級Kubernetes發行版,這款產品專為在資源有限的環境中運行Kubernetes的研發和運維人員設計。

創新互聯是一家專業提供秀山土家族苗族企業網站建設,專注與網站設計制作、網站制作、H5開發、小程序制作等業務。10年已為秀山土家族苗族眾多企業、政府機構等服務。創新互聯專業網絡公司優惠進行中。

它是經過認證的Kubernetes發行版,其最低的系統要求為:

  • 系統內核版本:Linux 3.10+

  • 每個Server最低RAM要求:512 MB

  • 每個節點RAM最低要求:75MB

  • 磁盤空間最低要求:200 MB

  • 支持的硬件架構:x86_64、 ARMv7、 ARM64

這些低配置的要求使得k3s非常適用于IoT相關的場景。

在GitLab中創建項目

在安裝k3s之前,我們先在Gitlab上創建一個新的項目,稱為api。

實操教程丨如何將一個k3s集群集成到Gitlab項目中

創建完成之后,我們點擊側邊菜單欄里的Operations,并在下級菜單中選擇Kubernetes。

實操教程丨如何將一個k3s集群集成到Gitlab項目中

我們現在有兩個選項:

  • 在GKE上創建一個新的Kubernetes集群

  • 導入現有Kubernetes 集群的配置(無論這一集群在何處創建均可導入)

注意:在當前版本的GitLab中,新集群的創建僅限于GKE。

實操教程丨如何將一個k3s集群集成到Gitlab項目中

我們選擇【Add existing cluster】這一選項卡。

實操教程丨如何將一個k3s集群集成到Gitlab項目中

在這一步中,我們需要填寫幾個字段來提供我們需要集成的集群配置。一直打開這個選項卡,暫時無需理會。現在,我們先去創建一個全新的Kubernetes集群。

創建一個k3s集群

我們現在將基于k3s啟動一個Kubernetes集群。為什么是k3s呢?因為我想要表明設置它是多么容易。為了讓步驟一目了然,我們僅僅設置一個節點的集群。

我已經配置了名為node1的Ubuntu 18.04服務器,我們在該主機上獲得了一個shell之后,只需要運行以下命令來安裝k3s,這是一個經過認證的Kubernetes集群。

root@node1:~?$?curl?-sfL?https://get.k3s.io?|?sh?-

上面的命令類似于用于快速Docker安裝的命令:

curl?https://get.docker.com?|?sh

安裝完畢之后,可以在/etc/rancher/k3s/k3s.yaml中找到連接到集群的配置文件。

root@node1:~?$?cat?/etc/rancher/k3s/k3s.yaml apiVersion:?v1 clusters: -?cluster: ????certificate-authority-data:?LS0tL...tCg== ????server:?https://localhost:6443 ??name:?default contexts: -?context: ????cluster:?default ????user:?default ??name:?default current-context:?default kind:?Config preferences:?{} users: -?name:?default ??user: ????password:?48f4b...4b4e7 ????username:?admin

本地kubectl將自動使用此配置。

$?kubectl?get?nodes NAME????STATUS?ROLES??AGE?VERSION node1???Ready??master?3m??v1.14.5-k3s.1

注意:正如我們看到的Quick Start那樣(https://k3s.io/),添加額外的節點并不復雜,它基本上只需要從主服務器上的/var/lib/rancher/k3s/server/node-token獲取一個令牌,并使用以下命令即可連接其他一些節點:

$?curl?-sfL?https://get.k3s.io?|?K3S_URL=https://myserver:6443?K3S_TOKEN=XXX?sh?-

在Gitlab中集成

現在讓我們獲取在Gitlab項目中集成全新的k3s集群所需的所有信息。

  • 集群名字:k3s

  • API Server的URL:在配置文件中,API Server指定為:https://localhost:6443 。為了從外部訪問,我們需要提供node1 外部的IP地址。

  • 集群的CA證書:要向Gitlab提供集群CA證書,我們需要解碼配置中指定的那個文件(就像它在base 64中一樣)。

$?kubectl?config?view?--raw?\ -o=jsonpath='{.clusters[0].cluster.certificate-authority-data}'?\ |?base64?--decode

  • Service token

獲取一個識別令牌的過程牽涉到幾個步驟。我們首先需要創建一個ServiceAccount并且向它提供一個cluster-admin角色。以下命令可以完成這些步驟:

$?cat?<<EOF?|?kubectl?apply?-f?- apiVersion:?v1 kind:?ServiceAccount metadata: ??name:?gitlab-admin ??namespace:?kube-system --- apiVersion:?rbac.authorization.k8s.io/v1beta1 kind:?ClusterRoleBinding metadata: ??name:?gitlab-admin roleRef: ??apiGroup:?rbac.authorization.k8s.io ??kind:?ClusterRole ??name:?cluster-admin subjects: -?kind:?ServiceAccount ??name:?gitlab-admin ??namespace:?kube-system EOF

當service account創建完畢之后,我們檢索關聯的類型secret的資源:

$?SECRET=$(kubectl?-n?kube-system?get?secret?|?grep?gitlab-admin?|?awk?'{print?$1}')

下一步是提取與secret關聯的JWT令牌:

$?TOKEN=$(kubectl?-n?kube-system?get?secret?$SECRET?-o?jsonpath='{.data.token}'?|?base64?--decode) $?echo?$TOKEN

我們已經完成了所有設置,現在回到之前打開的選項卡中,開始使用所有信息并填寫Gitlab 【Add existing cluster 】表單的字段:

實操教程丨如何將一個k3s集群集成到Gitlab項目中

集群集成之后,我們可以直接從web界面安裝helm(Kubernetes包管理器)。

實操教程丨如何將一個k3s集群集成到Gitlab項目中

實操教程丨如何將一個k3s集群集成到Gitlab項目中

現在,我們可以從命令行檢查tiller 守護程序(helm的服務器端組件)是否運行。

$?kubectl?get?deploy?--all-namespaces?|?grep?tiller NAMESPACE???????????NAME??????????READY?UP-TO-DATE?AVAILABLE?AGE gitlab-managed-apps?tiller-deploy?1/1???1??????????1?????????67s

集群現在已經可以使用了。除此之外,GitLab的Web界面允許一鍵安裝其他組件:

  • Ingress Controller,暴露集群中運行的服務

  • Cert-Manager,使用Let's Encrypt管理TLS證書

  • Prometheus,監控運行在集群中 的應用程序

  • Knative,部署Serverless工作負載

實操教程丨如何將一個k3s集群集成到Gitlab項目中

總?結

在本文中,我們了解如何創建一個k3s集群并且將其集成到一個Gitlab項目中。當然,任何Kubernetes集群都可以使用相同的過程。

我們現在可以添加各種資源到項目中:

  • 源代碼

  • Dockerfile,指定如何從代碼中創建Docker鏡像

  • Kubernetes資源,如部署、服務……

  • .gitlab-ci.yaml文件,定義CI流水線以及如何部署應用程序并且針對相關Kubernetes集群進行測試

另外有需要云服務器可以了解下創新互聯cdcxhl.cn,海內外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業上云的綜合解決方案,具有“安全穩定、簡單易用、服務可用性高、性價比高”等特點與優勢,專為企業上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。

文章名稱:實操教程丨如何將一個k3s集群集成到Gitlab項目中-創新互聯
分享網址:http://m.kartarina.com/article26/ccghjg.html

成都網站建設公司_創新互聯,為您提供外貿網站建設全網營銷推廣網站策劃面包屑導航企業建站自適應網站

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

外貿網站建設
主站蜘蛛池模板: 国产成人无码aa精品一区| 黑人巨大无码中文字幕无码| 亚洲国产精品无码久久一线| 亚洲AV无码国产精品色午友在线| 国产AV无码专区亚洲AV毛网站 | 亚洲av无码成人精品区一本二本 | 亚洲av福利无码无一区二区| av大片在线无码免费| 免费VA在线观看无码| 日木av无码专区亚洲av毛片| 国产亚洲精品无码拍拍拍色欲| 亚洲日韩精品无码专区加勒比☆| 中文字幕久久精品无码| 无码专区6080yy国产电影| 久久久久无码精品国产| 国产v亚洲v天堂无码网站| 亚洲AV中文无码乱人伦在线视色| 久久久久亚洲AV无码专区首JN| 中文字幕乱码人妻无码久久| HEYZO无码综合国产精品| 国产精品白浆无码流出| 亚洲中文字幕无码中文| 精品无码久久久久国产动漫3d| 亚洲国产精品无码专区在线观看| 精品无码一级毛片免费视频观看| 亚洲国产成人精品无码区二本| 人妻无码一区二区三区AV| 亚洲AV无码专区国产乱码电影| 亚洲人成人无码网www电影首页 | 中文字幕av无码一二三区电影| 国产精品无码AV一区二区三区 | 国产精品VA在线观看无码不卡| 免费无码又爽又刺激毛片| 亚洲精品天堂无码中文字幕 | 无码人妻精品一区二区在线视频| 亚洲日韩精品A∨片无码| 国产AV无码专区亚洲AV手机麻豆| 国产aⅴ无码专区亚洲av麻豆| 亚洲熟妇无码乱子AV电影| 亚洲国产精品无码一线岛国| 蜜桃臀AV高潮无码|