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"
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 arquivo 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