24.18. Egress IP アドレスの割り当て
クラスター管理者は、namespace または namespace の特定の Pod からクラスターを出るトラフィックに Egress IP アドレスを割り当てることができます。
24.18.1. Egress IP アドレスの namespace への割り当て
1 つ以上の Egress IP アドレスを namespace または namespace の特定の Pod に割り当てることができます。
前提条件
-
OpenShift CLI (
oc
) がインストールされている。 - クラスター管理者としてクラスターにログインします。
- Egress IP アドレスをホストするように 1 つ以上のノードを設定します。
手順
EgressIP
オブジェクトを作成します。-
<egressips_name>.yaml
ファイルを作成します。<egressips_name>
はオブジェクトの名前になります。 作成したファイルで、以下の例のように
EgressIP
オブジェクトを定義します。apiVersion: k8s.ovn.org/v1 kind: EgressIP metadata: name: egress-project1 spec: egressIPs: - 192.168.127.10 - 192.168.127.11 namespaceSelector: matchLabels: env: qa
-
オブジェクトを作成するには、以下のコマンドを入力します。
$ oc apply -f <egressips_name>.yaml 1
- 1
<egressips_name>
をオブジェクトの名前に置き換えます。
出力例
egressips.k8s.ovn.org/<egressips_name> created
-
オプション: 後に変更できるように
<egressips_name>.yaml
ファイルを保存します。 Egress IP アドレスを必要とする namespace にラベルを追加します。手順 1 で定義した
EgressIP
オブジェクトの namespace にラベルを追加するには、以下のコマンドを実行します。$ oc label ns <namespace> env=qa 1
- 1
<namespace>
は、Egress IP アドレスを必要とする namespace に置き換えてください。
検証
クラスターで使用されているすべての Egress IP を表示するには、次のコマンドを入力します。
$ oc get egressip -o yaml
注記oc get egressip
コマンドは、設定されている数に関係なく、1 つの Egress IP アドレスのみを返します。これはバグではなく、Kubernetes の制限です。回避策として、-o yaml
または-o json
フラグを渡して、使用中のすべての Egress IP アドレスを返すことができます。出力例
# ... spec: egressIPs: - 192.168.127.10 - 192.168.127.11 # ...