쿠버네티스 클러스터 관련하여 다양한 테스트를 하다 보면 네트워크 대역이 다른 두 개의 클러스터가 필요할 때가 있다.
단순히 파드나 서비스 대역이 다른 것이 아닌, 노드 대역을 다르게 설정하려면 Docker 컨테이너의 네트워크 대역이 달라야 한다.
Docker 컨테이너 네트워크 생성
green 클러스터를 위한 네트워크 브리지를 하나 생성한다.
docker network create --subnet=172.18.0.0/16 green-net
이번에는 다른 클러스터를 위한 blue 네트워크 브리지를 생성한다.
docker network create --subnet=172.19.0.0/16 blue-net
생성 후 확인하면 브리지 네트워크가 생성된 것을 볼 수 있다.
green 클러스터 생성하기
환경변수를 이용하여 실험적인 기능을 활성화할 수 있다. KIND_EXPERIMENTAL_DOCKER_NETWORK 변수에 값을 설정하면 네트워크를 지정하여 클러스터를 생성할 수 있다.
export KIND_EXPERIMENTAL_DOCKER_NETWORK=green-net
이제 클러스터를 생성한다.
kind create cluster --name green
노드의 아이피를 보면 설정한 브릿지로 잘 클러스터가 생성된 것을 확인할 수 있다.
blue 클러스터 생성하기
생성 과정은 위와 동일하다. (그러니까 생략!)
통신 확인하기
이제 green 클러스터에 nginx를 띄우고 blue 노드에서 접근 가능한지 확인한다.
# nginx 파드 생성
kubectl run nginx --image=nginx:latest
# 서비스 생성
kubectl expose pod nginx --port 80
이 서비스를 노드 포트로 변경한다.
노드의 IP는 172.18.0.2이므로, 이 IP로 blue 클러스터의 노드에서 호출해본다.
원했던건.. 통신이 안되어야하는데.. 된다.. 아마 브릿지 모드라서 그런것 같다.
하지만 다른 노드에서 파드 대역으로 통신하려고 하면 이건 당연히 되지 않는다.
'K8S > ecosystem' 카테고리의 다른 글
Kubernetes Controller에서 Owns와 Watches의 차이점 (0) | 2024.10.25 |
---|---|
Operator 개발: 컨트롤러 동작방식 이해하기 (0) | 2024.10.14 |
쿠버네티스 Metric Server 설치 및 확인 방법 (0) | 2024.09.24 |
Kubernetes KEDA: 이벤트 기반 자동 확장 플랫폼 (0) | 2024.09.24 |