ref: https://medium.com/geekculture/kubestack-a-must-use-117a32efd427
本篇文章要介紹的是一個基於整合 IaC 的 GitOps 開源專案 Kubestack
過往探討到 GitOps 時總是會圍繞如何透過有效的管理與部署 Kubernetes 上的應用程式,譬如 ArgoCD, Flux, Rancher Fleet 等。
當然 GitOps 本身也是一個沒有標準做法的文化與概念,自行透過 Gitlab, Git 等方式也是有辦法實作出相同概念的解決方式。
而 Kubestack 則是一個專注於 Kubernetes 本身的 GitOps 解決方案,而非一般來探討的應用程式。
其本身的架構是基於 Terraform 之上, 因此 Kubestack 本身也自行實作了屬於自己的 Terraform Provider 讓所有對 Terraform 的使用者可以更快上手與使用。
雲端整合方面, Kubestack 整合了 AKS,EKS,以及 GKE,這意味使用者可以輕鬆地透過 Kubestack 來創建這些由雲端企業管理的 Kubernetes 叢集。
除了雲端之外, Kubestack 也支援本地機器的 Kubernetes 叢集,其透過 KIND 的方式於本地端架設一個簡易的模擬環境,可以讓使用者再將修改給合併到真正的 Git 時先行於本地端進行測試,確保一切都沒有問題才會合併。
本文後半部分是一個手把手的教學範例,示範如何透過 Kubestack 來玩耍,同時也提到官網也有滿直覺的教學跟介紹,對於如何使用 GitOps/Terraform 來管理 AKS/GKE/EKS 的使用者也許可以參考看看這個專案
「gitops gitlab」的推薦目錄:
- 關於gitops gitlab 在 矽谷牛的耕田筆記 Facebook 的精選貼文
- 關於gitops gitlab 在 矽谷牛的耕田筆記 Facebook 的精選貼文
- 關於gitops gitlab 在 矽谷牛的耕田筆記 Facebook 的精選貼文
- 關於gitops gitlab 在 GitOps con ArgoCD y Gitlab-CI - YouTube 的評價
- 關於gitops gitlab 在 GitOps实践,基于Gitlab CI、Kustomize 与Argo CD - LHR 的評價
- 關於gitops gitlab 在 gitlab-gitops-demo/README - GitHub 的評價
- 關於gitops gitlab 在 Customer reviews: Big Little Book on Git - Gitlab Github GitOps ... 的評價
- 關於gitops gitlab 在 Gitlab and GitOps - Synchronisation - Stack Overflow 的評價
- 關於gitops gitlab 在 3️⃣ - Facebook 的評價
gitops gitlab 在 矽谷牛的耕田筆記 Facebook 的精選貼文
本篇文章是一個入門文章,主要探討 GitOps 相關的起源與概念,同時介紹不少關於 GitOps 的工具
起源: Weaveworks 於 2017 年針對 Kubernetes 的工作環境產生了不同的部署方式,而 GitOps 這個詞也就那時開始萌芽發展
概念: 透過 Git PR 的方式來驗證與自動的部署所有與系統有關的修改。今天有任何部署的需求時,團隊要做的事情就是 1) 產生 Git PR 2)進行 Review 3) 合併 接者就是等任何修改被自動部署
Git 於整個環節中扮演者 Single Source of Truth 的角色,所有的修改都必須發生於 Git 本身,也因為是基於 Git 來使用,所以不論是 GitHub, Gitlab, Bitbucket, Gerrit 等系統都可以使用。
註: Bitbucket 還針對 GitOps 這種形式取了一個名為 BDDA 的名稱,意義為 Build-Diff-Deploy-Apply
好處:
1. 稽核性: 透過 Git 可以針對所有的修改去查閱,知道誰於什麼時間點進行什麼修改
2. 由於不需要將 Kubeconfig 等資源放到外部叢集,資安方面會比傳統外部直接Push/Apply 來得更好
3. 開發人員可以更容易地去部署應用,不需要仰賴Ops幫忙
4. ...etc
註: GitOps 並不是只能適用於 Kubernetes 本身,事實上整個系統架構都可以套用這種方式,譬如搭配 Terraform 等相關的 IaC 工具時,就可以透過 GitOps 來搭建整個系統,包含底層架構,k8s叢集以及最重要的應用程式
相關工具(文章列出滿多工具):
1. ArgoCD
2. Atlantis: Terraform PR 的自動化工具
3. Autoapply
4. CloudBees Rollout
5. FlexCD
6. Helm Operator
7. Flagger
8. Ignite
9. Faros
10. Gitkube
11. Jenkins X
12. KubeStack
13. Weave Cloud
14. Werf
15. PipeCD
https://medium.com/searce/gitops-the-next-big-thing-for-devops-and-automation-2a9597e51559
gitops gitlab 在 矽谷牛的耕田筆記 Facebook 的精選貼文
本篇文章是ㄧ個 Kubernetes 相關工具經驗分享文,作者認為即使是前端開發工程師也必須要瞭解一下 Kubernetes 這個容器管理平台,作者認為 k8s 基本上已經算是這個領域的標準(de-facto)。
因此作者於本篇文章介紹一些搭建一個 K8s 叢集時需要注意的工具,透過這些自動化工具來減少反覆動作的執行藉此簡化每天的工作流程。
工具包含
1. ArgoCD
2. MetalLB
3. External-secrets
4. Cert-manager
5. External-dns
Simplify deploying of new apps
作者大力推薦使用 ArgoCD 來簡化部署應用程式,作者提到一開始使用 ArgoCD 時也是感到無比煩感,因為心中一直存在要於 `GitLab CI/CD pipeline` 透過 kubectl apply 的方式來部署應用程式,並不想要導入其他的元件來加入更多的複雜性。
然而當作者嘗試 ArgoCD 後,第一眼發現的是其架構不如想像中複雜,完全依賴 GitOps 的原則來簡化整個部署流程,同時透過一個 WebUI 的方式來呈現當前應用程式的部署狀況
Load balancer for your on-prem clusters
地端環境的 Load-Balancer,沒什麼好說就是 MetalLB。
Managing your secrets
Secrets 是 Kubernetes 內一個非常重要的物件,然而大部分的團隊都會思考如何有效且安全的去管理 Kubernetes 內的 Secret 物件。雲端供應商譬如 AWS Secrets Manager, Azure Key Vault 或是廣受熱門的 HashiCorp Vault.
作者推薦使用 external-secrets operator 這個專案來將外部的管理系統給同步到 Kubernetes 內並且產生對於的 secrets。
詳細全文可以參考下列原文
https://chris-blogs.medium.com/tools-that-should-be-used-in-every-kubernetes-cluster-38969ed3e603
gitops gitlab 在 GitOps实践,基于Gitlab CI、Kustomize 与Argo CD - LHR 的推薦與評價
GitOps 实践,基于Gitlab CI、Kustomize 与Argo CD ... GitOps会Diff Repository中声明信息与Kubernetes集群中实际运行的内容之间的差异,其实现 ... ... <看更多>
gitops gitlab 在 gitlab-gitops-demo/README - GitHub 的推薦與評價
gitlab -manage - terraform code to represent the gitops-demo group configuration on gitlab.com. apps/* - application and CI/CD code, one per application. apps/ ... ... <看更多>
gitops gitlab 在 GitOps con ArgoCD y Gitlab-CI - YouTube 的推薦與評價
En este video muestro como funciona GitOps y como podemos hacer una integración con Gitlab CI para hacer un proceso de CI CDLink con los ... ... <看更多>