This documentation is for a release that is no longer maintained
See documentation for the latest supported version 3 or the latest supported version 4.5.10. Redis との安全な通信の設定
Red Hat OpenShift GitOps で Transport Layer Security (TLS) 暗号化を使用すると、Argo CD コンポーネントと Redis キャッシュ間の通信を保護し、機密情報の可能性がある転送中のデータを保護できます。
次の設定のいずれかを使用して、Redis との通信を保護できます。
-
autotls
設定を有効にして、TLS 暗号化に適切な証明書を発行します。 -
キーと証明書のペアを使用して
argocd-operator-redis-tls
シークレットを作成し、TLS 暗号化を手動で設定します。
どちらの設定も、高可用性 (HA) が有効になっているかどうかに関係なく可能です。
前提条件
-
cluster-admin
権限でクラスターにアクセスできる。 - OpenShift Container Platform Web コンソールにアクセスできる。
- Red Hat OpenShift GitOps Operator がクラスターにインストールされている。
5.10.1. 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 の例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ヒントあるいは、次のコマンドを実行して、既存の Argo CD インスタンスで
autotls
に設定を有効にすることもできます。oc patch argocds.argoproj.io <instance-name> --type=merge -p '{"spec":{"redis":{"autotls":"openshift"}}}'
$ oc patch argocds.argoproj.io <instance-name> --type=merge -p '{"spec":{"redis":{"autotls":"openshift"}}}'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - Create をクリックします。
Argo CD Pod が準備ができており、実行中であることを確認します。
oc get pods -n <namespace>
$ oc get pods -n <namespace>
1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 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
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
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注記HA 対応の TLS 設定には、少なくとも 3 つのワーカーノードを備えたクラスターが必要です。HA 設定で Argo CD インスタンスを有効にしている場合、出力が表示されるまでに数分かかることがあります。
HA を有効にした場合の出力例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
-
Web コンソールの Administrator パースペクティブで、左側のナビゲーションパネルを使用して、Administration
argocd-operator-redis-tls
シークレットが作成されていることを確認します。oc get secrets argocd-operator-redis-tls -n <namespace>
$ oc get secrets argocd-operator-redis-tls -n <namespace>
1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- Argo CD インスタンスが実行されている namespace (例:
openshift-gitops)
を指定します。
出力例
NAME TYPE DATA AGE argocd-operator-redis-tls kubernetes.io/tls 2 30s
NAME TYPE DATA AGE argocd-operator-redis-tls kubernetes.io/tls 2 30s
Copy to Clipboard Copied! Toggle word wrap Toggle overflow シークレットは
kubernetes.io/tls
タイプで、サイズが2
である必要があります。
5.10.2. autotls を無効にして Redis の TLS を設定する リンクのコピーリンクがクリップボードにコピーされました!
キーと値のペアを使用して argocd-operator-redis-tls
シークレットを作成して、Redis の TLS 暗号化を手動で設定できます。さらに、シークレットにアノテーションを付けて、それが適切な Argo CD インスタンスに属していることを示す必要があります。証明書とシークレットを作成する手順は、高可用性 (HA) が有効になっているインスタンスによって異なります。
手順
- OpenShift Container Platform Web コンソールにログインします。
Argo CD インスタンスを作成します。
-
Web コンソールの Administrator パースペクティブで、左側のナビゲーションパネルを使用して、Administration
CustomResourceDefinitions に移動します。 -
argocds.argoproj.io
を検索し、ArgoCD
カスタムリソース定義 (CRD) をクリックします。 - CustomResourceDefinition の詳細 ページで、Instances タブをクリックし、Create ArgoCD をクリックします。
次の例のように YAML を編集または置換します。
autotls を無効にした ArgoCD CR の例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - Create をクリックします。
Argo CD Pod が準備ができており、実行中であることを確認します。
oc get pods -n <namespace>
$ oc get pods -n <namespace>
1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 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
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
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注記HA 対応の TLS 設定には、少なくとも 3 つのワーカーノードを備えたクラスターが必要です。HA 設定で Argo CD インスタンスを有効にしている場合、出力が表示されるまでに数分かかることがあります。
HA を有効にした場合の出力例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
-
Web コンソールの Administrator パースペクティブで、左側のナビゲーションパネルを使用して、Administration
HA 設定に応じて、次のいずれかのオプションを使用して、Redis サーバーの自己署名証明書を作成します。
HA が無効になっている Argo CD インスタンスの場合は、次のコマンドを実行します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- Argo CD インスタンスが実行されている namespace (例:
openshift-gitops)
を指定します。
出力例
Generating a RSA private key ...............++++ ............................++++ writing new private key to '/tmp/redis.key'
Generating a RSA private key ...............++++ ............................++++ writing new private key to '/tmp/redis.key'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow HA が有効になっている Argo CD インスタンスの場合は、以下のコマンドを実行します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- Argo CD インスタンスが実行されている namespace (例:
openshift-gitops)
を指定します。
出力例
Generating a RSA private key ...............++++ ............................++++ writing new private key to '/tmp/redis-ha.key'
Generating a RSA private key ...............++++ ............................++++ writing new private key to '/tmp/redis-ha.key'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
次のコマンドを実行して、生成された証明書とキーが
/tmp
ディレクトリーで利用できることを確認します。cd /tmp
$ cd /tmp
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ls
$ ls
Copy to Clipboard Copied! Toggle word wrap Toggle overflow HA を無効にした場合の出力例
... redis.crt redis.key ...
... redis.crt redis.key ...
Copy to Clipboard Copied! Toggle word wrap Toggle overflow HA を有効にした場合の出力例
... redis-ha.crt redis-ha.key ...
... redis-ha.crt redis-ha.key ...
Copy to Clipboard Copied! Toggle word wrap Toggle overflow HA 設定に応じて、次のいずれかのオプションを使用して、
argocd-operator-redis-tls
シークレットを作成します。HA が無効になっている Argo CD インスタンスの場合は、次のコマンドを実行します。
oc create secret tls argocd-operator-redis-tls --key=/tmp/redis.key --cert=/tmp/redis.crt
$ oc create secret tls argocd-operator-redis-tls --key=/tmp/redis.key --cert=/tmp/redis.crt
Copy to Clipboard Copied! Toggle word wrap Toggle overflow HA が有効になっている Argo CD インスタンスの場合は、以下のコマンドを実行します。
oc create secret tls argocd-operator-redis-tls --key=/tmp/redis-ha.key --cert=/tmp/redis-ha.crt
$ oc create secret tls argocd-operator-redis-tls --key=/tmp/redis-ha.key --cert=/tmp/redis-ha.crt
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
secret/argocd-operator-redis-tls created
secret/argocd-operator-redis-tls created
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
シークレットにアノテーションを付けて、それが Argo CD CR に属していることを示します。
oc annotate secret argocd-operator-redis-tls argocds.argoproj.io/name=<instance-name>
$ oc annotate secret argocd-operator-redis-tls argocds.argoproj.io/name=<instance-name>
1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- Argo CD インスタンスの名前を指定します (例:
argocd
)。
出力例
secret/argocd-operator-redis-tls annotated
secret/argocd-operator-redis-tls annotated
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Argo CD Pod が準備ができており、実行中であることを確認します。
oc get pods -n <namespace>
$ oc get pods -n <namespace>
1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 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
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
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注記HA 設定で Argo CD インスタンスを有効にしている場合、出力が表示されるまでに数分かかることがあります。
HA を有効にした場合の出力例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow