1.2. autotls を有効にして Redis の TLS を設定する
新規または既存の Argo CD インスタンスで autotls
設定を有効にすることで、Redis の TLS 暗号化を設定できます。この設定では、argocd-operator-redis-tls
シークレットが自動的にプロビジョニングされるため、それ以上の手順は必要ありません。現時点で、OpenShift Container Platform は唯一サポートされているシークレットプロバイダーです。
デフォルトでは、autotls
設定は無効になっています。
手順
- OpenShift Container Platform Web コンソールにログインします。
autotls
を有効にして Argo CD インスタンスを作成します。-
Web コンソールの Administrator パースペクティブで、左側のナビゲーションパネルを使用して、Administration
CustomResourceDefinitions に移動します。 -
argocds.argoproj.io
を検索し、ArgoCD
カスタムリソース定義 (CRD) をクリックします。 - CustomResourceDefinition の詳細 ページで、Instances タブをクリックし、Create ArgoCD をクリックします。
次の例のように YAML を編集または置換します。
autotls を有効にした Argo CD CR の例
apiVersion: argoproj.io/v1beta1 kind: ArgoCD metadata: name: argocd 1 namespace: openshift-gitops 2 spec: redis: autotls: openshift 3 ha: enabled: true 4
ヒントあるいは、次のコマンドを実行して、既存の Argo CD インスタンスで
autotls
に設定を有効にすることもできます。$ oc patch argocds.argoproj.io <instance-name> --type=merge -p '{"spec":{"redis":{"autotls":"openshift"}}}'
- Create をクリックします。
Argo CD Pod が準備ができており、実行中であることを確認します。
$ oc get pods -n <namespace> 1
- 1
- Argo CD インスタンスが実行されている namespace (例:
openshift-gitops)
を指定します。
HA を無効にした場合の出力例
NAME READY STATUS RESTARTS AGE argocd-application-controller-0 1/1 Running 0 26s argocd-redis-84b77d4f58-vp6zm 1/1 Running 0 37s argocd-repo-server-5b959b57f4-znxjq 1/1 Running 0 37s argocd-server-6b8787d686-wv9zh 1/1 Running 0 37s
注記HA 対応の TLS 設定には、少なくとも 3 つのワーカーノードを備えたクラスターが必要です。HA 設定で Argo CD インスタンスを有効にしている場合は、出力が表示されるまでに数分かかることがあります。
HA を有効にした場合の出力例
NAME READY STATUS RESTARTS AGE argocd-application-controller-0 1/1 Running 0 10m argocd-redis-ha-haproxy-669757fdb7-5xg8h 1/1 Running 0 10m argocd-redis-ha-server-0 2/2 Running 0 9m9s argocd-redis-ha-server-1 2/2 Running 0 98s argocd-redis-ha-server-2 2/2 Running 0 53s argocd-repo-server-576499d46d-8hgbh 1/1 Running 0 10m argocd-server-9486f88b7-dk2ks 1/1 Running 0 10m
-
Web コンソールの Administrator パースペクティブで、左側のナビゲーションパネルを使用して、Administration
argocd-operator-redis-tls
シークレットが作成されていることを確認します。$ oc get secrets argocd-operator-redis-tls -n <namespace> 1
- 1
- Argo CD インスタンスが実行されている namespace (例:
openshift-gitops)
を指定します。
出力例
NAME TYPE DATA AGE argocd-operator-redis-tls kubernetes.io/tls 2 30s
シークレットは
kubernetes.io/tls
タイプで、サイズが2
である必要があります。