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


重要

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

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

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

  1. SPIRE Server
  2. SPIRE Agent
  3. SPIFFE CSI ドライバー
  4. SPIRE OIDC ディスカバリープロバイダー

10.4.1. SPIRE Server のデプロイ

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

前提条件

  • 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 Server CA のコモンネーム。
      4
      SPIRE Server CA の国。
      5
      SPIRE Server CA の組織。
      6
      永続化に使用されるボリュームタイプ。有効なオプションは pvchostPath です。
      7
      永続化に使用されるボリュームサイズ
      8
      永続化のために使用するアクセスモード。有効なオプションは ReadWriteOnceReadWriteOncePodReadWriteMany です。
      9
      開いているデータベース接続の最大数。
      10
      プール内のアイドル接続の最大数。
      11
      接続を再利用できる最大時間。時間を無制限に指定するには、値を 0 に設定します。
      12
      JSON Web Token (JWT) 発行者ドメイン。値は有効な URL である必要があります。
    2. 以下のコマンドを実行して設定を適用します。

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

検証

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

    $ 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

  • 次のコマンドを実行して、SPIRE Server 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

  • 次のコマンドを実行して、永続ボリューム要求 (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.4.2. SPIRE Agent のデプロイ

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

前提条件

  • 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

検証

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

    $ 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

  • 次のコマンドを実行して、SPIRE Agent 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.4.3. SPIFFE Container Storage Interface ドライバーのデプロイ

SpiffeCSIDriver カスタムリソース (CR) を設定して、SPIFFE Container Storage Interface (CSI) ドライバーをデプロイおよび設定できます。

前提条件

  • 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 Agent への UNIX ソケットパス。
    2. 以下のコマンドを実行して設定を適用します。

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

検証

  • 次のコマンドを実行して、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

  • 次のコマンドを実行して、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.4.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 Agent UNIX ソケットの名前。
      3
      JSON Web Token (JWT) 発行者ドメイン。値は有効な URL である必要があります。
    2. 以下のコマンドを実行して設定を適用します。

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

検証

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

    $ 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 Discovery Provider 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