• ¡Obtenga la seguridad de la aplicación de la manera correcta! Detectar, proteger, monitorear, acelerar y más ...
  • Aprendamos sobre Kops, una herramienta de operaciones de Kubernetes.

    Kubernetes es una de las herramientas de DevOps más populares debido a su increíble sistema y funciones de orquestación de contenedores. Pero aunque Kubernetes ofrece tantas funcionalidades que configurar un clúster de Kubernetes desde cero es complicado. Aquí es donde entra en escena Kops.

    Con Kops, es muy fácil crear un clúster de Kubernetes en proveedores de nube como AWS, Google Cloud, etc. Hace que configurar un clúster de Kubernetes sea sencillo y, en este artículo, hablaré de esta increíble herramienta.

    ¿Qué es Kops?

    Kops, también conocido como operaciones de Kubernetes, es un proyecto oficial de Kubernetes de código abierto que le permite crear, mantener, actualizar y destruir un clúster de Kubernetes de nivel de producción de alta disponibilidad. Aprovisiona la infraestructura en la nube también según los requisitos. Los desarrolladores de Kops lo describen como kubectl para clústeres de Kubernetes.

    Kops se utiliza principalmente en la implementación de clústeres de AWS y GCE Kubernetes. Kops admite oficialmente solo AWS, otros proveedores de nube como DigitalOcean, GCE y OpenStack se encuentran en la etapa beta.

    Si ha trabajado en kubectl antes, se sentirá cómodo trabajando en Kops. Kops proporciona comandos para crear, obtener, actualizar y eliminar clústeres. Además, Kops sabe cómo aplicar cambios en los clústeres existentes, ya que utiliza una configuración declarativa. Con Kops, también puede escalar hacia arriba y hacia abajo un clúster de Kubernetes.

    A continuación se muestran las características de Kops:

    • Implementa maestros de Kubernetes con alta disponibilidad
    • Se admiten actualizaciones continuas de clústeres
    • Automatiza el aprovisionamiento de clústeres de AWS y GCE Kubernetes
    • Administra complementos del clúster
    • Autocompletado de comando en la línea de comando
    • Genera configuraciones de CloudFormation y Terraform
    • Admite el modelo de sincronización de estado para ensayos en seco e idempotencia automática
    • Crea grupos de instancias para admitir clústeres heterogéneos

    Instalación de Kops

    A continuación, se muestran sencillos pasos para instalar Kops en un entorno Linux. Estoy usando Ubuntu 20.x.

    Primero, descargue Kops del paquete de lanzamientos. El siguiente comando descarga el último paquete de Kops.

    [email protected]:~$ curl -Lo kops https://github.com/kubernetes/kops/releases/download/$(curl -s https://api.github.com/repos/kubernetes/kops/releases/latest | grep tag_name | cut -d '"' -f 4)/kops-linux-amd64
    
    Saving to: ‘kops-linux-amd64’
    100%[=========================================================================================================================================================================>] 81,964,000  8.37MB/s   in 7.1s   
    2021-06-10 16:23:19 (7.84 MB/s) - ‘kops-linux-amd64’ saved [81964000/81964000]

    Debe proporcionar permiso ejecutable al archivo kops que descargó y moverlo al directorio / usr / local / bin /.

    [email protected]:~$ sudo chmod +x kops-linux-amd64
    [email protected]:~$ sudo mv kops-linux-amd64 /usr/local/bin/kops

    La instalación está lista. Ahora puede ejecutar el comando kops para verificar la instalación.

    [email protected]:~$ kops
    kops is Kubernetes ops.
    kops is the easiest way to get a production grade Kubernetes cluster up and running. We like to think of it as kubectl for clusters.
    
    kops helps you create, destroy, upgrade and maintain production-grade, highly available, Kubernetes clusters from the command line. AWS (Amazon Web Services) is currently officially supported, with GCE and VMware vSphere in alpha support.
    
    Usage:
    kops [command]
    
    Available Commands:
    completion Output shell completion code for the given shell (bash or zsh).
    create Create a resource by command line, filename or stdin.
    delete Delete clusters,instancegroups, or secrets.
    describe Describe a resource.
    edit Edit clusters and other resources.
    export Export configuration.
    get Get one or many resources.
    import Import a cluster.
    replace Replace cluster resources.
    rolling-update Rolling update a cluster.
    toolbox Misc infrequently used commands.
    update Update a cluster.
    upgrade Upgrade a kubernetes cluster.
    validate Validate a kops cluster.
    version Print the kops version information.
    
    Flags:
    --alsologtostderr log to standard error as well as files
    --config string config file (default is $HOME/.kops.yaml)
    -h, --help help for kops
    --log_backtrace_at traceLocation when logging hits line file:N, emit a stack trace (default :0)
    --log_dir string If non-empty, write log files in this directory
    --logtostderr log to standard error instead of files (default false)
    --name string Name of cluster
    --state string Location of state storage
    --stderrthreshold severity logs at or above this threshold go to stderr (default 2)
    -v, --v Level log level for V logs
    --vmodule moduleSpec comma-separated list of pattern=N settings for file-filtered logging
    
    Use "kops [command] --help" for more information about a command.

    Verifique la versión de Kops para asegurarse de que Kops esté instalado correctamente.

    [email protected]:~$ kops version
    Version 1.20.1 (git-5a27dad)

    Veamos ahora algunos comandos importantes de Kops que los administradores utilizan ampliamente para ejecutar operaciones de Kubernetes.

    Comandos de Kops

    A continuación se muestran los comandos de Kops más utilizados que debe conocer.

    kops crea

    El comando kops create se usa para registrar un clúster.

    Sintaxis: kops crear clúster

    Hay muchos otros parámetros como zona, región, tipo de instancia, número de nodos, etc., que puede agregar además del comando predeterminado.

    actualización de kops

    El comando kops update se utiliza para actualizar el clúster con la especificación de clúster especificada.

    Sintaxis: kops update cluster –name

    Puede ejecutar este comando en el modo de vista previa para estar más seguro, y una vez que la salida de la vista previa coincida con sus expectativas, puede ejecutar el comando con la marca –yes para aplicar los cambios al clúster.

    kops consigue

    El comando kops get se usa para listar todos los clústeres.

    Sintaxis: kops obtienen racimos

    kops eliminar

    El comando kops delete se utiliza para eliminar un clúster específico del registro y todos los recursos de la nube asignados a ese clúster.

    Sintaxis: kops eliminar clúster –nombre

    Al igual que la actualización, puede ejecutar este comando también en el modo de vista previa.

    kops actualización-rodante

    El comando kops rolling-update se usa para actualizar un clúster de Kubernetes para que coincida con las especificaciones de la nube y de kops.

    Sintaxis: clúster de actualización progresiva de kops - nombre

    Al igual que la actualización, puede ejecutar este comando también en el modo de vista previa.

    kops validar

    El comando kops validate valida si el clúster que creó está activo o no. Por ejemplo, si los pods y los nodos están en estado pendiente, el comando de validación devolverá que el clúster aún no está en buen estado.

    Sintaxis: kops validar clúster –esperar

    Este comando esperará y validará el clúster durante el tiempo especificado. Entonces, si desea validar el clúster durante cinco minutos, ejecute el comando con 5m como tiempo especificado.

    Todo se trataba de los fundamentos de Kops, permítanme ahora mostrarles cómo crear un clúster de Kubernetes en AWS usando Kops.

    Configurar Kubernetes en AWS con Kops

    Antes de comenzar con los pasos que se mencionan a continuación, estos son algunos requisitos previos:

    Instalación de kubectl

    En primer lugar, instalaré kubectl.

    Kubectl se utiliza para ejecutar comandos de línea de comandos en clústeres de Kubernetes. Descargue un paquete de kubectl.

    [email protected]:~$  curl -LO https://storage.googleapis.com/kubernetes-release/release/$(curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt)/bin/linux/amd64/kubectl
      % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                     Dload  Upload   Total   Spent    Left  Speed
    100 39.6M  100 39.6M    0     0  6988k      0  0:00:07  0:00:07 --:--:-- 6988k

    Debe proporcionar permiso ejecutable al archivo descargado y moverlo al directorio / usr / local / bin /.

    [email protected]:~$ chmod +x ./kubectl
    [email protected]:~$ sudo mv ./kubectl /usr/local/bin/kubectl

    Crear segmento S3

    Una vez que tenga la AWS CLI instalada y configurada en su máquina Linux, podrá ejecutar aws comandos. Tengo aws cli instalado en mi sistema Ubuntu, así que permítanme ejecutar un comando simple que enumerará todos los depósitos en S3.

    [email protected]:~$ aws s3 ls

    Estará vacío porque no tengo ningún cubo s3 a partir de ahora. Déjame comprobar si se está ejecutando alguna instancia ec2.

    [email protected]:~$ aws ec2 describe-instances
    {
        "Reservations": []
    }

    Esto significa que no se está ejecutando ninguna instancia ec2 a partir de ahora.

    Ahora necesita crear un depósito s3 donde Kops guardará toda la información de estado del clúster. Aquí estoy creando un depósito s3 en la región us-west-2 con el nombre geekkops-bucket-1132. Puede utilizar LocationConstraint para evitar cualquier error con la región.

    [email protected]:~$ aws s3api create-bucket --bucket geekkops-bucket-1132 --region us-west-2 --create-bucket-configuration LocationConstraint=us-west-2
    {
        "Location": "http://geekkops-bucket-1132.s3.amazonaws.com/"
    }

    Si enumero el aws s3 bucket de nuevo, obtendré el cubo que acabo de crear.

    [email protected]:~$ aws s3 ls
    2021-06-10 16:30:13 geekkops-bucket-1132

    Ejecute el siguiente comando para habilitar la versión para el depósito s3.

    [email protected]:~$ aws s3api put-bucket-versioning --bucket geekkops-bucket-1132 --versioning-configuration Status=Enabled

    Generar clave

    Genere una clave ssh para la que Kops utilizará para el inicio de sesión del clúster y la generación de contraseñas.

    [email protected]:~$ ssh-keygen
    Generating public/private rsa key pair.
    Enter file in which to save the key (/home/ubuntu/.ssh/id_rsa):
    Enter passphrase (empty for no passphrase):
    Enter same passphrase again:
    Your identification has been saved in /home/ubuntu/.ssh/id_rsa.
    Your public key has been saved in /home/ubuntu/.ssh/id_rsa.pub.
    The key fingerprint is:
    SHA256:fH4JCBXMNRqzk1hmoK+cXmwSFaeBsuGBA5IWMkNuvq0 [email protected]
    The key's randomart image is:
    +---[RSA 2048]----+
    |O=. .++Xoo |
    |B++ .. @o* . |
    |.= =. = = |
    |o o o o o |
    | . . . S o |
    | o. = o . . |
    | . .= + . o |
    | .. + . |
    | E . |
    +----[SHA256]-----+

    Exportar variables de entorno

    Exponga el nombre del clúster y el depósito s3 como variables de entorno. Esto será aplicable solo para la sesión actual. Estoy usando el sufijo '.k8s.local' porque no estoy usando ningún DNS preconfigurado.

    [email protected]:~$ export KOPS_CLUSTER_NAME=geekdemo1.k8s.local
    [email protected]:~$ export KOPS_STATE_STORE=s3://geekkops-bucket-1132

    Crear el clúster

    Utilice el comando kops create para crear el clúster. A continuación se muestran los parámetros que estoy usando para crear un clúster de Kubernetes en AWS usando Kops:

    • --cloud le dice al proveedor de la nube que estoy usando
    • --zones es la zona donde se implementará la instancia del clúster
    • --node-count es la cantidad de nodos para implementar en el clúster de Kubernetes
    • --node-size y --master-size son los tipos de instancias ec2, estoy usando las micro instancias
    • --name es el nombre del clúster
    [email protected]:~$ kops create cluster --cloud=aws --zones=eu-central-1a --node-count=1 --node-size=t2.micro --master-size=t2.micro --name=${KOPS_CLUSTER_NAME}
    I0216 16:35:24.225238    4326 subnets.go:180] Assigned CIDR 172.20.32.0/19 to subnet eu-central-1a
    I0216 16:35:24.068088    4326 create_cluster.go:717] Using SSH public key: /home/ubuntu/.ssh/id_rsa.pub
    Previewing changes that will be made:
    
    I0216 16:35:24.332590    4326 apply_cluster.go:465] Gossip DNS: skipping DNS validation
    I0216 16:35:24.392712    4326 executor.go:111] Tasks: 0 done / 83 total; 42 can run
    W0216 16:35:24.792113    4326 vfs_castore.go:604] CA private key was not found
    I0216 16:35:24.938057    4326 executor.go:111] Tasks: 42 done / 83 total; 17 can run
    I0216 16:35:25.436407    4326 executor.go:111] Tasks: 59 done / 83 total; 18 can run
    I0216 16:35:25.822395    4326 executor.go:111] Tasks: 77 done / 83 total; 2 can run
    I0216 16:35:25.823088    4326 executor.go:111] Tasks: 79 done / 83 total; 2 can run
    I0216 16:35:26.406919    4326 executor.go:111] Tasks: 81 done / 83 total; 2 can run
    I0216 16:35:27.842148    4326 executor.go:111] Tasks: 83 done / 83 total; 0 can run
    
      LaunchTemplate/master-eu-central-1a.masters.geekdemo1.k8s.local
            AssociatePublicIP       true
            HTTPPutResponseHopLimit 1
            HTTPTokens              optional
            IAMInstanceProfile      name:masters.geekdemo1.k8s.local id:masters.geekdemo1.k8s.local
            ImageID                 099720109477/ubuntu/images/hvm-ssd/ubuntu-focal-20.04-amd64-server-20210119.1
            InstanceType            t2.micro
            RootVolumeSize          64
            RootVolumeType          gp2
            RootVolumeEncryption    false
            RootVolumeKmsKey
            SSHKey                  name:kubernetes.geekdemo1.k8s.local-3e:19:92:ca:dd:64:d5:cf:ff:ed:3a:92:0f:40:d4:e8 id:kubernetes.geekdemo1.k8s.local-3e:19:92:ca:dd:64:d5:cf:ff:ed:3a:92:0f:40:d4:e8
            SecurityGroups          [name:masters.geekdemo1.k8s.local]
            SpotPrice
            Tags                    {k8s.io/cluster-autoscaler/node-template/label/kubernetes.io/role: master, k8s.io/cluster-autoscaler/node-template/label/kops.k8s.io/instancegroup: master-eu-central-1a, k8s.io/role/master: 1, kops.k8s.io/instancegroup: master-eu-central-1a, Name: master-eu-central-1a.masters.geekdemo1.k8s.local, KubernetesCluster: geekdemo1.k8s.local, kubernetes.io/cluster/geekdemo1.k8s.local: owned, k8s.io/cluster-autoscaler/node-template/label/node-role.kubernetes.io/master: }
    
      Subnet/eu-central-1a.geekdemo1.k8s.local
            ShortName               eu-central-1a
            VPC                     name:geekdemo1.k8s.local
            AvailabilityZone        eu-central-1a
            CIDR                    172.20.32.0/19
            Shared                  false
            Tags                    {KubernetesCluster: geekdemo1.k8s.local, kubernetes.io/cluster/geekdemo1.k8s.local: owned, SubnetType: Public, kubernetes.io/role/elb: 1, Name: eu-central-1a.geekdemo1.k8s.local}
    
      VPC/geekdemo1.k8s.local
            CIDR                    172.20.0.0/16
            EnableDNSHostnames      true
            EnableDNSSupport        true
            Shared                  false
            Tags                    {kubernetes.io/cluster/geekdemo1.k8s.local: owned, Name: geekdemo1.k8s.local, KubernetesCluster: geekdemo1.k8s.local}
    
      VPCDHCPOptionsAssociation/geekdemo1.k8s.local
            VPC                     name:geekdemo1.k8s.local
            DHCPOptions             name:geekdemo1.k8s.local
    
    Must specify --yes to apply changes
    
    Cluster configuration has been created.
    
    Suggestions:
     * list clusters with: kops get cluster
     * edit this cluster with: kops edit cluster geekdemo1.k8s.local
     * edit your node instance group: kops edit ig --name=geekdemo1.k8s.local nodes-eu-central-1a
     * edit your master instance group: kops edit ig --name=geekdemo1.k8s.local master-eu-central-1a
    
    Finally configure your cluster with: kops update cluster --name geekdemo1.k8s.local --yes –admin

    Ejecute el comando kops get para ver si se creó el clúster.

    [email protected]:~$ kops get cluster
    NAME                    CLOUD   ZONES
    geekdemo1.k8s.local     aws     eu-central-1a

    Actualizar el clúster

    Para aplicar las especificaciones del clúster especificadas al clúster, ejecute el comando kops update.

    [email protected]:~$ kops update cluster --name geekdemo1.k8s.local --yes --admin
    I0216 16:38:16.800767    4344 apply_cluster.go:465] Gossip DNS: skipping DNS validation
    I0216 16:38:16.919282    4344 executor.go:111] Tasks: 0 done / 83 total; 42 can run
    W0216 16:38:17.343336    4344 vfs_castore.go:604] CA private key was not found
    I0216 16:38:18.421652    4344 keypair.go:195] Issuing new certificate: "etcd-clients-ca"
    I0216 16:38:18.450699    4344 keypair.go:195] Issuing new certificate: "etcd-peers-ca-main"
    I0216 16:38:19.470785    4344 keypair.go:195] Issuing new certificate: "etcd-manager-ca-main"
    I0216 16:38:19.531852    4344 keypair.go:195] Issuing new certificate: "etcd-peers-ca-events"
    I0216 16:38:19.551601    4344 keypair.go:195] Issuing new certificate: "apiserver-aggregator-ca"
    I0216 16:38:19.571834    4344 keypair.go:195] Issuing new certificate: "etcd-manager-ca-events"
    I0216 16:38:19.592090    4344 keypair.go:195] Issuing new certificate: "master"
    W0216 16:38:19.652894    4344 vfs_castore.go:604] CA private key was not found
    I0216 16:38:19.653013    4344 keypair.go:195] Issuing new certificate: "ca"
    I0216 16:38:24.344075    4344 executor.go:111] Tasks: 42 done / 83 total; 17 can run
    I0216 16:38:24.306125    4344 executor.go:111] Tasks: 59 done / 83 total; 18 can run
    I0216 16:38:26.189798    4344 executor.go:111] Tasks: 77 done / 83 total; 2 can run
    I0216 16:38:26.190464    4344 executor.go:111] Tasks: 79 done / 83 total; 2 can run
    I0216 16:38:26.738600    4344 executor.go:111] Tasks: 81 done / 83 total; 2 can run
    I0216 16:38:28.810100    4344 executor.go:111] Tasks: 83 done / 83 total; 0 can run
    I0216 16:38:29.904257    4344 update_cluster.go:313] Exporting kubecfg for cluster
    kops has set your kubectl context to geekdemo1.k8s.local
    
    Cluster is starting.  It should be ready in a few minutes.
    
    Suggestions:
     * validate cluster: kops validate cluster --wait 10m
     * list nodes: kubectl get nodes --show-labels
     * ssh to the master: ssh -i ~/.ssh/id_rsa [email protected]
     * the ubuntu user is specific to Ubuntu. If not using Ubuntu please use the appropriate user based on your OS.
     * read about installing addons at: https://kops.sigs.k8s.io/operations/addons.

    Si comprueba inmediatamente que los nodos de Kubernetes se están ejecutando o no, obtendrá un error. Debe ser un poco paciente y esperar unos minutos (5-10) hasta que se cree el grupo.

    [email protected]:~$ kubectl get nodes
    Unable to connect to the server: dial tcp: lookup api-geekdemo1-k8s-local-dason2-1001342368.eu-central-1.elb.amazonaws.com on 127.0.0.53:53: no such host

    Validar el clúster

    Estoy ejecutando el comando de validación durante 5 minutos para verificar si el clúster está funcionando y en buen estado o no. En la salida de validación, podrá ver los detalles del nodo cuando estén activos.

    [email protected]:~$ kops validate cluster --wait 5m
    Validating cluster geekdemo1.k8s.local
    INSTANCE GROUPS
    NAME                    ROLE    MACHINETYPE     MIN     MAX     SUBNETS
    master-eu-central-1a    Master  t2.micro        1       1       eu-central-1a
    nodes-eu-central-1a     Node    t2.micro        1       1       eu-central-1a

    Lista de nodos y pods

    Ahora ejecute el siguiente comando para verificar si todos los nodos están listos y funcionando. Puede ver que tanto el maestro como el nodo están listos.

    [email protected]:~$ kubectl get nodes
    NAME                                             STATUS   ROLES    AGE     VERSION
    ip-173-19-35-156.eu-central-1.compute.internal   Ready    master   10m     v1.20.1
    ip-172-36-23-149.eu-central-1.compute.internal   Ready    node     5m38s   v1.20.1

    Puede verificar todos los pods que se ejecutan en el clúster de Kubernetes.

    [email protected]:~$ kubectl get pods --all-namespaces
    NAMESPACE     NAME                                                                     READY   STATUS    RESTARTS   AGE
    kube-system   dns-controller-8d8889c4b-xp9dl                                           1/1     Running   0          8m26s
    kube-system   etcd-manager-events-ip-173-19-35-156.eu-central-1.compute.internal       1/1     Running   0          10m
    kube-system   etcd-manager-main-ip-173-19-35-156.eu-central-1.compute.internal         1/1     Running   0          10m
    kube-system   kops-controller-9skdk                                                    1/1     Running   3          6m51s
    kube-system   kube-apiserver-ip-173-19-35-156.eu-central-1.compute.internal            2/2     Running   0          10m
    kube-system   kube-controller-manager-ip-173-19-35-156.eu-central-1.compute.internal   1/1     Running   6          10m
    kube-system   kube-dns-696cb84c7-g8nhb                                                 3/3     Running   0          4m27s
    kube-system   kube-dns-autoscaler-55f8f75459-zlxbr                                     1/1     Running   0          7m18s
    kube-system   kube-proxy-ip-173-19-35-156.eu-central-1.compute.internal                1/1     Running   0          10m
    kube-system   kube-proxy-ip-172-36-23-149.eu-central-1.compute.internal                1/1     Running   0          7m2s
    kube-system   kube-scheduler-ip-173-19-35-156.eu-central-1.compute.internal            1/1     Running   5          10m

    Eliminar el clúster

    Al igual que crear un clúster de Kubernetes, eliminar un clúster de Kubernetes con Kops es muy sencillo. Este comando de eliminación de kops eliminará todos los recursos de la nube del clúster y el registro del clúster en sí.

    [email protected]:~$ kops delete cluster --name geekdemo1.k8s.local --yes
    TYPE                    NAME                                                                            ID
    autoscaling-config      master-eu-central-1a.masters.geekdemo1.k8s.local                                lt-0cc11aec1943204e4
    autoscaling-config      nodes-eu-central-1a.geekdemo1.k8s.local                                         lt-0da65d2eaf6de9f5c
    autoscaling-group       master-eu-central-1a.masters.geekdemo1.k8s.local                                master-eu-central-1a.masters.geekdemo1.k8s.local
    autoscaling-group       nodes-eu-central-1a.geekdemo1.k8s.local                                         nodes-eu-central-1a.geekdemo1.k8s.local
    dhcp-options            geekdemo1.k8s.local                                                             dopt-0403a0cbbfbc0c72b
    iam-instance-profile    masters.geekdemo1.k8s.local                                                     masters.geekdemo1.k8s.local
    iam-instance-profile    nodes.geekdemo1.k8s.local                                                       nodes.geekdemo1.k8s.local
    iam-role                masters.geekdemo1.k8s.local                                                     masters.geekdemo1.k8s.local
    iam-role                nodes.geekdemo1.k8s.local                                                       nodes.geekdemo1.k8s.local
    instance                master-eu-central-1a.masters.geekdemo1.k8s.local                                i-069c73f2c23eb502a
    instance                nodes-eu-central-1a.geekdemo1.k8s.local                                         i-0401d6b0d4fc11e77
    iam-instance-profile:nodes.geekdemo1.k8s.local  ok
    load-balancer:api-geekdemo1-k8s-local-dason2    ok
    iam-instance-profile:masters.geekdemo1.k8s.local        ok
    iam-role:masters.geekdemo1.k8s.local    ok
    instance:i-069c73f2c23eb502a    ok
    autoscaling-group:nodes-eu-central-1a.geekdemo1.k8s.local       ok
    iam-role:nodes.geekdemo1.k8s.local      ok
    instance:i-0401d6b0d4fc11e77    ok
    autoscaling-config:lt-0cc11aec1943204e4 ok
    autoscaling-config:lt-0da65d2eaf6de9f5c ok
    autoscaling-group:master-eu-central-1a.masters.geekdemo1.k8s.local      ok
    keypair:key-0d82g920j421b89dn   ok
    Deleted kubectl config for geekdemo1.k8s.local
    
    Deleted cluster: "geekdemo1.k8s.local"

    Conclusión

    Espero que este artículo sobre Kops te haya resultado útil y que puedas aprender algo nuevo hoy. Kops es una herramienta fantástica para trabajar Kubernetes en la nube. Así que siga adelante, pruebe los pasos mencionados en este artículo y configure su clúster de Kubernetes en AWS con Kops.