當前位置:
首頁 > 最新 > K8S 分散式構建 Docker 鏡像的一些小技巧

K8S 分散式構建 Docker 鏡像的一些小技巧

鏡像更新

最近給我的 Jenkins 鏡像 做了一些更新:

加入了基於 RunC 的鏡像操作工具:IMG。在特權模式下,可以方便的使用命令行創建和操作 Docker 鏡像。

更新 Jenkins 以及 Remoting 版本。

修復一些初始化問題。

下面根據這一版本的鏡像簡單說說分散式構建過程中的一些要點。

Jenkins 鏡像的一些值得注意的東西

Jenkins 在啟動 Slave 節點時,會設置下面三個環境變數,所以在 就可以引用這幾個環境變數啟動 Worker 節點:

JENKINS_URL:MASTER 服務的地址。

JENKINS_NAME:為 Worker 節點分配的名稱

JENKINS_SECRET:Worker 節點和 Master 節點通信時所使用的認證密鑰。

工具依賴於 runc,因此也需要把 runc 加入到鏡像之中。

中:

直接設置了 8081 作為 jnlp 埠,因此在 Dockerfile 中也進行了 EXPOSE 聲明。

開啟 CSRF 選項,並設置代理伺服器兼容,防止在 Kube-Proxy 的情況下無法提供服務。

Jenkins 在 Kubernetes 中的啟動:

RBAC:因為要啟動 Worker 節點,因此在開啟了 RBAC 的集群上,要給 Jenkins 的 Service Account 進行授權,允許進行 Pod 的操作。

Service:需要暴露 jnlp 埠到集群內部,無需為其提供 loadbalancer 以及 nodePort 等形式的外網接入能力。

可以根據需要提供載入卷,用於保存配置等。

分散式構建的配置

首先需要安裝 Kubernetes 插件。

插件安裝後,就可以在 Jenkins 的 credentials 中加入 類型的憑據,用於連接和操作 Kubernetes 集群。

容器模板設置中,系統預設會提供一個名為 jnlp 的容器模板,要想使用自己的鏡像,需要進行同名覆蓋。

容器模板中可以按需設置載入卷等,例如要進行鏡像的 PUSH 操作,就需要將 CA 證書通過一定方法加入到容器的信任列表之中。

如果要進行 IMG 的操作,需要選中容器的 選項,開啟特權模式。

任務的設置

要進行鏡像的構建,就非常的容易,加入幾行簡單的 Shell 命令,例如:


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 偽架構師 的精彩文章:

摸索:Istio 路由規則 Alpha v3

TAG:偽架構師 |