[英]Kubernetes infrastructure as code best practice
任何人都可以向我指出根據基礎設施即代碼和自動部署的原則,使用 Git 存儲庫和未定義的 CI/CD 平台為不同的開發團隊設置 Kubernetes 集群的通用策略。
假設我將使用 Terraform 在一個名為 QKS 的假設雲服務上部署一個 Kubernetes 集群,其中包含一個常用服務,例如 Apache Airflow,有一個公共舵圖可用。 有兩個自定義服務(來自兩個獨立的開發人員組)可以部署名為“apples”和“bananas”的服務。
我正在努力分離不同代碼庫的職責。 此過程中的哪些步驟仍然最好手動完成。 關於這項技術的文章很多,但我找不到任何關於這個問題的文章。
這是我自己的提議。
擁有三個 git 存儲庫:
筆記:
命名空間的所有機密和授權令牌都可以使用 Terraform kubernetes provider 通過 Terraform 創建。
https://www.terraform.io/docs/providers/kubernetes/r/secret.html
有一個有趣的 kubernetes 項目稱為cluster-api ,它允許您以聲明方式創建、配置和管理 kubernetes 集群,方式類似於我們在 kubernetes 本身中管理不同資源的方式。 它定義了不同類型的新資源,如Cluster 、 Machine
例如,您可以像這樣定義一個集群:
apiVersion: cluster.x-k8s.io/v1alpha2
kind: Cluster
metadata:
name: capi-quickstart
spec:
clusterNetwork:
pods:
cidrBlocks: ["192.168.0.0/16"]
infrastructureRef:
apiVersion: infrastructure.cluster.x-k8s.io/v1alpha2
kind: AWSCluster
name: capi-quickstart
當然,您需要一個啟動/引導 kubernetes 集群,您將在其中部署此資源。 該項目仍處於原型階段,因此請謹慎使用。
查看 Github 上的cluster-api存儲庫: https : //github.com/kubernetes-sigs/cluster-api
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.