10.5. Zero Trust Workload Identity Manager のオペランドのデプロイ
Zero Trust Workload Identity Manager はテクノロジープレビュー機能です。テクノロジープレビュー機能は、Red Hat 製品のサービスレベルアグリーメント (SLA) の対象外であり、機能的に完全ではないことがあります。Red Hat は、実稼働環境でこれらを使用することを推奨していません。テクノロジープレビュー機能は、最新の製品機能をいち早く提供して、開発段階で機能のテストを行い、フィードバックを提供していただくことを目的としています。
Red Hat のテクノロジープレビュー機能のサポート範囲に関する詳細は、テクノロジープレビュー機能のサポート範囲 を参照してください。
それぞれのカスタムリソース (CR) を作成することにより、次のオペランドをデプロイできます。インストールを正常に実行するには、次の順序でオペランドをデプロイする必要があります。
- SPIRE Server
- SPIRE Agent
- SPIFFE CSI ドライバー
- SPIRE OIDC ディスカバリープロバイダー
10.5.1. SPIRE サーバーのデプロイ リンクのコピーリンクがクリップボードにコピーされました!
SpireServer カスタムリソース (CR) を設定して、SPIRE サーバーをデプロイおよび設定できます。
前提条件
-
cluster-adminロールを持つユーザーとしてクラスターにアクセスできる。 クラスターに Zero Trust Workload Identity Manager をインストールした。
SpireServerCR を作成します。SpireServerCR を定義する 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.yamlCopy 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-managerCopy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
NAME READY AGE spire-server 1/1 65s
NAME READY AGE spire-server 1/1 65sCopy 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-managerCopy 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) 111sCopy 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-managerCopy 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> 22mCopy to Clipboard Copied! Toggle word wrap Toggle overflow
10.5.2. SPIRE エージェントのデプロイ リンクのコピーリンクがクリップボードにコピーされました!
SpireAgent カスタムリソース (CR) を設定して、SPIRE エージェントをデプロイおよび設定できます。
前提条件
-
cluster-adminロールを持つユーザーとしてクラスターにアクセスできる。 - クラスターに Zero Trust Workload Identity Manager をインストールした。
手順
SpireAgentCR を作成します。SpireAgentCR を定義する 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.yamlCopy 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-managerCopy 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> 10mCopy 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-managerCopy 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 12mCopy 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 をインストールした。
手順
SpiffeCSIDriverCR を作成します。SpiffeCSIDriverCR オブジェクトを定義する 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.yamlCopy 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-managerCopy 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> 114sCopy 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-managerCopy 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 2m37sCopy 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 をインストールした。
手順
SpireOIDCDiscoveryProviderCR を作成します。SpireOIDCDiscoveryProviderCR を定義する YAML ファイル (例:SpireOIDCDiscoveryProvider.yaml) を作成します。SpireOIDCDiscoveryProvider.yamlの例Copy to Clipboard Copied! Toggle word wrap Toggle overflow 以下のコマンドを実行して設定を適用します。
oc apply -f SpireOIDCDiscoveryProvider.yaml
$ oc apply -f SpireOIDCDiscoveryProvider.yamlCopy 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-managerCopy 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 2m58sCopy 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-managerCopy 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 7m15sCopy to Clipboard Copied! Toggle word wrap Toggle overflow