15.2. Pod の Preset の作成


以下の例は、Pod の Preset を作成し、使用する方法を示しています。

受付コントローラーの追加
管理者は /etc/origin/master/master-config.yaml ファイルをチェックして、Pod の Preset 受付コントローラープラグインが存在することを確認できます。受付コントローラーが存在しない場合は、以下を使用してプラグインを追加します。
admissionConfig:
  pluginConfig:
    PodPreset:
      configuration:
        kind: DefaultAdmissionConfig
        apiVersion: v1
        disable: false

次に OpenShift Container Platform サービスを再起動します。

# systemctl restart atomic-openshift-master-api atomic-openshift-master-controllers
Pod の Preset の作成
管理者または開発者は、settings.k8s.io/v1alpha1 API、挿入する情報、および Pod に一致するラベルセレクターを使用して Pod の Preset を作成します。
kind: PodPreset
apiVersion: settings.k8s.io/v1alpha1
metadata:
  name: allow-database
spec:
  selector:
    matchLabels:
      role: frontend
  env:
    - name: DB_PORT
      value: "6379"
  volumeMounts:
    - mountPath: /cache
      name: cache-volume
  volumes:
    - name: cache-volume
      emptyDir: {}
Pod の作成

開発者は Pod の Preset のラベルセレクターに一致するラベルを使って Pod を作成します。

  1. Pod の Preset のラベルセレクターに一致するラベルで標準的な Pod 仕様を作成します。

    apiVersion: v1
    kind: Pod
    metadata:
      name: website
      labels:
        app: website
        role: frontend
    spec:
      containers:
        - name: website
          image: ecorp/website
          ports:
            - containerPort: 80
  2. Pod を作成します。

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

    $ oc get pod website -o yaml
    
    apiVersion: v1
    kind: Pod
    metadata:
      name: website
      labels:
        app: website
        role: frontend
      annotations:
        podpreset.admission.kubernetes.io/allow-database: "resource version" 1
    spec:
      containers:
        - name: website
          image: ecorp/website
          volumeMounts: 2
            - mountPath: /cache
              name: cache-volume
          ports:
            - containerPort: 80
          env: 3
            - name: DB_PORT
              value: "6379"
      volumes:
        - name: cache-volume
          emptyDir: {}
    1 2 3
    アノテーションが含まれており、コンテナーのストレージおよび環境変数が挿入されています。
Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

© 2024 Red Hat, Inc.