Este documento mostra como criar um cluster que não usa kube-proxy
.
kube-proxy
é um controlador que é executado em cada nó de trabalho num cluster. Monitoriza os objetos de serviço do Kubernetes e cria regras de iptables para encaminhar pacotes enviados para endereços de serviço. Uma alternativa à utilização de kube-proxy
e iptables para este fim é usar o Dataplane V2 no modo de substituição do kube-proxy. Isto permite a remoção de kube-proxy
do cluster.
Sistemas operativos compatíveis
Para criar um cluster que não use o kube-proxy
, use um dos sistemas operativos Red Hat Enterprise Linux compatíveis ou um sistema operativo Ubuntu compatível com a versão 5.7.0 ou posterior do kernel. Se o seu cluster usar um sistema operativo Ubuntu com uma versão do kernel anterior a 5.7.0, esta funcionalidade não é suportada.
Vantagens da remoção de kube-proxy
Evitar o consumo de recursos necessário para manter um grande conjunto de regras de iptables.
Melhorar o desempenho. A criação de regras de iptables é demorada, especialmente para clusters grandes.
Crie um cluster sem kube-proxy
Siga as instruções num dos tópicos de criação de clusters.
À medida que preenche o ficheiro de configuração do cluster, inclua a seguinte anotação:
preview.baremetal.cluster.gke.io/kube-proxy-free: "enable"
Por exemplo:
apiVersion: baremetal.cluster.gke.io/v1 kind: Cluster metadata: name: alice namespace: cluster-alice annotations: preview.baremetal.cluster.gke.io/kube-proxy-free: "enable" ...
Verifique se kube-proxy
não está no seu cluster
Liste os DaemonSets no cluster:
kubectl --kubeconfig CLUSTER_KUBECONFIG \ get daemonsets --all-namespaces
Substitua CLUSTER_KUBECONFIG pelo caminho do ficheiro kubeconfig do cluster.
Verifique se kube-proxy
não está na lista. Por exemplo:
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