23.9. 송신 IP 주소 할당
클러스터 관리자는 네임스페이스 또는 네임스페이스의 특정 Pod에서 클러스터를 떠나는 트래픽에 송신 IP 주소를 할당할 수 있습니다.
23.9.1. 네임스페이스에 송신 IP 주소 할당
하나 이상의 송신 IP 주소를 네임스페이스 또는 네임스페이스의 특정 Pod에 할당할 수 있습니다.
사전 요구 사항
-
OpenShift CLI(
oc
)를 설치합니다. - 클러스터 관리자로 클러스터에 로그인합니다.
- 송신 IP 주소를 호스팅할 하나 이상의 노드를 구성합니다.
프로세스
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
파일을 저장합니다. 송신 IP 주소가 필요한 네임스페이스에 라벨을 추가합니다. 1단계에서 정의된
EgressIP
오브젝트의 네임스페이스에 라벨을 추가하려면 다음 명령을 실행합니다.$ oc label ns <namespace> env=qa 1
- 1
- &
lt;namespace&
gt;를 송신 IP 주소가 필요한 네임스페이스로 바꿉니다.
검증
클러스터에서 사용 중인 모든 송신 IP를 표시하려면 다음 명령을 입력합니다.
$ oc get egressip -o yaml
참고oc get egressip
명령은 구성된 수에 관계없이 하나의 송신 IP 주소만 반환합니다. 이는 버그가 아니며 Kubernetes의 제한 사항입니다. 이 문제를 해결하려면-o yaml
또는-o json
플래그를 전달하여 사용 중인 모든 송신 IP 주소를 반환할 수 있습니다.출력 예
# ... spec: egressIPs: - 192.168.127.10 - 192.168.127.11 # ...