Neste documento, mostramos como criar um cluster que não usa kube-proxy
.
kube-proxy
é um controlador executado em cada nó de trabalho em um cluster. Ele
observa objetos de serviço do Kubernetes e cria regras
iptables
para encaminhar pacotes que são enviados para endereços do serviço. Uma alternativa ao
uso de kube-proxy
e iptables para essa finalidade é usar o Dataplane V2 no
modo kube-proxy-replacement. Isso permite a remoção de kube-proxy
do
cluster.
Sistemas operacionais compatíveis
Para criar um cluster que não usa kube-proxy
, use um dos sistemas operacionais
Red Hat Enterprise Linux
compatíveis ou um sistema operacional
Ubuntu
compatível com a versão do kernel 5.7.0 ou posterior. Se o cluster usar um
sistema operacional Ubuntu com uma versão do kernel anterior à 5.7.0, esse recurso
não será compatível.
Vantagens de remover kube-proxy
Evite o consumo de recursos necessário para manter um grande conjunto de regras iptables.
Melhore o desempenho. A criação de regras do iptables é demorada, especialmente para clusters grandes.
Criar um cluster sem kube-proxy
Siga as instruções em um dos tópicos de criação de cluster.
Ao preencher o arquivo de configuração do cluster, inclua a anotação a seguir:
preview.baremetal.cluster.gke.io/kube-proxy-free: "enable"
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 arquivo kubeconfig do cluster.
Verifique se kube-proxy
não está na lista. 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