13.5. Pod への Egress IP の割り当て
次のコマンドを実行して新しいプロジェクトを作成します。
$ oc new-project demo-egress-pod
次のコマンドを実行して、Pod の Egress ルールを作成します。
注記spec.namespaceSelector
は必須フィールドです。$ cat <<EOF | oc apply -f - apiVersion: k8s.ovn.org/v1 kind: EgressIP metadata: name: demo-egress-pod spec: # NOTE: these egress IPs are within the subnet range(s) in which my worker nodes # are deployed. egressIPs: - 10.10.100.254 - 10.10.150.254 - 10.10.200.254 namespaceSelector: matchLabels: kubernetes.io/metadata.name: demo-egress-pod podSelector: matchLabels: run: demo-egress-pod EOF
13.5.1. ノードのラベル付け
次のコマンドを実行して、保留中の Egress IP 割り当てを取得します。
$ oc get egressips
出力例
NAME EGRESSIPS ASSIGNED NODE ASSIGNED EGRESSIPS demo-egress-ns 10.10.100.253 demo-egress-pod 10.10.100.254
作成した Egress IP ルールは、
k8s.ovn.org/egress-assignable
ラベルを持つノードにのみ適用されます。ラベルが特定のマシンプールにのみ存在することを確認します。次のコマンドを使用して、マシンプールにラベルを割り当てます。
警告マシンプールのノードラベルに依存している場合は、このコマンドによってそれらのラベルが置き換えられます。ノードラベルを保持するには、必要なラベルを
--labels
フィールドに入力してください。$ rosa update machinepool ${ROSA_MACHINE_POOL_NAME} \ --cluster="${ROSA_CLUSTER_NAME}" \ --labels "k8s.ovn.org/egress-assignable="
13.5.2. Egress IP の確認
次のコマンドを実行して、Egress IP の割り当てを確認します。
$ oc get egressips
出力例
NAME EGRESSIPS ASSIGNED NODE ASSIGNED EGRESSIPS demo-egress-ns 10.10.100.253 ip-10-10-156-122.ec2.internal 10.10.150.253 demo-egress-pod 10.10.100.254 ip-10-10-156-122.ec2.internal 10.10.150.254