Skip to main content

2 posts tagged with "ArgoCD"

View All Tags

· 2 min read

Kustomize 可以支援使用 Helm 來強化整個靈活性 以下是一個使用 Helm Chart 的範例

$ cat kustomization.yaml
helmCharts:
- name: redis-cluster
includeCRDs: false
valuesFile: redis.yaml
releaseName: redis-cluster
namespace: dev
version: 9.0.5
repo: https://charts.bitnami.com/bitnami

準備一個名為 redis.yaml 的檔案,就如同平常使用 helm values 一樣

接下來可以使用 kustomize 來嘗試產生最後部署的 YAML

$ kustomize build --enable-helm  > temp
$ ls -l w
-rw-r--r-- 1 hwchiu momo 123257 Oct 11 11:18 temp

想嘗試使用 kubectl 但是目前都會失敗

$ kubectl apply --dry-run=client -o yaml -k .
error: trouble configuring builtin HelmChartInflationGenerator with config: `
name: redis-cluster
namespace: dev
releaseName: redis-cluster
repo: https://charts.bitnami.com/bitnami
valuesFile: redis.yaml
version: 9.0.5
`: must specify --enable-helm
$ kubectl apply --dry-run=client -o yaml -k . --enable-helm
error: unknown flag: --enable-helm
See 'kubectl apply --help' for usage.

另外如果要於 ArgoCD 中使用,需要修改 argocd-cm 加入下列參數


apiVersion: v1
kind: ConfigMap
metadata:
name: argocd-cm
data:
kustomize.buildOptions: --enable-helm

· One min read

ArgoCD 安裝方式多元化,本身有簡單部署也有 HA 狀態的部署,以下示範如何用 Kustomize 來安裝 ArgoCD 並且之後還可以用 ArgoCD 控管 ArgoCD 自己本身的設定

使用 https://github.com/argoproj/argo-cd/tree/master/manifests/cluster-install 這個簡易安裝

準備一個 kustomizatiom.yaml,然後如果想要客製化就準備其他的 yaml 來調整 最後搭配一個 Application Yaml 來控管自己

$ cat kustomization.yaml
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization

resources:
- https://github.com/argoproj/argo-cd/manifests/cluster-install?ref=v2.7.7

patchesStrategicMerge:
- argocd-rbac-cm.yaml
- argocd-application-controller.yaml
- argocd-applicationset-controller.yaml
- argocd-cm.yaml
- argocd-cmd-params-cm.yaml
- argocd-dex-server.yaml
- argocd-redis.yaml
- argocd-repo-server.yaml
- argocd-server.yaml
- argocd-notifications-cm.yaml