10.5.3. SPIRE Agent のデプロイ


SpireAgent カスタムリソースを使用して、ノード上の SPIRE Agent DaemonSet を 設定します。これは、エージェントがワークロードを検証し、OpenShift Container Platform クラスター全体でアイデンティティーアテステーションを管理する方法を定義します。

前提条件

  • 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:
        socketPath: "/run/spire/agent-sockets"
        logLevel: "info"
        logFormat: "text"
        nodeAttestor:
          k8sPSATEnabled: "true"
        workloadAttestors:
          k8sEnabled: "true"
          workloadAttestorsVerification:
            type: "auto"
            hostCertBasePath: "/etc/kubernetes"
            hostCertFileName: "kubelet-ca.crt"
          disableContainerSelectors: "false"
          useNewContainerLocator: "true"

      ここでは、以下のようになります。

      metadata.name
      値が クラスター でなければならないことを指定します。
      spec.socketPath
      SPIRE エージェントソケットが作成されるホスト上のディレクトリーを指定します。このディレクトリーは、hostPath ボリュームを介して SPIFFE CSI ドライバーと共有されます。ワークロードがソケットにアクセスするには、SpiffeCSIDriver.spec.agentSocketPath と一致する必要があります。絶対パスを指定する必要があります。最大長は 256 文字です。
      spec.logLevel
      SPIRE サーバーのログレベルを指定します。有効なオプションは、debuginfowarnerror です。
      spec.logFormat
      SPIRE サーバーのログ記録フォーマットを指定します。有効なオプションは、textjson です。
      spec.nodeAttestor.k8sPSATEnabled
      Kubernetes の Projected Service Account Token (PSAT) ノードアテステーションが有効になっているかどうかを指定します。有効化されている場合、SPIRE エージェントはノード認証時に K8s PSAT を使用して SPIRE サーバーに自身のアイデンティティーをアテステーションします。有効なオプションは truefalse です。
      spec.workloadAttestors.k8sEnabled
      Kubernetes ワークロードアテスターが有効になっているかどうかを指定します。SPIRE エージェントが有効になっている場合、KubernetesPod 情報とサービスアカウントトークンを使用してワークロードのアイデンティティーを検証できます。有効なオプションは truefalse です。
      spec.workloadAttestors.workloadAttestorsVerification.type
      kubelet の証明書検証モードを指定します。有効なオプションは 、autohostCertskip です
      spec.workloadAttestors.workloadAttestorsVerification.hostCertBasePath
      kubelet CA 証明書が格納されているディレクトリーを指定します。タイプが hostCert の場合は必須です。タイプが auto の場合はオプションです (指定しない場合は/etc/kubernetes がデフォルトになります)。
      spec.workloadAttestors.workloadAttestorsVerification.hostCertFileName
      kubelet の CA 証明書のファイル名を指定します。hostCertBasePath と組み合わせると、完全なパスが形成されます。タイプが hostCert の場合は必須です。タイプが auto の場合はオプションです。指定がない場合は、デフォルトで kubelet-ca.crt が使用されます。
      spec.workloadAttestors.disableContainerSelectors
      Kubernetes ワークロードアテスターでコンテナーセレクターを無効にするかどうかを指定します。Istio で holdApplicationUntilProxyStarts を使用する場合は、true に設定してください。有効なオプションは truefalse です。
      spec.workloadAttestors.useNewContainerLocator
      cgroups v2 をサポートする新しいコンテナーロケーターアルゴリズムを有効にすることを指定します。有効なオプションは truefalse です。
    2. 以下のコマンドを実行して設定を適用します。

      $ oc apply -f SpireAgent.yaml

検証

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

    $ oc get daemonset -l app.kubernetes.io/name=agent -n zero-trust-workload-identity-manager

    出力例

    NAME          DESIRED   CURRENT   READY   UP-TO-DATE   AVAILABLE   NODE SELECTOR   AGE
    spire-agent   3         3         3       3            3           <none>          10m

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

    $ oc get po -l app.kubernetes.io/name=agent -n zero-trust-workload-identity-manager

    出力例

    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

Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

会社概要

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

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

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

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

Legal Notice

Theme

© 2026 Red Hat
トップに戻る