: (하지 GCE 또는 AWS와 같은 클라우드 제공자에) 클러스터는 우리 자신의 베어 메탈 시스템에서 실행되는Kubernetes 서비스에 여러 서브넷의 베어 메탈에 고정 주소를 지정하는 방법은 무엇입니까? 나는 다음과 같은 특성을 가진는 Kubernetes 배포하고 있어요
- 작업자 기계가 여러 걸쳐 단지 마치에 예약 할에
- 핀 특정 서비스 : 서브넷 보안상의 이유로
, 우리는 다음을 수행 싶습니다 특정 서브넷의 nes (이 방법은 이미 간단합니다.)
- 다른 서브넷에서 실행되는 서비스로부터 통신을 수락해야하는 서비스의 경우 주소 (IP, 포트 또는 둘 다). 그런 다음 라우터의 ACL을 정적으로 구성하여 이러한 통신 만 허용하십시오.
나는 몇 가지 접근법을 제안했지만, 내가 알 수있는 한, 그들은 모두 어떤 식 으로든 부족하다. 그들은 다음과 같습니다 :
- LoadBalancer을 사용하십시오. LoadBalancers는 현재 GCE 또는 AWS로드 밸런서 만 지원하기 때문에 작동하지 않습니다.
- NodePorts을 사용하십시오. 내가 말할 수있는 한 Kubernetes에게 특정 기계 서브 세트 (이 경우 서비스와 동일한 서브넷에있는 시스템) 만 갖도록 지시 할 방법이 없기 때문에이 포트에서 수신하고 트래픽을 서비스 (모든 서브넷에있는 모든 컴퓨터가 수신 및 전달 트래픽을 사용할 수없는 이유는 서비스 인스턴스가 예약 될 IP 주소/포트를 미리 알 수 없기 때문에 정적으로 구성 할 수 없기 때문입니다 라우터의 ACL).
- External IPs을 사용하십시오. 이는 아마도 실행 가능한 서비스와 가장 비슷하지만 해당 서브넷 외부 서비스와의 연결을 허용해야하는 특정 서브넷의 서비스 수가 서브넷의 IP 수보다 많지 않아야합니다.
이 문제를 해결하는 다른 방법이 있습니까? 이 문제를 해결하는 커스텀 소프트웨어를 작성하는 것은 선택 사항이지만 가능하다면 피하고 싶습니다.
"_How이는 Kubernetes 서비스를 여러 서브넷에서 베어 메탈에 고정 주소를 부여하기 _?"정말 이해가되지 않습니다 질문을. 주소는 하나의 네트워크에만 있고 복수의 네트워크에는 없습니다. 네트워크마다 다른 주소를 할당해야합니다. –