¿Cómo creo varios grupos de nodos para los nodos de Amazon EKS mediante eksctl?

3 minutos de lectura
0

Quiero crear varios grupos de nodos para los nodos de Amazon Elastic Kubernetes Service (Amazon EKS) mediante eksctl.

Descripción breve

Puede crear un grupo de nodos mediante eksctl con parámetros predeterminados o con parámetros personalizados mediante un archivo de configuración para varios grupos de nodos.

Resolución

Crear un grupo de nodos con parámetros predeterminados

1.Instale eksctl.

2.Para confirmar que eksctl está configurado e instalado en el terminal con los permisos correctos, ejecute este comando:

$ eksctl version

3.Para crear un grupo de nodos adicional con parámetros predeterminados, ejecute este comando:

$ eksctl create nodegroup --cluster=yourClusterName --name=yourNodeGroupName --region yourRegionName

Estos son los parámetros predeterminados:

Instance type = m5.large
AMI : lastest AWS EKS AMI
Nodes-desired capacity = 2
Nodes-min capacity =2
Nodes-max capacity=2

Nota: De forma predeterminada, los nuevos grupos de nodos heredan la versión de Kubernetes instalada desde el plano de control (—version=auto), pero puede especificar una versión diferente de Kubernetes (por ejemplo, version=1.13). Para usar la versión más reciente de Kubernetes, ejecute el comando —version=latest.

4.Abra la consola de AWS CloudFormation y elija la pila asociada al grupo de nodos que creó. A continuación, seleccione la pestaña Eventos para buscar un evento de AWS CloudFormation que muestre que su pila está implementada.

5.Para confirmar que los nuevos grupos de nodos están asociados al clúster y comprobar que se aplica la configuración del grupo de nodos, ejecute estos comandos:

$ Kubectl get nodes
$ eksctl get nodegroups --cluster yourClusterName

Crear un grupo de nodos con parámetros personalizados

1.Defina los parámetros del nuevo grupo de nodos en un archivo de configuración. Por ejemplo:

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 crear un grupo de nodos adicional mediante el archivo de configuración, ejecute este comando:

$ eksctl create nodegroup --config-file= yourConfigFileName

3.Abra la consola de AWS CloudFormation y, a continuación, elija la pila asociada al grupo de nodos que creó. A continuación, seleccione la pestaña Eventos para buscar un evento de AWS CloudFormation que muestre que su pila está implementada.

4.Para confirmar que los nuevos grupos de nodos están asociados al clúster y comprobar que se aplica la configuración del grupo de nodos, ejecute estos comandos:

$ kubectl get nodes
$ eksctl get nodegroups --cluster yourClusterName

Verá que sus nodos se han unido al clúster. Puede ver que los dos grupos de nodos están visibles mediante eksctl.


OFICIAL DE AWS
OFICIAL DE AWSActualizada hace 2 años