本篇是一個新手教學文,主要探討的時如何將 Jenkins 裝到 Kubernetes 內,並且使用 Kuberentes Pod 作為 Jenkins Agent 來使用。
未來透過 Jenkins 去執行 job 時會透過 Kubernetes Pod 來運行這些流程。
本文圖文並茂,對於有這個需求的使用者可以參考看看如何安裝與設定。
註:
到底要不要將 Jenkins 放到 Kubernetes 內是一個沒有答案的問題,思考這個問題時先反過來思考,將 Jenkins 放到 Kubernetes 內帶來什麼樣的特色?
1. 如果 Jenkins server 本身沒有 AA 的架構的話,意味 Jenkins 本身也只能運行一個 Pod 來處理流量。
2. Jenkins Server 本身也是 K8S Pod 的話,可以透過 service account 的方式更容易的與 k8s 溝通,這也是如何透過 k8s pod 當 Jenkins agent 的原因。
如果需要於 Jenkins Job 去執行 CD 步驟時,這樣的架構可以省去 kubeconfig 的額外準備,讓溝通更簡單
3. Jenkins 本身的設定非常多也很複雜,要如何永久性的保存 Jenkins 的設定非常麻煩。儲存方面就要引入 PV/PVC 來確保空間一致。此外如何透過 IaC 等架構來設定 Jenkins 並且引入版本控制的概念來確保 Jenkins 設定不會亂跑都是很大的議題。
最後想探討的是,如果是第一次進入這個領域,要使用 Jenkins 必須要有很強的動機來說服自己為什麼選擇最困難的 Jenkins 而非其他的開源專案
https://medium.com/codex/jenkins-on-kubernetes-part-1-2fb37c8adb39
同時也有10000部Youtube影片,追蹤數超過2,910的網紅コバにゃんチャンネル,也在其Youtube影片中提到,...
「kubeadm」的推薦目錄:
- 關於kubeadm 在 矽谷牛的耕田筆記 Facebook 的最佳貼文
- 關於kubeadm 在 矽谷牛的耕田筆記 Facebook 的最佳貼文
- 關於kubeadm 在 iThome Facebook 的最佳貼文
- 關於kubeadm 在 コバにゃんチャンネル Youtube 的精選貼文
- 關於kubeadm 在 大象中醫 Youtube 的最佳貼文
- 關於kubeadm 在 大象中醫 Youtube 的最佳解答
- 關於kubeadm 在 Day3】建立K8s Cluster環境-以kubeadm為例 - iT 邦幫忙 的評價
- 關於kubeadm 在 Aggregator for issues filed against kubeadm - GitHub 的評價
- 關於kubeadm 在 K8s 學習筆記- kubeadm 手動安裝 的評價
- 關於kubeadm 在 kubeadm init failing while initializing a Kubernetes cluster 的評價
- 關於kubeadm 在 Kubernetes for the Absolute Beginners - Setup ... - YouTube 的評價
- 關於kubeadm 在 [ Kube 1 ] Setup Kubernetes Cluster using Kubeadm on ... 的評價
kubeadm 在 矽谷牛的耕田筆記 Facebook 的最佳貼文
這次帶來一篇 CNI 效能的文章分析,該文章介紹不同 CNI 基於 10G 網路下的效能評比,詳細請點連結
https://www.hwchiu.com/cni-performance-2020.html
參閱全文,
以下節錄重點
1. Kube-OVN 不但資源吃很多,效能還很不好
2. Canal/Calico/Flannel 三者的運算資源使用量都不多,且效能都很好
3. Kube-Router 的效能都很差,資源使用方便也不是特別出色
4. WeaveNet 與 Cilium 效能都不差,但是 Cilium 吃的效能很高,可說跟 Kube-OVN 同等級,而 WeaveNet 用到的資源少
5. 這次的實驗評比我認為其實能看到的東西有限,主要是不同的 CNI 所搭配的解決方案不同,目標要配合的情境也不同,雖然從圖表中可以看到 Kube-OVN 的綜合評比最差,但是其要用的場景本>身就不太一樣,單純用最原始的流量互打來判別優劣其實不太對
6. 如果今天要選擇網路 CNI 的時候,可以看到效能跟資源方面, Flannel/Calico/Canal 幾乎等級都差不多,而且 Calico 還支援加密與 Network Policy 等功能。
7. 此外,目前 Flannel 也從 Kubeadm 的官方教學頁面中移除,因為太多問題且維護者沒有要修復。所以我認為如果沒有特別使用情境需求的話,可以考慮使用 Calico.
8. Cilium 對於安全性以及 load-balancing 方面也有別的功能,就如同(5)點所提到,不同的場景有不同的需求,有些功能是獨占的。
kubeadm 在 iThome Facebook 的最佳貼文
1.13版剛釋出不久,Ubuntu便支援了最新版本,提供企業級的支援,包括了部署工具Kubeadm及Kubernetes單節點部署系統MicroK8s。
kubeadm 在 コバにゃんチャンネル Youtube 的精選貼文
kubeadm 在 大象中醫 Youtube 的最佳貼文
kubeadm 在 大象中醫 Youtube 的最佳解答
kubeadm 在 Aggregator for issues filed against kubeadm - GitHub 的解答
Kubeadm is a tool built to provide best-practice "fast paths" for creating Kubernetes clusters. It performs the actions necessary to get a minimum viable, ... ... <看更多>
kubeadm 在 K8s 學習筆記- kubeadm 手動安裝 的解答
## 如果是自己安裝的Base Image,記得一定要做這件事情,不然可能有些Node 會自己升級K8s 版本。 apt-mark hold kubelet kubeadm kubectl. 確認安裝版本: ... ... <看更多>
kubeadm 在 Day3】建立K8s Cluster環境-以kubeadm為例 - iT 邦幫忙 的解答
初始化Control Plane. $ sudo kubeadm init --pod-network-cidr=<ip-of-container-network-interface> --apiserver-advertise- ... ... <看更多>