10.5. Zero Trust Workload Identity Manager のオペランドのデプロイ


重要

Zero Trust Workload Identity Manager はテクノロジープレビュー機能です。テクノロジープレビュー機能は、Red Hat 製品のサービスレベルアグリーメント (SLA) の対象外であり、機能的に完全ではないことがあります。Red Hat は、実稼働環境でこれらを使用することを推奨していません。テクノロジープレビュー機能は、最新の製品機能をいち早く提供して、開発段階で機能のテストを行い、フィードバックを提供していただくことを目的としています。

Red Hat のテクノロジープレビュー機能のサポート範囲に関する詳細は、テクノロジープレビュー機能のサポート範囲 を参照してください。

それぞれのカスタムリソース (CR) を作成することにより、次のオペランドをデプロイできます。インストールを正常に実行するには、次の順序でオペランドをデプロイする必要があります。

  1. SPIRE サーバー
  2. SPIRE エージェント
  3. SPIFFE CSI ドライバー
  4. SPIRE OIDC ディスカバリープロバイダー

10.5.1. SPIRE サーバーのデプロイ

SpireServer カスタムリソース (CR) を設定して、SPIRE サーバーをデプロイおよび設定できます。

前提条件

  • cluster-admin ロールを持つユーザーとしてクラスターにアクセスできる。
  • クラスターに Zero Trust Workload Identity Manager がインストールされている。

    1. SpireServer CR を作成します。

      1. SpireServer CR を定義する YAML ファイル (例: SpireServer.yaml) を作成します。

        SpireServer.yaml の例

        apiVersion: operator.openshift.io/v1alpha1
        kind: SpireServer
        metadata:
          name: cluster
        spec:
          trustDomain: <trust_domain> 
        1
        
          clusterName: <cluster_name> 
        2
        
          caSubject:
            commonName: example.org 
        3
        
            country: "US" 
        4
        
            organization: "RH" 
        5
        
          persistence:
            type: pvc 
        6
        
            size: "5Gi" 
        7
        
            accessMode: ReadWriteOnce 
        8
        
          datastore:
            databaseType: sqlite3
            connectionString: "/run/spire/data/datastore.sqlite3"
            maxOpenConns: 100 
        9
        
            maxIdleConns: 2 
        10
        
            connMaxLifetime: 3600 
        11
        
          jwtIssuer: <jwt_issuer_domain> 
        12
        Copy to Clipboard Toggle word wrap

        1
        SPIFFE 識別子に使用する信頼ドメイン。
        2
        クラスターの名前。
        3
        SPIRE サーバー CA のコモンネーム。
        4
        SPIRE サーバー CA の国。
        5
        SPIRE サーバー CA の組織。
        6
        永続化のために使用するボリュームのタイプ。有効なオプションは pvchostPath です。
        7
        永続化のために使用するボリュームのサイズ。
        8
        永続化のために使用するアクセスモード。有効なオプションは ReadWriteOnceReadWriteOncePodReadWriteMany です。
        9
        開いているデータベース接続の最大数。
        10
        プール内のアイドル接続の最大数。
        11
        接続を再利用できる最大時間。時間を無制限に指定するには、値を 0 に設定します。
        12
        JSON Web Token (JWT) 発行者ドメイン。デフォルト値は、oidc-discovery.$trustDomain で指定された値に設定されます。
      2. 以下のコマンドを実行して設定を適用します。

        $ oc apply -f SpireServer.yaml
        Copy to Clipboard Toggle word wrap

検証

  1. 次のコマンドを実行して、SPIRE サーバーのステートフルセットが準備完了状態であり、利用可能であることを確認します。

    $ oc get statefulset -l app.kubernetes.io/name=server -n zero-trust-workload-identity-manager
    Copy to Clipboard Toggle word wrap

    出力例

    NAME            READY   AGE
    spire-server    1/1     65s
    Copy to Clipboard Toggle word wrap

  2. 次のコマンドを実行して、SPIRE サーバー Pod のステータスが Running であることを確認します。

    $ oc get po -l app.kubernetes.io/name=server -n zero-trust-workload-identity-manager
    Copy to Clipboard Toggle word wrap

    出力例

    NAME               READY   STATUS    RESTARTS        AGE
    spire-server-0     2/2     Running   1 (108s ago)    111s
    Copy to Clipboard Toggle word wrap

  3. 次のコマンドを実行して、永続ボリューム要求 (PVC) がバインドされていることを確認します。

    $ oc get pvc -l app.kubernetes.io/name=server -n zero-trust-workload-identity-manager
    Copy to Clipboard Toggle word wrap

    出力例

    NAME                        STATUS    VOLUME                                     CAPACITY   ACCESS MODES  STORAGECLASS  VOLUMEATTRIBUTECLASS  AGE
    spire-data-spire-server-0   Bound     pvc-27a36535-18a1-4fde-ab6d-e7ee7d3c2744   5Gi        RW0           gp3-csi       <unset>               22m
    Copy to Clipboard Toggle word wrap

10.5.2. SPIRE エージェントのデプロイ

SpireAgent カスタムリソース (CR) を設定して、SPIRE エージェントをデプロイおよび設定できます。

前提条件

  • cluster-admin ロールを持つユーザーとしてクラスターにアクセスできる。
  • クラスターに Zero Trust Workload Identity Manager をインストールした。

手順

  1. SpireAgent CR を作成します。

    1. SpireAgent CR を定義する YAML ファイル (例: SpireAgent.yaml) を作成します。

      SpireAgent.yaml の例

      apiVersion: operator.openshift.io/v1alpha1
      kind: SpireAgent
      metadata:
        name: cluster
      spec:
        trustDomain: <trust_domain> 
      1
      
        clusterName: <cluster_name> 
      2
      
        nodeAttestor:
          k8sPSATEnabled: "true" 
      3
      
        workloadAttestors:
          k8sEnabled: "true" 
      4
      
          workloadAttestorsVerification:
            type: "auto" 
      5
      Copy to Clipboard Toggle word wrap

      1
      SPIFFE 識別子に使用する信頼ドメイン。
      2
      クラスターの名前。
      3
      Projected Service Account Token (PSAT) Kubernetes ノードアテスターを有効または無効にします。有効なオプションは truefalse です。
      4
      Kubernetes ワークロードアテスターを有効または無効にします。有効なオプションは truefalse です。
      5
      kubelet に対して実行する検証のタイプ。有効なオプションは autohostCertapiServerCAskip です。auto オプションは、hostCert の使用を試みてから、apiServerCA にフォールバックします。
    2. 以下のコマンドを実行して設定を適用します。

      $ oc apply -f SpireAgent.yaml
      Copy to Clipboard Toggle word wrap

検証

  1. 次のコマンドを実行して、SPIRE エージェントのデーモンセットが準備完了状態であり、利用可能であることを確認します。

    $ oc get daemonset -l app.kubernetes.io/name=agent -n zero-trust-workload-identity-manager
    Copy to Clipboard Toggle word wrap

    出力例

    NAME          DESIRED   CURRENT   READY   UP-TO-DATE   AVAILABLE   NODE SELECTOR   AGE
    spire-agent   3         3         3       3            3           <none>          10m
    Copy to Clipboard Toggle word wrap

  2. 次のコマンドを実行して、SPIRE エージェント Pod のステータスが Running であることを確認します。

    $ oc get po -l app.kubernetes.io/name=agent -n zero-trust-workload-identity-manager
    Copy to Clipboard Toggle word wrap

    出力例

    NAME                READY   STATUS    RESTARTS   AGE
    spire-agent-dp4jb   1/1     Running   0          12m
    spire-agent-nvwjm   1/1     Running   0          12m
    spire-agent-vtvlk   1/1     Running   0          12m
    Copy to Clipboard Toggle word wrap

10.5.3. SPIFFE Container Storage Interface ドライバーのデプロイ

SpiffeCSIDriver カスタムリソース (CR) を設定して、SPIRE エージェントをデプロイおよび設定できます。

前提条件

  • cluster-admin ロールを持つユーザーとしてクラスターにアクセスできる。
  • クラスターに Zero Trust Workload Identity Manager をインストールした。

手順

  1. SpiffeCSIDriver CR を作成します。

    1. SpiffeCSIDriver CR オブジェクトを定義する YAML ファイル (例: SpiffeCSIDriver.yaml) を作成します。

      SpiffeCSIDriver.yaml の例

      apiVersion: operator.openshift.io/v1alpha1
      kind: SpiffeCSIDriver
      metadata:
        name: cluster
      spec:
        agentSocketPath: '/run/spire/agent-sockets/spire-agent.sock' 
      1
      Copy to Clipboard Toggle word wrap

      1
      SPIRE エージェントへの UNIX ソケットパス。
    2. 以下のコマンドを実行して設定を適用します。

      $ oc apply -f SpiffeCSIDriver.yaml
      Copy to Clipboard Toggle word wrap

検証

  1. 次のコマンドを実行して、SPIFFE CSI ドライバーのデーモンセットが準備完了状態であり、利用可能であることを確認します。

    $ oc get daemonset -l app.kubernetes.io/name=spiffe-csi-driver -n zero-trust-workload-identity-manager
    Copy to Clipboard Toggle word wrap

    出力例

    NAME                      DESIRED   CURRENT   READY   UP-TO-DATE   AVAILABLE   NODE SELECTOR   AGE
    spire-spiffe-csi-driver   3         3         3       3            3           <none>          114s
    Copy to Clipboard Toggle word wrap

  2. 次のコマンドを実行して、SPIFFE Container Storage Interface (CSI) ドライバー Pod のステータスが Running であることを確認します。

    $ oc get po -l app.kubernetes.io/name=spiffe-csi-driver -n zero-trust-workload-identity-manager
    Copy to Clipboard Toggle word wrap

    出力例

    NAME                            READY   STATUS    RESTARTS   AGE
    spire-spiffe-csi-driver-gpwcp   2/2     Running   0          2m37s
    spire-spiffe-csi-driver-rrbrd   2/2     Running   0          2m37s
    spire-spiffe-csi-driver-w6s6q   2/2     Running   0          2m37s
    Copy to Clipboard Toggle word wrap

10.5.4. SPIRE OpenID Connect ディスカバリープロバイダーのデプロイ

SpireOIDCDiscoveryProvider カスタムリソース (CR) を設定して、SPIRE OpenID Connect (OIDC) ディスカバリープロバイダーをデプロイおよび設定できます。

前提条件

  • cluster-admin ロールを持つユーザーとしてクラスターにアクセスできる。
  • クラスターに Zero Trust Workload Identity Manager をインストールした。

手順

  1. SpireOIDCDiscoveryProvider CR を作成します。

    1. SpireOIDCDiscoveryProvider CR を定義する YAML ファイル (例: SpireOIDCDiscoveryProvider.yaml) を作成します。

      SpireOIDCDiscoveryProvider.yaml の例

      apiVersion: operator.openshift.io/v1alpha1
      kind: SpireOIDCDiscoveryProvider
      metadata:
        name: cluster
      spec:
        trustDomain: <trust_domain> 
      1
      
        agentSocketName: 'spire-agent.sock' 
      2
      
        jwtIssuer: <jwt_issuer_domain> 
      3
      Copy to Clipboard Toggle word wrap

      1
      SPIFFE 識別子に使用する信頼ドメイン。
      2
      SPIRE エージェントの UNIX ソケットの名前。
      3
      JSON Web Token (JWT) 発行者ドメイン。デフォルト値は、oidc-discovery.$trustDomain で指定された値に設定されます。
    2. 以下のコマンドを実行して設定を適用します。

      $ oc apply -f SpireOIDCDiscoveryProvider.yaml
      Copy to Clipboard Toggle word wrap

検証

  1. 次のコマンドを実行して、OIDC ディスカバリープロバイダーのデプロイメントが準備完了状態であり、利用可能であることを確認します。

    $ oc get deployment -l app.kubernetes.io/name=spiffe-oidc-discovery-provider -n zero-trust-workload-identity-manager
    Copy to Clipboard Toggle word wrap

    出力例

    NAME                                    READY  UP-TO-DATE  AVAILABLE  AGE
    spire-spiffe-oidc-discovery-provider    1/1    1           1          2m58s
    Copy to Clipboard Toggle word wrap

  2. 次のコマンドを実行して、OIDC ディスカバリープロバイダー Pod のステータスが Running であることを確認します。

    $ oc get po -l app.kubernetes.io/name=spiffe-oidc-discovery-provider -n zero-trust-workload-identity-manager
    Copy to Clipboard Toggle word wrap

    出力例

    NAME                                                    READY   STATUS    RESTARTS   AGE
    spire-spiffe-oidc-discovery-provider-64586d599f-lcc94   2/2     Running   0          7m15s
    Copy to Clipboard Toggle word wrap

トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

Theme

© 2025 Red Hat