Kubernetes에서 kube-proxy가 네트워크 프록시라는 것은 누구나 알고 있습니다. 주요 역할은 클러스터의 서비스에 대한 로드 밸런싱 및 서비스 검색 기능을 제공하는 것입니다. kube-proxy에는 다양한 작동 모드가 있으며 그 중 iptables 모드와 ipvs 모드는 두 가지 공통 모드입니다. iptables 모드에서 kube-proxy는 iptables 규칙을 통해 로드 밸런싱 및 서비스 검색을 구현하는 반면, ipvs 모드는 Linux 커널의 IPVS(IP 가상 서버) 기술을 사용하여 보다 효율적인 로드 밸런싱을 달성합니다. 적절한 모드를 선택하는 것은 클러스터의 요구 사항과 성능 요구 사항에 따라 다릅니다. iptables 모드는 소규모 클러스터에 적합하고, ipvs 모드는 더 나은 성능과 확장성을 제공하므로 대규모 클러스터에 더 적합합니다. 따라서 Kubernetes 클러스터를 배포할 때는 실제 요구 사항과 규정을 기반으로 해야 합니다
iptables 및 ipvs는 로드 밸런싱 및 서비스 검색에 사용되는 Linux 커널의 네트워크 프록시 기술입니다. 차이점은 iptables는 규칙 기반 방화벽인 반면 ipvs는 네트워크 계층 기반 로드 밸런싱 도구라는 것입니다.
iptables 규칙을 기반으로 한 구현은 로드 밸런싱 및 서비스 검색을 달성하기 위해 각 노드에 일련의 규칙을 추가하는 것이며, ipvs는 네트워크 프록시를 보다 효율적으로 처리할 수 있는 커널 수준 로드 밸런싱 기술입니다. Iptables는 주로 네트워크 패킷 필터링 및 전달에 중점을 두고 있는 반면, ipvs는 네트워크 리소스를 보다 효과적으로 관리하고 최적화할 수 있는 로드 밸런싱 및 트래픽 분산에 중점을 두고 있습니다. 두 가지를 합리적으로 결합하면 네트워크 트래픽의 균형이 더 잘 유지되고 효율적으로 처리될 수 있으며 시스템의 전반적인 성능과 안정성이 향상될 수 있습니다.
고부하 조건에서 ipvs 모드의 kube-proxy는 커널 수준을 기반으로 네트워크 부하 분산을 수행하고 더 효율적이기 때문에 더 나은 성능을 발휘합니다. 그러나 일부 시나리오에서는 Iptables 모드가 더 나은 성능을 얻을 수도 있습니다.
Iptables 모드의 kube-proxy Kubernetes 버전 1.16 이전에는 iptables를 사용하여 포트 전달을 구현하면 TCP 기반 로드 밸런싱 및 서비스 검색만 구현할 수 있었고 4계층 로드 밸런싱을 지원할 수 없었습니다. Kubernetes 버전 1.16에는 4계층 로드 밸런싱을 지원할 수 있는 iptables-nat 모드가 추가되었습니다. 이와 대조적으로 ipvs 모드는 TCP, UDP, SCTP 및 4계층 로드 밸런싱을 지원하고 온라인 해시, IP 해시, 라운드 로빈 및 최소 연결과 같은 다중 로드 밸런싱 알고리즘을 지원합니다.
iptables의 한 가지 단점은 커널 수준에서 작동한다는 것입니다. iptables 규칙이 너무 번거로울 경우 시스템 성능에 영향을 미칠 수 있습니다. 또한 iptables 규칙은 커널에 중앙 집중화되어 있기 때문에 상대적으로 수정하기가 어렵습니다.
Kubernetes 시스템에서 kubeadm 관리 도구는 kube-proxy를 처리하기 위해 기본적으로 ipvs 모드를 선택합니다. 동시에 Kubernetes는 자동 풀업, 롤백, 장애 조치 등과 같은 다양한 예외 처리 메커니즘도 제공합니다. ., 시스템 안정성과 높은 성능을 보장하여 iptables 처리 중에 발생할 수 있는 문제를 방지하고 오류 처리 및 내결함성 측면에서 전체 시스템의 성능을 향상시킵니다.
작업은 모든 노드에서 진행됩니다
<code>cat >> /etc/sysctl.conf/etc/sysconfig/modules/ipvs.modules</code>
위 내용은 Kubernetes 클러스터에서 Iptable을 Ipv로 바꾸는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!