15.5. 特定の SCC を必要とするワークロードの設定


特定の Security Context Constraints (SCC) を要求するようにワークロードを設定できます。これは、特定の SCC をワークロードに固定する場合、または必要な SCC がクラスター内の別の SCC によってプリエンプションされるのを防ぐ場合に役立ちます。

特定の SCC を要求するには、ワークロードに openshift.io/required-scc アノテーションを設定します。このアノテーションは、デプロイメントやデーモンセットなど、Pod マニフェストテンプレートを設定できる任意のリソースに設定できます。

SCC はクラスター内に存在し、ワークロードに適用できる必要があります。そうでない場合、Pod のアドミッションは失敗します。Pod を作成するユーザーまたは Pod のサービスアカウントが Pod の namespace で SCC の use 権限を持っている場合、SCC はワークロードに適用可能であるとみなされます。

警告

ライブ Pod のマニフェスト内の openshift.io/required-scc アノテーションを変更しないでください。変更すると、Pod のアドミッションが失敗するためです。必要な SCC を変更するには、基礎となる Pod テンプレートのアノテーションを更新します。これにより、Pod が削除され、再作成されます。

前提条件

  • SCC はクラスター内に存在する必要があります。

手順

  1. デプロイメント用の YAML ファイルを作成し、openshift.io/required-scc アノテーションを設定して必要な SCC を指定します。

    deployment.yaml の例

    apiVersion: config.openshift.io/v1
    kind: Deployment
    apiVersion: apps/v1
    spec:
    # ...
      template:
        metadata:
          annotations:
            openshift.io/required-scc: "my-scc" 1
    # ...

    1
    必要な SCC の名前を指定します。
  2. 次のコマンドを実行して、リソースを作成します。

    $ oc create -f deployment.yaml

検証

  • デプロイメントで指定された SCC が使用されたことを確認します。

    1. 次のコマンドを実行して、Pod の openshift.io/scc アノテーションの値を表示します。

      $ oc get pod <pod_name> -o jsonpath='{.metadata.annotations.openshift\.io\/scc}{"\n"}' 1
      1
      <pod_name> をデプロイメント Pod の名前に置き換えます。
    2. 出力を調べて、表示された SCC がデプロイメントで定義した SCC と一致することを確認します。

      出力例

      my-scc

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

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

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

会社概要

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

© 2024 Red Hat, Inc.