91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

第五章 九析帶你玩轉 rancher - 流水線發布

發布時間:2020-05-28 17:05:07 來源:網絡 閱讀:1325 作者:九析 欄目:云計算

本系列文章:


第一章:九析帶你玩轉 rancher - 安裝篇

第二章:九析帶你玩轉 rancher - 導入集群篇

第三章:九析帶你玩轉 rancher - 集成 gitlab

第四章:九析帶你玩轉 rancher - 集成 harbor

第五章:九析帶你玩轉 rancher - 流水線發布

目錄

1 前言

2 設置流水線

????2.1 關聯代碼庫

????????2.1.1 指定項目空間

????????2.1.2 設置代碼庫

????2.2 關聯鏡像庫

????2.3 全局流水線設置

????2.4 項目空間流水線設置

3 執行流水線

4 流水線成功執行


1 前言

????????本文是在上章《九析帶你玩轉 rancher - 集成 gitlab》的基礎上進行配置的,所以在發布 rancher 流水線前,需確保 rancher 和 gitlab 已經關聯。

流水線是 DevOps 的實現,它提供非常友好的界面 UI,使開發人員僅僅通過鼠標,就可以完成整個微服務的發布上線。在 rancher 中,一個微服務就對應一條流水線。


2 設置流水線

????????設置流水線需同時設置全局流水線和項目流水線。全局流水線的設置會影響到項目流水線。

2.1 關聯代碼庫

2.1.1 指定項目空間

????????本文 default 項目空間下配置流水線:

第五章 九析帶你玩轉 rancher - 流水線發布

????????在 default 項目空間下,選擇“資源” -> “流水線” 菜單:

第五章 九析帶你玩轉 rancher - 流水線發布

2.1.2 設置代碼庫

????????選擇“設置代碼庫”按鈕:

第五章 九析帶你玩轉 rancher - 流水線發布

????????選擇“刷新代碼庫”按鈕:

第五章 九析帶你玩轉 rancher - 流水線發布

????????由于 gitlab 已經跟 rancher 關聯,故刷新代碼庫之后,就會顯示你在 gitlab 中的服務代碼:

第五章 九析帶你玩轉 rancher - 流水線發布

????????啟用服務:

第五章 九析帶你玩轉 rancher - 流水線發布

????????點擊完成:

第五章 九析帶你玩轉 rancher - 流水線發布

2.2 關聯鏡像庫

????????本文在 default 空間下關聯鏡像庫:

第五章 九析帶你玩轉 rancher - 流水線發布

????????添加憑證:

第五章 九析帶你玩轉 rancher - 流水線發布

????????填寫相關信息:

第五章 九析帶你玩轉 rancher - 流水線發布

2.3 全局流水線設置

????????選擇指定集群(zcy-arch-k8s),再選擇“工具”,最后選擇“流水線”:

第五章 九析帶你玩轉 rancher - 流水線發布

????????修改內容如下:

第五章 九析帶你玩轉 rancher - 流水線發布

????????全局流水線會控制項目流水線的并發個數、資源占比情況等。

2.4 項目空間流水線設置

????????項目空間流水線需同時選中“集群”(zcy-arch-k8s)和“項目空間”(default):

第五章 九析帶你玩轉 rancher - 流水線發布

????????選擇 “編輯配置” 子菜單:

第五章 九析帶你玩轉 rancher - 流水線發布???????? 點擊 “設置流水線” 鏈接后的圖示如下:

第五章 九析帶你玩轉 rancher - 流水線發布? ? ? ? 可根據各自需求添加流水線“階段”,一般情況下,整個流水線跑四個階段就足夠了,即:

1 clone 階段:這是系統默認的必須階段,指從代碼庫下載微服務的源代碼。

2 build 階段:編譯源代碼,并生成 Dockerfile 文件

3 publish 階段:根據上階段的 Dockerfile 文件生成鏡像,然后將鏡像上傳到指定鏡像倉庫

4 deploy 階段:從鏡像倉庫下載上階段生成的服務鏡像,然后啟動容器運行

????????下面以 java 語言為例,在服務(這里是: chapter-001-helloworld)代碼庫創建 rancher 總流水線文件 .rancher-pipeline.yml,如下圖所示:

第五章 九析帶你玩轉 rancher - 流水線發布

????????文件定義了流水線 3 個階段,文件內容如下:

stages:

- name: Build

?steps:

?- runScriptConfig:

? ? ?image: jiuxi.harbor.org/stable/maven-3.6.0-jdk-8

? ? ?shellScript: mvn -B -U -DskipTests clean package spring-boot:repackage

- name: Publish

?steps:

?- publishImageConfig:

? ? ?dockerfilePath: ./Dockerfile

? ? ?buildContext: .

? ? ?tag: stable/${CICD_GIT_REPO_NAME}:${CICD_GIT_COMMIT}

? ? ?pushRemote: true

? ? ?registry: jiuxi.harbor.org

? ?env:

? ? ?PLUGIN_DEBUG: "true"

? ? ?PLUGIN_INSECURE: "true"

- name: Deploy

?steps:

?- applyYamlConfig:

? ? ?path: ./Deployment.yaml

notification: {}

????????Publish 階段是把 Build 階段生成的 jar 文件,根據預先定義的 Dockerfile 文件做成服務鏡像,并推送到私有鏡像倉庫中,其中自定義 Dockerfile 文件定義如下:

FROM jiuxi.harbor.org/stable/java:8

MAINTAINER "jiuxi"<1494445739@qq.com>

ADD ./target/application.jar application.jar

EXPOSE 8080

CMD ["/bin/sh", "-c", "java -jar application.jar"]

????????Deploy 階段是在 k8s 中執行自定義部署文件 Deployment.yaml,創建服務的 service 和 deployment 資源,并運行容器,自定義 Deployment.yaml 文件內容如下:

apiVersion: v1

kind: Service

metadata:

?name: ${CICD_GIT_REPO_NAME}

?labels:

? ?app: ${CICD_GIT_REPO_NAME}

spec:

?type: ClusterIP

?selector:

? ?app: ${CICD_GIT_REPO_NAME}

?ports:

?- port: 8080

? ?targetPort: 8080

---

apiVersion: apps/v1

kind: Deployment

metadata:

?name: ${CICD_GIT_REPO_NAME}

spec:

?replicas: 1

?selector:

? ?matchLabels:

? ? ?app: ${CICD_GIT_REPO_NAME}

?minReadySeconds: 5

?strategy:

? ?type: RollingUpdate

?template:

? ?metadata:

? ? ?labels:

? ? ? ?app: ${CICD_GIT_REPO_NAME}

? ?spec:

? ? ?containers:

? ? ?- name: ${CICD_GIT_REPO_NAME}

? ? ? ?image: jiuxi.harbor.org/stable/${CICD_GIT_REPO_NAME}:${CICD_GIT_COMMIT}

? ? ? ?livenessProbe:

? ? ? ? ?tcpSocket:

? ? ? ? ? ?port: 8080

? ? ? ?imagePullPolicy: Always

? ? ? ?env:

? ? ? ?- name: TZ

? ? ? ? ?value: "Asia/Shanghai"

? ? ? ?- name: MY_POD_IP

? ? ? ? ?valueFrom:

? ? ? ? ? ?fieldRef:

? ? ? ? ? ? ?fieldPath: status.podIP

? ? ? ?- name: jiuxi_logs_${CICD_GIT_REPO_NAME}-stdout

? ? ? ? ?value: "stdout"

? ? ? ?- name: jiuxi_logs_${CICD_GIT_REPO_NAME}-logs

? ? ? ? ?value: "/data/logs/${CICD_GIT_REPO_NAME}/*.log"

? ? ? ?volumeMounts:

? ? ? ?- name: logs

? ? ? ? ?mountPath: /data/logs/${CICD_GIT_REPO_NAME}

? ? ? ?- name: time

? ? ? ? ?mountPath: /etc/localtime

? ? ? ?resources:

? ? ? ? ?limits:

? ? ? ? ? ?memory: 1Gi

? ? ?volumes:

? ? ?- name: time

? ? ? ?hostPath:

? ? ? ? ?path: /etc/localtime

? ? ?- name: logs

? ? ? ?emptyDir: {}

? ? ?restartPolicy: Always

????????提交 .rancher-pipeline.yaml、Deployment.yaml、Dockerfile 文件到 gitlab。然后在 rancher 中重新點擊“設置代碼庫”:

第五章 九析帶你玩轉 rancher - 流水線發布

??????“刷新代碼庫”,點擊“完成”:

第五章 九析帶你玩轉 rancher - 流水線發布

????????再點擊“編輯配置”:

第五章 九析帶你玩轉 rancher - 流水線發布

????????流水線已經自動配置好:

第五章 九析帶你玩轉 rancher - 流水線發布

????????確定一下 Publish 階段的鏡像倉庫地址是否正確:

第五章 九析帶你玩轉 rancher - 流水線發布

????????點擊“完成”按鈕:

第五章 九析帶你玩轉 rancher - 流水線發布

????????點擊確認,整個流水線的配置已經完成。


3 執行流水線

????????選擇“運行”菜單來執行流水線:

第五章 九析帶你玩轉 rancher - 流水線發布

????????選擇指定代碼分支,我這里是“master”:

第五章 九析帶你玩轉 rancher - 流水線發布

????????點擊“運行”:第五章 九析帶你玩轉 rancher - 流水線發布

? ? ? ? 流水線開始執行,首次啟動流水線時,需下載 jenkins、minio、docker-registry 等鏡像,因此需要一定時間。如果執行報如下錯:第五章 九析帶你玩轉 rancher - 流水線發布

? ? ? ? 說明 pipeline 運行容器并不識別自定義域名,你需要重啟流水線。第五章 九析帶你玩轉 rancher - 流水線發布

第五章 九析帶你玩轉 rancher - 流水線發布? ? ????啟動后,jenkins 會動態生成 pipeline 容器,此時你需要趁著 pipeline 容器生成瞬間進入它的控制臺(所以你最好同時打開 2 個 rancher 頁面,一個是流水線執行頁面,如上圖;另外一個是 default 項目空間頁面,如下圖):第五章 九析帶你玩轉 rancher - 流水線發布

第五章 九析帶你玩轉 rancher - 流水線發布? ? ????要注意,jenkins 在生成 pipeline 容器的時候,頁面會自動刷新(所以你不用手動刷新頁面);其次,你要確保流水線前面的狀態是 Running 時,操作后面的“更多”按鈕才可以顯示“執行命令行”菜單:第五章 九析帶你玩轉 rancher - 流水線發布

第五章 九析帶你玩轉 rancher - 流水線發布? ? ????在彈出的“執行命令行”界面輸入下面命令修改 /etc/hosts 文件:

echo "10.110.101.100 jiuxi.gitlab.com jiuxi.harbor.org jiuxi.nexus.org" >> /etc/hosts


4 流水線成功執行第五章 九析帶你玩轉 rancher - 流水線發布

第五章 九析帶你玩轉 rancher - 流水線發布? ? ?????在 default 項目空間下查看服務:第五章 九析帶你玩轉 rancher - 流水線發布

第五章 九析帶你玩轉 rancher - 流水線發布? ? ????發現 chapter-001-helloworld 已經成功運行:第五章 九析帶你玩轉 rancher - 流水線發布

第五章 九析帶你玩轉 rancher - 流水線發布? ? ????點擊進入 chapter-001-helloworld 查看 pod 日志:第五章 九析帶你玩轉 rancher - 流水線發布

第五章 九析帶你玩轉 rancher - 流水線發布? ? ????發現服務已經正常運行:第五章 九析帶你玩轉 rancher - 流水線發布

第五章 九析帶你玩轉 rancher - 流水線發布? ? ????自此,輕松完爆 rancher 流水線發布。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

岱山县| 开原市| 盘锦市| 定日县| 商丘市| 西华县| 邹平县| 南靖县| 盘山县| 通州区| 紫云| 南漳县| 瑞丽市| 平遥县| 丹巴县| 南京市| 泗阳县| 黄骅市| 长葛市| 繁峙县| 疏勒县| 池州市| 张家港市| 建昌县| 长岛县| 蒙山县| 普格县| 广汉市| 长海县| 馆陶县| 福州市| 鹿邑县| 麻城市| 万山特区| 唐山市| 昌江| 伊川县| 马尔康县| 大埔县| 西林县| 云安县|