10.5. Zero Trust Workload Identity Manager のオペランドのデプロイ
Zero Trust Workload Identity Manager はテクノロジープレビュー機能です。テクノロジープレビュー機能は、Red Hat 製品のサービスレベルアグリーメント (SLA) の対象外であり、機能的に完全ではないことがあります。Red Hat は、実稼働環境でこれらを使用することを推奨していません。テクノロジープレビュー機能は、最新の製品機能をいち早く提供して、開発段階で機能のテストを行い、フィードバックを提供していただくことを目的としています。
Red Hat のテクノロジープレビュー機能のサポート範囲に関する詳細は、テクノロジープレビュー機能のサポート範囲 を参照してください。
それぞれのカスタムリソース (CR) を作成することにより、次のオペランドをデプロイできます。インストールを正常に実行するには、次の順序でオペランドをデプロイする必要があります。
- SPIRE サーバー
- SPIRE エージェント
- SPIFFE CSI ドライバー
- SPIRE OIDC ディスカバリープロバイダー
10.5.1. SPIRE サーバーのデプロイ リンクのコピーリンクがクリップボードにコピーされました!
SpireServer
カスタムリソース (CR) を設定して、SPIRE サーバーをデプロイおよび設定できます。
前提条件
-
cluster-admin
ロールを持つユーザーとしてクラスターにアクセスできる。 クラスターに Zero Trust Workload Identity Manager がインストールされている。
SpireServer
CR を作成します。SpireServer
CR を定義する YAML ファイル (例:SpireServer.yaml
) を作成します。SpireServer.yaml
の例Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- SPIFFE 識別子に使用する信頼ドメイン。
- 2
- クラスターの名前。
- 3
- SPIRE サーバー CA のコモンネーム。
- 4
- SPIRE サーバー CA の国。
- 5
- SPIRE サーバー CA の組織。
- 6
- 永続化のために使用するボリュームのタイプ。有効なオプションは
pvc
とhostPath
です。 - 7
- 永続化のために使用するボリュームのサイズ。
- 8
- 永続化のために使用するアクセスモード。有効なオプションは
ReadWriteOnce
、ReadWriteOncePod
、ReadWriteMany
です。 - 9
- 開いているデータベース接続の最大数。
- 10
- プール内のアイドル接続の最大数。
- 11
- 接続を再利用できる最大時間。時間を無制限に指定するには、値を
0
に設定します。 - 12
- JSON Web Token (JWT) 発行者ドメイン。デフォルト値は、
oidc-discovery.$trustDomain
で指定された値に設定されます。
以下のコマンドを実行して設定を適用します。
oc apply -f SpireServer.yaml
$ oc apply -f SpireServer.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
検証
次のコマンドを実行して、SPIRE サーバーのステートフルセットが準備完了状態であり、利用可能であることを確認します。
oc get statefulset -l app.kubernetes.io/name=server -n zero-trust-workload-identity-manager
$ oc get statefulset -l app.kubernetes.io/name=server -n zero-trust-workload-identity-manager
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
NAME READY AGE spire-server 1/1 65s
NAME READY AGE spire-server 1/1 65s
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して、SPIRE サーバー Pod のステータスが
Running
であることを確認します。oc get po -l app.kubernetes.io/name=server -n zero-trust-workload-identity-manager
$ oc get po -l app.kubernetes.io/name=server -n zero-trust-workload-identity-manager
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
NAME READY STATUS RESTARTS AGE spire-server-0 2/2 Running 1 (108s ago) 111s
NAME READY STATUS RESTARTS AGE spire-server-0 2/2 Running 1 (108s ago) 111s
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して、永続ボリューム要求 (PVC) がバインドされていることを確認します。
oc get pvc -l app.kubernetes.io/name=server -n zero-trust-workload-identity-manager
$ oc get pvc -l app.kubernetes.io/name=server -n zero-trust-workload-identity-manager
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
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
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 Copied! Toggle word wrap Toggle overflow
10.5.2. SPIRE エージェントのデプロイ リンクのコピーリンクがクリップボードにコピーされました!
SpireAgent
カスタムリソース (CR) を設定して、SPIRE エージェントをデプロイおよび設定できます。
前提条件
-
cluster-admin
ロールを持つユーザーとしてクラスターにアクセスできる。 - クラスターに Zero Trust Workload Identity Manager をインストールした。
手順
SpireAgent
CR を作成します。SpireAgent
CR を定義する YAML ファイル (例:SpireAgent.yaml
) を作成します。SpireAgent.yaml
の例Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- SPIFFE 識別子に使用する信頼ドメイン。
- 2
- クラスターの名前。
- 3
- Projected Service Account Token (PSAT) Kubernetes ノードアテスターを有効または無効にします。有効なオプションは
true
とfalse
です。 - 4
- Kubernetes ワークロードアテスターを有効または無効にします。有効なオプションは
true
とfalse
です。 - 5
- kubelet に対して実行する検証のタイプ。有効なオプションは
auto
、hostCert
、apiServerCA
、skip
です。auto
オプションは、hostCert
の使用を試みてから、apiServerCA
にフォールバックします。
以下のコマンドを実行して設定を適用します。
oc apply -f SpireAgent.yaml
$ oc apply -f SpireAgent.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
検証
次のコマンドを実行して、SPIRE エージェントのデーモンセットが準備完了状態であり、利用可能であることを確認します。
oc get daemonset -l app.kubernetes.io/name=agent -n zero-trust-workload-identity-manager
$ oc get daemonset -l app.kubernetes.io/name=agent -n zero-trust-workload-identity-manager
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
NAME DESIRED CURRENT READY UP-TO-DATE AVAILABLE NODE SELECTOR AGE spire-agent 3 3 3 3 3 <none> 10m
NAME DESIRED CURRENT READY UP-TO-DATE AVAILABLE NODE SELECTOR AGE spire-agent 3 3 3 3 3 <none> 10m
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して、SPIRE エージェント Pod のステータスが
Running
であることを確認します。oc get po -l app.kubernetes.io/name=agent -n zero-trust-workload-identity-manager
$ oc get po -l app.kubernetes.io/name=agent -n zero-trust-workload-identity-manager
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
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
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 Copied! Toggle word wrap Toggle overflow
10.5.3. SPIFFE Container Storage Interface ドライバーのデプロイ リンクのコピーリンクがクリップボードにコピーされました!
SpiffeCSIDriver
カスタムリソース (CR) を設定して、SPIRE エージェントをデプロイおよび設定できます。
前提条件
-
cluster-admin
ロールを持つユーザーとしてクラスターにアクセスできる。 - クラスターに Zero Trust Workload Identity Manager をインストールした。
手順
SpiffeCSIDriver
CR を作成します。SpiffeCSIDriver
CR オブジェクトを定義する YAML ファイル (例:SpiffeCSIDriver.yaml
) を作成します。SpiffeCSIDriver.yaml
の例Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- SPIRE エージェントへの UNIX ソケットパス。
以下のコマンドを実行して設定を適用します。
oc apply -f SpiffeCSIDriver.yaml
$ oc apply -f SpiffeCSIDriver.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
検証
次のコマンドを実行して、SPIFFE CSI ドライバーのデーモンセットが準備完了状態であり、利用可能であることを確認します。
oc get daemonset -l app.kubernetes.io/name=spiffe-csi-driver -n zero-trust-workload-identity-manager
$ oc get daemonset -l app.kubernetes.io/name=spiffe-csi-driver -n zero-trust-workload-identity-manager
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
NAME DESIRED CURRENT READY UP-TO-DATE AVAILABLE NODE SELECTOR AGE spire-spiffe-csi-driver 3 3 3 3 3 <none> 114s
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 Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して、SPIFFE Container Storage Interface (CSI) ドライバー Pod のステータスが
Running
であることを確認します。oc get po -l app.kubernetes.io/name=spiffe-csi-driver -n zero-trust-workload-identity-manager
$ oc get po -l app.kubernetes.io/name=spiffe-csi-driver -n zero-trust-workload-identity-manager
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
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
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 Copied! Toggle word wrap Toggle overflow
10.5.4. SPIRE OpenID Connect ディスカバリープロバイダーのデプロイ リンクのコピーリンクがクリップボードにコピーされました!
SpireOIDCDiscoveryProvider
カスタムリソース (CR) を設定して、SPIRE OpenID Connect (OIDC) ディスカバリープロバイダーをデプロイおよび設定できます。
前提条件
-
cluster-admin
ロールを持つユーザーとしてクラスターにアクセスできる。 - クラスターに Zero Trust Workload Identity Manager をインストールした。
手順
SpireOIDCDiscoveryProvider
CR を作成します。SpireOIDCDiscoveryProvider
CR を定義する YAML ファイル (例:SpireOIDCDiscoveryProvider.yaml
) を作成します。SpireOIDCDiscoveryProvider.yaml
の例Copy to Clipboard Copied! Toggle word wrap Toggle overflow 以下のコマンドを実行して設定を適用します。
oc apply -f SpireOIDCDiscoveryProvider.yaml
$ oc apply -f SpireOIDCDiscoveryProvider.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
検証
次のコマンドを実行して、OIDC ディスカバリープロバイダーのデプロイメントが準備完了状態であり、利用可能であることを確認します。
oc get deployment -l app.kubernetes.io/name=spiffe-oidc-discovery-provider -n zero-trust-workload-identity-manager
$ oc get deployment -l app.kubernetes.io/name=spiffe-oidc-discovery-provider -n zero-trust-workload-identity-manager
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
NAME READY UP-TO-DATE AVAILABLE AGE spire-spiffe-oidc-discovery-provider 1/1 1 1 2m58s
NAME READY UP-TO-DATE AVAILABLE AGE spire-spiffe-oidc-discovery-provider 1/1 1 1 2m58s
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して、OIDC ディスカバリープロバイダー Pod のステータスが
Running
であることを確認します。oc get po -l app.kubernetes.io/name=spiffe-oidc-discovery-provider -n zero-trust-workload-identity-manager
$ oc get po -l app.kubernetes.io/name=spiffe-oidc-discovery-provider -n zero-trust-workload-identity-manager
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
NAME READY STATUS RESTARTS AGE spire-spiffe-oidc-discovery-provider-64586d599f-lcc94 2/2 Running 0 7m15s
NAME READY STATUS RESTARTS AGE spire-spiffe-oidc-discovery-provider-64586d599f-lcc94 2/2 Running 0 7m15s
Copy to Clipboard Copied! Toggle word wrap Toggle overflow