アドミッションコントローラー:インストール

By 清水 孝郎 - OCTOBER 6, 2021

SHARE:

本文の内容は、2021年10月7日現在における、docs.sysdig.com上のAdmission Controller: Installationを元に日本語に翻訳・再構成した内容となっております。

アドミッションコントローラーをインストールした後に使用するには、「アドミッションコントローラー」を参照してください。

アドミッションコントローラーについて

Kubernetesのアドミッションコントローラは、クラスターで許可されるリクエストを定義し、カスタマイズするのに役立ちます。アドミッションコントローラは、Kubernetes APIへのリクエストを傍受し、オブジェクトの永続化の前に処理しますが、リクエストが認証され、認可された後に処理します。

イメージスキャン機能:Sysdigのアドミッションコントローラ(UIベース)は、Kubernetesをベースに、イメージスキャナーの機能を強化し、CVE(Common Vulnerabilities and Exposures)、設定ミス、古いイメージなどをチェックし、スキャンポリシーを検知から実際の防止にまでを可能にします。設定されたアドミッションポリシーを満たさないコンテナイメージは、ノードに割り当てられて実行が許可される前に、クラスターから拒否されます。

Kubernetesの監査ログ機能(SaaSのみ):アドミッションコントローラーでKubernetes監査ログ機能を使用するには、features.k8sAuditDetections=trueオプションを有効にします。(参照: Kubernetes Audit Logging.)



Sysdig Labsでの有効化(イメージスキャン用)

  1. Sysdig Secureに管理者としてログインし、「Settings」→「User Profile」を選択します。
  2. Sysdig LabsでAdmission Controller機能を有効にし、Saveをクリックします。

Admission Controllerのページへのリンクは、左側のナビゲーションのImage Scanningの下に表示されます。

インストール方法

このコンポーネントは、使用する各クラスタにインストールする必要があります。

備考
アドミッションコントローラのCLIベースのバージョンをインストールした場合、UIベースのバージョンには後方互換性がありません。古いバージョンをアンインストールして、代わりにUIベースのバージョンをインストールする必要があります。

前提条件

  • Helm 3
  • Kubernetes 1.16またはそれ以降

アドミッションコントローラのインストール

  1. kubectlがアドミッションコントローラがインストールされるターゲットクラスターを指していることを確認します。
  2. Helmのリポジトリを追加して同期します
    • helm repo add sysdig
      https://charts.sysdig.com
      helm repo update
  3. アドミッションコントローラーをターゲットクラスターにインストールします。
    • helm install sysdig-admission-controller \
      --create-namespace \
      --namespace sysdig-admission-controller \
      --set sysdig.secureAPIToken=$SYSDIG_API_TOKEN \
      --set clusterName=$CLUSTER_NAME \
      --set sysdig.url=https://$SYSDIG_SECURE_ENDPOINT \
      --set features.k8sAuditDetections=true \
      sysdig/admission-controller 
  4. Sysdig UIでインストールが成功したことを確認します。Sysdig Secureにログインし、Image Scanning>Admission Controller>Policy Assignmentsを選択します。
デフォルトでは、クラスターはConnected(健全)であるが、Disabled(名前の右にあるグレーのドット)と表示されています。アドミッションコントローラは、誤ってデプロイメントをブロックしないように、デフォルトでは無効になっています。

インストールパラメーター

  • sysdig.secureAPIToken:  Sysdig Secure API token: Sysdig UIの「Settings/User Profile」で確認できるSysdig Secure API token。このユーザは管理者権限を持っている必要があります。
  • clusterName: Sysdigのバックエンドのアドミッションコントローラインターフェイスに表示される、このクラスターのユーザ定義の名前です。クラスター名はエージェントクラスター名と一致する必要があります。
  • Sysdig.url: Sysdigのエンドポイント。Sysdigのエンドポイント。
  • features.k8sAuditDetections: true/false.  アドミッションコントローラーを介してKubernetesの監査ログを有効にするには、trueを設定します。以下も参照してください。Kubernetes Audit Logging(レガシーインストール)」および「Select the Policy Type(Kubernetes Audit Policies)」も参照してください。
詳しい情報は Admission Controller Helmチャートのドキュメントの全文を参照してください。

備考
アドミッションコントローラーをインストールした後に使用するには、「アドミッションコントローラー」を参照してください。

アップグレードについて

Scanning-Only Admission Controllerからのアップグレード

Sysdig アドミッションコントローラーがすでにインストールされていて、アップグレードしたい場合:

helm upgrade \
--namespace sysdig-admission-controller \
--set features.k8sAuditDetections=true \
--reuse-values \
sysdig-admission-controller sysdig/admission-controller

備考
すでにアドミッションコントローラーをお持ちで、従来の方法でKubernetesの監査ロギングを有効にしているお客様は、新しいアドミッションコントローラーをインストール/アップグレードすることができます。重複するイベントの収集と表示を避けるために、features.k8sAuditDetections=falsを設定することを確認してください。

CLIベースのバージョンをアンインストールする方法

アドミッションコントローラーのCLIベースのバージョンをインストールした場合、UIベースのバージョンには後方互換性がありません。古いバージョンをアンインストールして、代わりにUIベースのバージョンをインストールする必要があります。

以下のようにデプロイします:

$ helm uninstall -n sysdig-admission-controller sysdig-admission-controller