27.11. config map からの Egress ルーター Pod 宛先一覧の設定
クラスター管理者は、Egress ルーター Pod の宛先マッピングを指定する ConfigMap
オブジェクトを定義できます。設定の特定の形式は、Egress ルーター Pod のタイプによって異なります。形式の詳細は、特定の Egress ルーター Pod のドキュメントを参照してください。
27.11.1. config map を使用した Egress ルーター宛先マッピングの設定
宛先マッピングのセットのサイズが大きいか、これが頻繁に変更される場合、config map を使用して一覧を外部で維持できます。この方法の利点は、設定マップを編集するパーミッションを cluster-admin
権限を持たないユーザーに委任できることです。Egress ルーター Pod には特権付きコンテナーを必要とするため、cluster-admin
権限を持たないユーザーは Pod 定義を直接編集することはできません。
Egress ルーター Pod は、config map が変更されても自動的に更新されません。更新を取得するには、Egress ルーター Pod を再起動する必要があります。
前提条件
-
OpenShift CLI (
oc
) がインストールされている。 -
cluster-admin
権限を持つユーザーとしてログインしている。
手順
以下の例のように、Egress ルーター Pod のマッピングデータが含まれるファイルを作成します。
# Egress routes for Project "Test", version 3 80 tcp 203.0.113.25 8080 tcp 203.0.113.26 80 8443 tcp 203.0.113.26 443 # Fallback 203.0.113.27
空の行とコメントをこのファイルに追加できます。
このファイルから
ConfigMap
オブジェクトを作成します。$ oc delete configmap egress-routes --ignore-not-found
$ oc create configmap egress-routes \ --from-file=destination=my-egress-destination.txt
直前のコマンドで、
egress-routes
値は、作成するConfigMap
オブジェクトの名前で、my-egress-destination.txt
はデータの読み取り元のファイルの名前です。ヒントまたは、以下の YAML を適用して config map を作成できます。
apiVersion: v1 kind: ConfigMap metadata: name: egress-routes data: destination: | # Egress routes for Project "Test", version 3 80 tcp 203.0.113.25 8080 tcp 203.0.113.26 80 8443 tcp 203.0.113.26 443 # Fallback 203.0.113.27
Egress ルーター Pod 定義を作成し、environment スタンザの
EGRESS_DESTINATION
フィールドにconfigMapKeyRef
スタンザを指定します。... env: - name: EGRESS_DESTINATION valueFrom: configMapKeyRef: name: egress-routes key: destination ...