9.13. GCP での cert-manager Operator for Red Hat OpenShift の認証


GCP クラスターで、cert-manager Operator for Red Hat OpenShift のクラウド認証情報を設定できます。クラウド認証情報は Cloud Credential Operator によって生成されます。

9.13.1. GCP での the cert-manager Operator for Red Hat OpenShift クラウド認証情報の設定

GCP クラスターで cert-manager Operator for Red Hat OpenShift のクラウド認証情報を設定するには、CredentialsRequest オブジェクトを作成し、Cloud Credential Operator によるクラウド認証情報シークレットの生成を許可する必要があります。

前提条件

  • cert-manager Operator for Red Hat OpenShift のバージョン 1.11.1 以降がインストールされている。
  • mint モードまたは passthrough モードで動作するように Cloud Credential Operator を設定している。

手順

  1. 次の yaml を適用して、sample-credential-request.yaml などの CredentialsRequest リソース YAML ファイルを作成します。

    apiVersion: cloudcredential.openshift.io/v1
    kind: CredentialsRequest
    metadata:
      name: cert-manager
      namespace: openshift-cloud-credential-operator
    spec:
      providerSpec:
        apiVersion: cloudcredential.openshift.io/v1
        kind: GCPProviderSpec
        predefinedRoles:
        - roles/dns.admin
      secretRef:
        name: gcp-credentials
        namespace: cert-manager
      serviceAccountNames:
      - cert-manager
    注記

    dns.admin ロールは、Google Cloud DNS リソースを管理するための管理者権限をサービスアカウントに付与します。最小限の権限を持つサービスアカウントで cert-manager が実行されるようにするには、次の権限を持つカスタムロールを作成できます。

    • dns.resourceRecordSets.*
    • dns.changes.*
    • dns.managedZones.list
  2. 次のコマンドを実行して、CredentialsRequest リソースを作成します。

    $ oc create -f sample-credential-request.yaml
  3. 次のコマンドを実行して、cert-manager Operator for Red Hat OpenShift のサブスクリプションオブジェクトを更新します。

    $ oc -n cert-manager-operator patch subscription openshift-cert-manager-operator --type=merge -p '{"spec":{"config":{"env":[{"name":"CLOUD_CREDENTIALS_SECRET_NAME","value":"gcp-credentials"}]}}}'

検証

  1. 次のコマンドを実行して、再デプロイされた cert-manager コントローラー Pod の名前を取得します。

    $ oc get pods -l app.kubernetes.io/name=cert-manager -n cert-manager

    出力例

    NAME                                       READY   STATUS    RESTARTS   AGE
    cert-manager-bd7fbb9fc-wvbbt               1/1     Running   0          15m39s

  2. 次のコマンドを実行して、cert-manager コントローラー Pod が、mountPath で指定されたパスの下にマウントされている GCP 認証情報ボリュームで更新されていることを確認します。

    $ oc get -n cert-manager pod/<cert-manager_controller_pod_name> -o yaml

    出力例

    spec:
      containers:
      - args:
        ...
        volumeMounts:
        ...
        - mountPath: /.config/gcloud
          name: cloud-credentials
        ....
      volumes:
      ...
      - name: cloud-credentials
        secret:
          ...
          items:
          - key: service_account.json
            path: application_default_credentials.json
          secretName: gcp-credentials

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

© 2024 Red Hat, Inc.