>

이 구성 매개 변수 "controlPlaneEndpoint"를 사용하는 방법에 중점을두고 있습니다. 현재 "controlPlaneEndpoint"를 사용하는 것은 버그입니다. https://kubernetes.io/docs/setup/independent/high-availability/

실제로 내 실제 상황을 볼 수 있기를 바랍니다.

먼저, 구성 매개 변수 "controlPlaneEndpoint"가 VIP 또는로드 밸런싱입니까? 따라서 4 개의 레이어로드 밸런싱으로"controlPlaneEndpoint"를 구성합니다. 나는 aws \ ali를 시도했다. 모든 결과에 따르면 사용 중 시간 초과 가능성이 있으며 kubeadm을 사용하여 설치하는 동안 "nodexxx를 찾을 수 없음"이 100 % 나타납니다.

이러한 이유는 무엇입니까? "controlPlaneEndpoint"매개 변수에서 4 개의로드 밸런싱 계층을 사용하면 네트워크 문제가 발생합니다. 예를 들어 ServerA 、 ServerB 、 ServerC라는 3 개의 마스터가 있는데 serverA에"kubectl get pod"명령을 입력합니다. 시간 초과 가능성은 33 %입니다. serverA 요청이 4 계층로드 밸런싱을 통해 ServerB 또는 ServerC로 전달되면 모든 것이 정상입니다. 요청이 4 계층로드 밸런싱을 통해 ServerA 자체로 전달되면 시간 초과가 발생합니다.

ServerA가 요청 자일뿐만 아니라 서버 일 때는 4 계층로드 밸런싱을 사용할 수 없기 때문입니다. 이것이 4 계층로드 밸런싱의 네트워크 기능입니다. 같은 이유로 kubeadm으로 새 클러스터를 만들 때 첫 번째 마스터는 serverA입니다. ServerA의 apiserver가 이미 도커에서 실행 중이고 ServerA-IP : 6443 성공적으로 텔넷으로 연결할 수 있지만 kubelet은 매개 변수 "controlPlaneEndpoint"에서 4 계층로드 밸런싱 -IP : prot를 검사합니다. 따라서 "controlPlaneEndpoint"를 구성 할 때 kubeadm을 사용하여 설치하는 동안 "nodexxx를 찾을 수 없습니다"라는 메시지가 100 % 나타납니다.

ali와 같은 퍼블릭 클라우드 환경에서는 keepalived + haproxy를 사용할 수 없습니다. 즉, 매개 변수 "controlPlaneEndpoint"를 사용하려면 k8s-apiserver에 7 개의로드 밸런싱 계층을 사용해야합니다. 맞습니까?

레이어 7로드 밸런싱으로 kubeadm-config를 구성하는 방법은 무엇입니까? https, kubeadm 인증에 문제가있었습니다. 문서가 있습니까?

  • 답변 # 1

    우리는 똑같은 문제를 겪고 있지만 Azure Load Balancer (레벨 4)에 있습니다.

    1) "kubeadm init"가 실행되는 첫 번째 마스터 노드에서로드 밸런서를 통해 자체 통신을 시도하기 때문에 실패합니다.

    2) "kubeadm join"이 실행되는 다른 모든 마스터 노드에서로드 밸런서가 이미있는 (N-1) 노드가 아닌 노드 자체를 선택할 때 1/N의 실패 가능성이 있습니다. 클러스터.

    iptables 규칙을 사용하여 해킹을당했습니다. 예를 들어 "kubeadm init"앞의 첫 번째 노드에서 iptables를 만들어로드 밸런서 ip를 127.0.0.1로 라우팅합니다.

    와이즈 비즈

    물론 kubeadm init 후에 iptables 규칙을 삭제합니다. 이 작업을 수행 할 사람을 권장하지 않습니다.이 작업은 불쾌한 해킹입니다.이 게시물의 의도는 우리가 무엇을 잃어 버렸는지 알 수있는 누군가에게 올바른 솔루션이 무엇인지 게시하도록 강요하는 것입니다.

    원래 포스터 : 나는 우리가 레벨 7 LB를 사용하려는 의도는 아니라고 생각합니다. 레벨 4 만 있으면된다는 문서가 명확합니다.

    올바른 해결책을 찾으면 다시 게시하겠습니다.

    iptables -t nat -A OUTPUT -p all -d ${FRONTEND_IP} -j DNAT --to-destination 127.0.0.1

  • 이전 파이썬의 알고리즘 (숫자)
  • 다음 c# - 특수 문자가 포함 된 Json을 사전으로 직렬화 해제