7.3.2. プロジェクト別のカスタム期間の指定
1 回実行 (run-once) Pod のグローバルな最長期間を設定することに加え、管理者はアノテーション (openshift.io/active-deadline-seconds-override
) を特定プロジェクトに追加し、グローバルのデフォルト値を上書きすることができます。
新規プロジェクトの場合、プロジェクト仕様の .yaml ファイルにアノテーションを定義します。
apiVersion: v1 kind: Project metadata: annotations: openshift.io/active-deadline-seconds-override: "1000" 1 name: myproject
- 1
- 1 回実行 (run-once) Pod のデフォルト有効期限 (秒単位) を 1000 秒に上書きします。上書きに使用する値は、文字列形式で指定される必要があります。
既存プロジェクトの場合、以下を実行します。
oc edit
を実行し、openshift.io/active-deadline-seconds-override: 1000
アノテーションをエディターで追加します。$ oc edit namespace <project-name>
または
oc patch
コマンドを使用します。$ oc patch namespace <project_name> -p '{"metadata":{"annotations":{"openshift.io/active-deadline-seconds-override":"1000"}}}'
7.3.2.1. Egress ルーター Pod のデプロイ
例7.1 Egress ルーターの Pod 定義の例
apiVersion: v1 kind: Pod metadata: name: egress-1 labels: name: egress-1 annotations: pod.network.openshift.io/assign-macvlan: "true" spec: containers: - name: egress-router image: openshift3/ose-egress-router securityContext: privileged: true env: - name: EGRESS_SOURCE 1 value: 192.168.12.99 - name: EGRESS_GATEWAY 2 value: 192.168.12.1 - name: EGRESS_DESTINATION 3 value: 203.0.113.25 nodeSelector: site: springfield-1 4
pod.network.openshift.io/assign-macvlan annotation
はプライマリーネットワークインターフェイスに Macvlan ネットワークインターフェイスを作成してから、それを Pod のネットワーク namespace に移行し、egress-router コンテナーを起動します。
"true"
の周りの引用符をそのまま残します。これらを省略するとエラーが生じます。
Pod には openshift3/ose-egress-router イメージを使用する単一コンテナーが含まれ、そのコンテナーは特権モードで実行されるので、Macvlan インターフェイスを設定したり、iptables
ルールをセットアップしたりできます。
環境変数は egress-router イメージに対し、使用するアドレスを指示します。 これは、EGRESS_SOURCE
を IP アドレスとして、また EGRESS_GATEWAY
をゲートウェイとして使用するよう Macvlan を設定します。
NAT ルールが設定され、Pod のクラスター IP アドレスの TCP または UDP ポートへの接続が EGRESS_DESTINATION
の同じポートにリダイレクトされるようにします。
クラスター内の一部のノードのみが指定されたソース IP アドレスを要求でき、指定されたゲートウェイを使用できる場合、受け入れ可能なノードを示す nodeName
または nodeSelector
を指定することができます。