오픈스택 환경에서 K8s 게이트웨이 API 작동이 안되네요

환경

  • Kubeadmin으로 3 노드를 설정했습니다.
  • 컨트롤 노드는 curl을 포함한 모든 명령어를 실행하고,컨트롤 노드는 파드를 호스팅할 수 없구요. 유일하게 플로팅 IP를 가지고 있는 노드입니다. 워커 노드는 모든 파드를 실행하고 오직 오픈스택의 사설 IP만 사용합니다. 플로팅 IP를 더 이상 받을 수 없고, NGINX 게이트웨이 Fabric을 사용하여 API 구현 중입니다.

문의

위의 문서를 따라가서면서 구축을 하는 중인데요. 배포, 서비스 및 게이트웨이를 설정하는 데는 오류 메시지가 없었지만, curl을 실행하면 서버에 연결할 수 없다는 메시지만 나옵니다. ㅠㅠ

시도해본 것과 증상

  • 워커와 컨트롤 노드에서 80번과 8080번 포트를 허용하도록 보안 그룹 조정
  • kubectl getdescribe 보면, 서비스에 대해 외부 IP가 “none” 또는 “pending” 상태 ← 원인을 모름
  • 로그에는 오류 정보는 보이지 않음.
  • 게이트웨이에서 호스트명을 변경
  • netstat로 포트를 확인했는데, 워커 노드만 :::80에서 리스닝 중

전문가분들의 고견을 부탁드립니다.

2 Likes

MetalLB 같은 LoadBalancer 구현체를 별도 설치하셔야 할 듯 싶네요.

초기 구축시 별도의 LB 구현체 설치하지 않으시면, LoadBalancer type 의 서비스는 동작하지 않습니다.

2 Likes

아하.. 그렇군요. 제가 놓친 부분이 있었나봅니다. 말씀 주신 MetalLB도 같이 한번 보겠습니다. @kalee 님! 감사합니다.

1 Like