Como faço para criar vários grupos de nós para os nós do Amazon EKS usando eksctl?
Quero criar vários grupos de nós para os nós do Amazon Elastic Kubernetes Service (Amazon EKS) usando eksctl.
Breve descrição
Você pode criar um grupo de nós usando eksctl com parâmetros padrão ou com parâmetros personalizados usando um arquivo de configuração para vários grupos de nós.
Resolução
Crie um grupo de nós com parâmetros padrão
1. Instale o eksctl.
2. Para confirmar se o eksctl está configurado e instalado no terminal com as permissões corretas, execute este comando:
$ eksctl version
3. Para criar um grupo de nós adicional com parâmetros padrão, execute este comando:
$ eksctl create nodegroup --cluster=yourClusterName --name=yourNodeGroupName --region yourRegionName
Aqui estão os parâmetros padrão:
Instance type = m5.large AMI : lastest AWS EKS AMI Nodes-desired capacity = 2 Nodes-min capacity =2 Nodes-max capacity=2
Observação: por padrão, novos grupos de nós herdam a versão do Kubernetes instalada do ambiente de gerenciamento (–version=auto), mas você pode especificar uma versão diferente do Kubernetes (por exemplo, version=1.13). Para usar a versão mais recente do Kubernetes, execute o comando –version=latest.
4. Abra o console do AWS CloudFormation e selecione a pilha associada ao grupo de nós que você criou. Em seguida, selecione a guia Eventos para procurar um evento do AWS CloudFormation mostrando que sua pilha está implantada.
5. Para confirmar se os novos grupos de nós estão conectados ao cluster e verificar se a configuração do grupo de nós está aplicada, execute estes comandos:
$ Kubectl get nodes $ eksctl get nodegroups --cluster yourClusterName
Crie um grupo de nós com parâmetros personalizados
1. Defina os parâmetros para o novo grupo de nós em um arquivo de configuração. Por exemplo:
kind: ClusterConfig apiVersion: eksctl.io/v1alpha5 metadata: name: yourClusterName region: yourRegionName nodeGroups: - name: ng1-Workers availabilityZones: ["az-name"] desiredCapacity: 3 instanceType: m5.large iam: instanceProfileARN: "arn:aws:iam::11111:instance-profile/eks-nodes-base-role" #Attaching IAM role instanceRoleARN: "arn:aws:iam::1111:role/eks-nodes-base-role" privateNetworking: true securityGroups: withShared: true withLocal: true attachIDs: ['sg-11111', 'sg-11112'] ssh: publicKeyName: 'my-instance-key' kubeletExtraConfig: kubeReserved: cpu: "300m" memory: "300Mi" ephemeral-storage: "1Gi" kubeReservedCgroup: "/kube-reserved" systemReserved: cpu: "300m" memory: "300Mi" ephemeral-storage: "1Gi" tags: 'environment': 'development' - name: ng-2-builders #example of a nodegroup that uses 50% spot instances and 50% on demand instances: minSize: 2 maxSize: 5 instancesDistribution: maxPrice: 0.017 instanceTypes: ["t3.small", "t3.medium"] # At least two instance types should be specified onDemandBaseCapacity: 0 onDemandPercentageAboveBaseCapacity: 50 spotInstancePools: 2 tags: 'environment': 'production'
2. Para criar um grupo de nós adicional usando o arquivo de configuração, execute este comando:
$ eksctl create nodegroup --config-file= yourConfigFileName
3. Abra o console do AWS CloudFormation e selecione a pilha associada ao grupo de nós que você criou. Em seguida, selecione a guia Eventos para procurar um evento do AWS CloudFormation mostrando que sua pilha está implantada.
4. Para confirmar se os novos grupos de nós estão conectados ao cluster e verificar se a configuração do grupo de nós está aplicada, execute estes comandos:
$ kubectl get nodes $ eksctl get nodegroups --cluster yourClusterName
Você vê que seus nós se juntaram ao cluster. Você pode ver que os dois grupos de nós estão visíveis usando o eksctl.
Vídeos relacionados
Conteúdo relevante
- Como inicio e soluciono problemas de instâncias spot usando grupos de nós gerenciados do Amazon EKS?AWS OFICIALAtualizada há um ano
- AWS OFICIALAtualizada há um ano
- AWS OFICIALAtualizada há um ano
- AWS OFICIALAtualizada há 2 anos