我有一個應用程式,其中包含許多部署在 kubernetes 中的服務。這些服務由 yaml 檔案表示,例如configmap.yaml和deployment.yaml.
如何將這些檔案轉換為 helm 圖表并使用以下方法部署應用程式:
helm install
uj5u.com熱心網友回復:
如果您運行helm create創建一個骨架圖,那將為您創建一個基本的檔案結構。在該圖表中,該templates目錄包含一組模板化的 YAML 檔案。
如果您剛剛開始,只需將helm create生成的 YAML 檔案移到一邊并將現有 YAML 復制到templates目錄中就足夠了。 helm install將安裝這些確切的檔案,類似于將kubectl apply要執行的操作,但請注意,特定的命名資源不需要存在于集群中。
helm create my-chart
cd my-chart
mkdir original-templates && mv templates/*.yml original-templates
cp ~/application/k8s/*.yml templates
# helm template .
helm install --generate-name .
如果您確實查看helm create模板檔案,您會注意到它如何選擇資源名稱等內容有一些約定,在_helpers.tpl檔案中呼叫支持函式允許并行安裝圖表多次。一個好的下一步是更新metadata:YAML 檔案中的塊以遵循這些約定。
apiVersion: apps/v1
kind: Deployment
metadata:
name: {{ include "mychart.fullname" . }}
labels:
{{- include "mychart.labels" . | nindent 4 }}
spec:
...
從那里我建議弄清楚您需要在安裝時自定義哪些特定的東西,然后用模板運算式和特定的values.yaml設定替換它們。我不會嘗試通過值注入大部分 Kubernetes 配置,盡管這里的邊界可能有點模糊。(對我來說,通過值指定服務型別、節點埠和注釋是有意義的,但不一定是一長串 Pod 環境變數。)
uj5u.com熱心網友回復:
您可以使用 helm 圖表安裝帶有 deployment.yaml 檔案的 helm:
- 創建您的 Helm 圖表
- 轉換和更新 Chart.yaml、deployment.yaml、service.yaml 和 values.yaml
- 驗證 YAML 的轉換
- 運行/安裝 Helm 圖表
在檔案中您可以看到每個步驟和程序的詳細資訊。附上類似的堆疊問題以供您理解。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/518578.html
