15.3. 複数の Pod の Preset の使用


複数の Pod 挿入ポリシーを挿入するために複数の Pod の Preset を使用することができます。

  • Pod の Preset 受付コントローラープラグインが有効に なっていることを確認します。
  • 環境変数、マウントポイントおよび/またはストレージボリュームを使用して、以下のような Pod の Preset を作成します。

    kind: PodPreset
    apiVersion: settings.k8s.io/v1alpha1
    metadata:
      name: allow-database
    spec:
      selector:
        matchLabels:
          role: frontend 1
      env:
        - name: DB_PORT
          value: "6379"
      volumeMounts:
        - mountPath: /cache
          name: cache-volume
      volumes:
        - name: cache-volume
          emptyDir: {}
    1
    Pod ラベルに一致するラベルセレクターです。
  • 以下のように 2 つ目の Pod の Preset を作成します。

    kind: PodPreset
    apiVersion: settings.k8s.io/v1alpha1
    metadata:
      name: proxy
    spec:
      selector:
        matchLabels:
          role: frontend 1
      volumeMounts:
        - mountPath: /etc/proxy/configs
          name: proxy-volume
      volumes:
        - name: proxy-volume
          emptyDir: {}
    1
    Pod ラベルに一致するラベルセレクターです。
  • 標準的な Pod 仕様を作成します。

    apiVersion: v1
    kind: Pod
    metadata:
      name: website
      labels:
        app: website
        role: frontend 1
    spec:
      containers:
        - name: website
          image: ecorp/website
          ports:
            - containerPort: 80
    1
    Pod の Preset ラベルセレクターのいずれにも一致するラベルです。
  • Pod を作成します。

    $ oc create -f pod.yaml
  • 作成後に Pod 仕様をチェックします。

    apiVersion: v1
    kind: Pod
    metadata:
      name: website
      labels:
        app: website
        role: frontend
      annotations:
        podpreset.admission.kubernetes.io/allow-database: "resource version" 1
        podpreset.admission.kubernetes.io/proxy: "resource version" 2
    spec:
      containers:
        - name: website
          image: ecorp/website
          volumeMounts:
            - mountPath: /cache
              name: cache-volume
            - mountPath: /etc/proxy/configs
              name: proxy-volume
          ports:
            - containerPort: 80
          env:
            - name: DB_PORT
              value: "6379"
      volumes:
        - name: cache-volume
          emptyDir: {}
        - name: proxy-volume
          emptyDir: {}
    1 2
    複数の Pod の Preset が挿入されたことを示すアノテーションです。
Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

© 2024 Red Hat, Inc.