이 문서에서는 kube-proxy
를 사용하지 않고 클러스터를 만드는 방법을 보여줍니다.
kube-proxy
는 클러스터의 각 워커 노드에서 실행되는 컨트롤러입니다. Kubernetes 서비스 객체를 감시하고, 서비스 주소로 전송되는 패킷 전달을 위한 iptables 규칙을 만듭니다. 이 목적을 위한 kube-proxy
및 iptables를 사용하는 대신 kube-proxy-replacement 모드에서 Dataplane V2를 사용할 수 있습니다. 이렇게 하면 클러스터에서 kube-proxy
를 삭제할 수 있습니다.
지원되는 운영체제
kube-proxy
를 사용하지 않는 클러스터를 만들려면 지원되는 Red Hat Enterprise Linux 운영체제 중 하나를 사용합니다. Ubuntu를 사용하는 클러스터는 이 기능을 지원하지 않습니다.
kube-proxy
삭제의 이점
대량의 iptables 규칙 집합을 유지하는 데 필요한 리소스 소비를 방지합니다.
성능을 개선합니다. 특히 대규모 클러스터의 경우 iptables 규칙을 만들려면 시간이 오래 걸립니다.
kube-proxy
없이 클러스터 만들기
클러스터 만들기 주제 중 하나의 안내를 따르세요.
클러스터 구성 파일을 작성할 때 다음 주석을 포함합니다.
preview.baremetal.cluster.gke.io/kube-proxy-free: "enable"
예를 들면 다음과 같습니다.
apiVersion: baremetal.cluster.gke.io/v1 kind: Cluster metadata: name: alice namespace: cluster-alice annotations: preview.baremetal.cluster.gke.io/kube-proxy-free: "enable" ...
kube-proxy
가 클러스터에 없는지 확인
클러스터의 DaemonSets를 나열합니다.
kubectl --kubeconfig CLUSTER_KUBECONFIG \ get deamonsets --all-namespaces
CLUSTER_KUBECONFIG를 클러스터 kubeconfig 파일의 경로로 바꿉니다.
kube-proxy
가 목록에 없는지 확인합니다. 예를 들면 다음과 같습니다.
kube-system anetd kube-system audit-proxy kube-system etcd-defrag kube-system gke-metrics-agent kube-system kube-control-plane-metrics-proxy kube-system localpv kube-system metallb-speaker kube-system node-exporter kube-system stackdriver-log-forwarder