検索

1.3. autotls を無効にして Redis の TLS を設定する

download PDF

キーと値のペアを使用して argocd-operator-redis-tls シークレットを作成して、Redis の TLS 暗号化を手動で設定できます。さらに、シークレットにアノテーションを付けて、それが適切な Argo CD インスタンスに属していることを示す必要があります。証明書とシークレットを作成する手順は、高可用性 (HA) が有効になっているインスタンスによって異なります。

手順

  1. OpenShift Container Platform Web コンソールにログインします。
  2. Argo CD インスタンスを作成します。

    1. Web コンソールの Administrator パースペクティブで、左側のナビゲーションパネルを使用して、Administration CustomResourceDefinitions に移動します。
    2. argocds.argoproj.io を検索し、ArgoCD カスタムリソース定義 (CRD) をクリックします。
    3. CustomResourceDefinition の詳細 ページで、Instances タブをクリックし、Create ArgoCD をクリックします。
    4. 次の例のように YAML を編集または置換します。

      autotls を無効にした ArgoCD CR の例

      apiVersion: argoproj.io/v1beta1
      kind: ArgoCD
      metadata:
        name: argocd 1
        namespace: openshift-gitops 2
      spec:
        ha:
          enabled: true 3

      1
      Argo CD インスタンスの名前。
      2
      Argo CD インスタンスを実行する namespace。
      3
      HA 機能を有効にするフラグの値。HA を有効にしたくない場合は、この行を含めないか、フラグ値を false に設定します。
    5. Create をクリックします。
    6. 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

  3. HA 設定に応じて、次のいずれかのオプションを使用して、Redis サーバーの自己署名証明書を作成します。

    • HA が無効になっている Argo CD インスタンスの場合は、次のコマンドを実行します。

      $ openssl req -new -x509 -sha256 \
        -subj "/C=XX/ST=XX/O=Testing/CN=redis" \
        -reqexts SAN -extensions SAN \
        -config <(printf "\n[SAN]\nsubjectAltName=DNS:argocd-redis.<namespace>.svc.cluster.local\n[req]\ndistinguished_name=req") \ 1
        -keyout /tmp/redis.key \
        -out /tmp/redis.crt \
        -newkey rsa:4096 \
        -nodes \
        -sha256 \
        -days 10
      1
      Argo CD インスタンスが実行されている namespace (例: openshift-gitops) を指定します。

      出力例

      Generating a RSA private key
      ...............++++
      ............................++++
      writing new private key to '/tmp/redis.key'

    • HA が有効になっている Argo CD インスタンスの場合は、以下のコマンドを実行します。

      $ openssl req -new -x509 -sha256 \
        -subj "/C=XX/ST=XX/O=Testing/CN=redis" \
        -reqexts SAN -extensions SAN \
        -config <(printf "\n[SAN]\nsubjectAltName=DNS:argocd-redis-ha-haproxy.<namespace>.svc.cluster.local\n[req]\ndistinguished_name=req") \ 1
        -keyout /tmp/redis-ha.key \
        -out /tmp/redis-ha.crt \
        -newkey rsa:4096 \
        -nodes \
        -sha256 \
        -days 10
      1
      Argo CD インスタンスが実行されている namespace (例: openshift-gitops) を指定します。

      出力例

      Generating a RSA private key
      ...............++++
      ............................++++
      writing new private key to '/tmp/redis-ha.key'

  4. 次のコマンドを実行して、生成された証明書とキーが /tmp ディレクトリーで利用できることを確認します。

    $ cd /tmp
    $ ls

    HA を無効にした場合の出力例

    ...
    redis.crt
    redis.key
    ...

    HA を有効にした場合の出力例

    ...
    redis-ha.crt
    redis-ha.key
    ...

  5. HA 設定に応じて、次のいずれかのオプションを使用して、argocd-operator-redis-tls シークレットを作成します。

    • HA が無効になっている Argo CD インスタンスの場合は、次のコマンドを実行します。

      $ oc create secret tls argocd-operator-redis-tls --key=/tmp/redis.key --cert=/tmp/redis.crt
    • HA が有効になっている Argo CD インスタンスの場合は、以下のコマンドを実行します。

      $ oc create secret tls argocd-operator-redis-tls --key=/tmp/redis-ha.key --cert=/tmp/redis-ha.crt

      出力例

      secret/argocd-operator-redis-tls created

  6. シークレットにアノテーションを付けて、それが Argo CD CR に属していることを示します。

    $ oc annotate secret argocd-operator-redis-tls argocds.argoproj.io/name=<instance-name> 1
    1
    Argo CD インスタンスの名前を指定します (例: argocd)。

    出力例

    secret/argocd-operator-redis-tls annotated

  7. 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 設定で 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

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.