Anúncios - Guia do usuário do Eksctl

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Anúncios

Este tópico aborda anúncios anteriores de novos recursos do Eksctl.

Grupos de nós gerenciados padrão

A partir do eksctl v0.58.0, o eksctl cria grupos de nós gerenciados por padrão quando um arquivo não é especificado para e. ClusterConfig eksctl create cluster eksctl create nodegroup Para criar um grupo de nós autogerenciado, passe. --managed=false Isso pode interromper scripts que não usam um arquivo de configuração se um recurso não suportado em grupos de nós gerenciados, por exemplo, grupos de nós do Windows, estiver sendo usado. Para corrigir isso--managed=false, passe ou especifique sua configuração de grupo de nós em um ClusterConfig arquivo usando o nodeGroups campo que cria um grupo de nós autogerenciado.

Substituição de Bootstrap do Nodegroup para personalização AMIs

Essa mudança foi anunciada na edição Breaking: overrideBootstrapCommand soon... Agora, aconteceu neste PR. Leia atentamente a edição em anexo sobre por que decidimos deixar de oferecer suporte personalizado AMIs sem scripts de bootstrap ou com scripts de bootstrap parciais.

Ainda fornecemos um ajudante! Espero que migrar não seja tão doloroso. eksctlainda fornece um script que, quando fornecido, exportará algumas propriedades e configurações úteis do ambiente. Esse script está localizado aqui.

As seguintes propriedades do ambiente estarão à sua disposição:

API_SERVER_URL B64_CLUSTER_CA INSTANCE_ID INSTANCE_LIFECYCLE CLUSTER_DNS NODE_TAINTS MAX_PODS NODE_LABELS CLUSTER_NAME CONTAINER_RUNTIME # default is docker KUBELET_EXTRA_ARGS # for details, look at the script

O mínimo que precisa ser usado ao substituir para eksctl não falhar são os rótulos! eksctldepende de um conjunto específico de rótulos no nó, para que ele possa encontrá-los. Ao definir a substituição, forneça este comando mínimo de substituição:

overrideBootstrapCommand: | #!/bin/bash source /var/lib/cloud/scripts/eksctl/bootstrap.helper.sh # Note "--node-labels=${NODE_LABELS}" needs the above helper sourced to work, otherwise will have to be defined manually. /etc/eks/bootstrap.sh ${CLUSTER_NAME} --container-runtime containerd --kubelet-extra-args "--node-labels=${NODE_LABELS}"

Para grupos de nós que não têm acesso externo à Internet, você precisará fornecer --apiserver-endpoint e --b64-cluster-ca adicionar o script de bootstrap da seguinte forma:

overrideBootstrapCommand: | #!/bin/bash source /var/lib/cloud/scripts/eksctl/bootstrap.helper.sh # Note "--node-labels=${NODE_LABELS}" needs the above helper sourced to work, otherwise will have to be defined manually. /etc/eks/bootstrap.sh ${CLUSTER_NAME} --container-runtime containerd --kubelet-extra-args "--node-labels=${NODE_LABELS}" \ --apiserver-endpoint ${API_SERVER_URL} --b64-cluster-ca ${B64_CLUSTER_CA}

Observe a configuração `--node-labels`. Se isso não for definido, o nó se juntará ao cluster, mas eksctl acabará atingindo o tempo limite na última etapa, quando estiver aguardando a chegada dos nósReady. É fazer uma pesquisa no Kubernetes por nós que tenham o rótulo. alpha.eksctl.io/nodegroup-name=<cluster-name> Isso só é válido para grupos de nós não gerenciados. Para gerenciado, está usando um rótulo diferente.

Se, de alguma forma, for possível mudar para grupos de nós gerenciados para evitar essa sobrecarga, chegou a hora de fazer isso. Facilita muito a substituição.