1 - Instalar y configurar kubectl en Linux

Antes de empezar

Debes usar una versión de kubectl que esté dentro de una diferencia de versión menor de tu clúster. Por ejemplo, un cliente v1.30 puede comunicarse con v1.29, v1.30, y v1.31 del plano de control. El uso de la última versión de kubectl ayuda a evitar problemas inesperados.

Instalar kubectl en Linux

Existen los siguientes métodos para instalar kubectl en Linux:

Instale el binario kubectl con curl en Linux

  1. Descargue la última versión con el comando:

    curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl"
    
  2. Validar el binario (opcional)

    Descargue el archivo de comprobación de kubectl:

    curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl.sha256"
    

    Valide el binario kubectl con el archivo de comprobación:

    echo "$(cat kubectl.sha256)  kubectl" | sha256sum --check
    

    Si es válido, la salida es:

    kubectl: OK
    

    Si la comprobación falla, sha256 arroja un valor distinto de cero e imprime una salida similar a:

    kubectl: FAILED
    sha256sum: WARNING: 1 computed checksum did NOT match
    
  3. Instalar kubectl

    sudo install -o root -g root -m 0755 kubectl /usr/local/bin/kubectl
    
  4. Para asegurarse de que la versión que instaló este actualizada ejecute:

    kubectl version --client
    

Instalar usando la administración nativa de paquetes

  1. Actualice el índice de paquetes de apt e instale los paquetes necesarios para usar Kubernetes con el repositorio apt:

    sudo apt-get update
    sudo apt-get install -y apt-transport-https ca-certificates curl
    
  2. Descargue la clave de firma pública de Google Cloud:

    sudo curl -fsSLo /usr/share/keyrings/kubernetes-archive-keyring.gpg https://packages.cloud.google.com/apt/doc/apt-key.gpg
    
  3. Agregue el repositorio de Kubernetes a apt:

    echo "deb [signed-by=/usr/share/keyrings/kubernetes-archive-keyring.gpg] https://apt.kubernetes.io/ kubernetes-xenial main" | sudo tee /etc/apt/sources.list.d/kubernetes.list
    
  4. Actualice el índice de paquetes de apt con el nuevo repositorio e instale kubectl:

    sudo apt-get update
    sudo apt-get install -y kubectl
    


cat <<EOF > /etc/yum.repos.d/kubernetes.repo
[kubernetes]
name=Kubernetes
baseurl=https://packages.cloud.google.com/yum/repos/kubernetes-el7-\$basearch
enabled=1
gpgcheck=1
repo_gpgcheck=1
gpgkey=https://packages.cloud.google.com/yum/doc/yum-key.gpg https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg
EOF
yum install -y kubectl

Instalar usando otra administración de paquetes

Si está en Ubuntu u otra distribución de Linux que admita el administrador de paquetes snap, kubectl estará disponible como solicitud de snap.

snap install kubectl --classic
kubectl version --client

Si está en Linux y usa Homebrew como administrador de paquetes, kubectl está disponible para instalación.

brew install kubectl
kubectl version --client

Verificar la configuración de kubectl

Para que kubectl encuentre y acceda a un clúster de Kubernetes, necesita un archivo kubeconfig, que se crea automáticamente cuando creas un clúster usando kube-up.sh o implementar con éxito un clúster de Minikube. De forma predeterminada, la configuración de kubectl se encuentra en ~/.kube/config.

Verifique que kubectl esté configurado correctamente obteniendo el estado del clúster:

kubectl cluster-info

Si ve una respuesta de URL, kubectl está configurado correctamente para acceder a su clúster.

Si ve un mensaje similar al siguiente, kubectl no está configurado correctamente o no puede conectarse a un clúster de Kubernetes.

The connection to the server <server-name:port> was refused - did you specify the right host or port?

Por ejemplo, si tiene la intención de ejecutar un clúster de Kubernetes en su computadora portátil (localmente), primero necesitará instalar una herramienta como Minikube y luego volver a ejecutar los comandos indicados anteriormente.

Si kubectl cluster-info devuelve la respuesta de la URL pero no puede acceder a su clúster, para verificar si está configurado correctamente, use:

kubectl cluster-info dump

Plugins y configuraciones opcionales de kubectl

Habilitar el autocompletado de shell

kubectl proporciona soporte de autocompletado para Bash y Zsh, lo que puede ahorrarle mucho tiempo al interactuar con la herramienta.

A continuación, se muestran los procedimientos para configurar el autocompletado para Bash y Zsh.

Introducción

El script de completado de kubectl para Bash se puede generar con el comando kubectl completion bash. Obtener el script de completado en su shell habilita el autocompletado de kubectl.

Sin embargo, el script de completado depende de bash-completion, lo que significa que primero debe instalar este software (puedes probar si tienes bash-completion ya instalado ejecutando type _init_completion).

Instalar bash-complete

El completado de bash es proporcionado por muchos administradores de paquetes (ver aquí). Puedes instalarlo con apt-get install bash-completion o yum install bash-completion, etc.

Los comandos anteriores crean /usr/share/bash-completion/bash_completion, que es el script principal de bash-complete. Dependiendo de su administrador de paquetes, debe obtener manualmente este archivo de perfil en su ~/.bashrc.

Para averiguarlo, recargue su shell y ejecute type _init_completion. Si el comando tiene éxito, ya está configurado; de lo contrario, agregue lo siguiente a su archivo ~/.bashrc:

source /usr/share/bash-completion/bash_completion

Vuelva a cargar su shell y verifique que la finalización de bash esté correctamente instalada escribiendo type _init_completion.

Habilitar el autocompletado de kubectl

Ahora debe asegurarse de que el script de completado de kubectl se obtenga en todas sus sesiones de shell. Hay dos formas de hacer esto:

  • Obtenga el script de completado en su perfil ~/.bashrc:

    echo 'source <(kubectl completion bash)' >>~/.bashrc
    
  • Agregue el script de completado al directorio de /etc/bash_completion.d:

    kubectl completion bash >/etc/bash_completion.d/kubectl
    

Si tiene un alias para kubectl, puede extender el completado del shell para trabajar con ese alias:

echo 'alias k=kubectl' >>~/.bashrc
echo 'complete -o default -F __start_kubectl k' >>~/.bashrc

Ambos enfoques son equivalentes. Después de recargar su shell, el autocompletado de kubectl debería estar funcionando.

El script de completado de kubectl para Zsh se puede generar con el comando kubectl completion zsh. Obtener el script de completado en su shell habilita el autocompletado de kubectl.

Para hacerlo en todas sus sesiones de shell, agregue lo siguiente a su perfil ~/.zshrc:

source <(kubectl completion zsh)

Si tiene un alias para kubectl, puede extender el completado del shell para trabajar con ese alias:

echo 'alias k=kubectl' >>~/.zshrc
echo 'compdef __start_kubectl k' >>~/.zshrc

Después de recargar su shell, el autocompletado de kubectl debería estar funcionando.

Si recibe un error como complete:13: command not found: compdef, luego agregue lo siguiente al comienzo de su perfil ~/.zshrc:

autoload -Uz compinit
compinit

Instalar en pc kubectl convert plugin

Un plugin para la herramienta de línea de comandos de Kubernetes kubectl, que le permite convertir manifiestos entre diferentes versiones de la API. Esto puede ser particularmente útil para migrar manifiestos a una versión no obsoleta de la API con la versión más reciente de Kubernetes. Para obtener más información, visite migrar a APIs no obsoletas

  1. Descargue la última versión con el comando:

    curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl-convert"
    
  2. Valide el binario (opcional)

    Descargue el archivo de comprobación kubectl-convert:

    curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl-convert.sha256"
    

    Valide el binario kubectl-convert con el archivo de comprobación:

    echo "$(cat kubectl-convert.sha256) kubectl-convert" | sha256sum --check
    

    Si es válido, la salida es:

    kubectl-convert: OK
    

    Si la comprobación falla, sha256 arroja un valor distinto de cero e imprime una salida similar a:

    kubectl-convert: FAILED
    sha256sum: WARNING: 1 computed checksum did NOT match
    
  3. Instale kubectl-convert en pc

    sudo install -o root -g root -m 0755 kubectl-convert /usr/local/bin/kubectl-convert
    
  4. Verifique que el plugin se haya instalado correctamente

    kubectl convert --help
    

    Si no ve un error, significa que el plugin se instaló correctamente.

Siguientes pasos

2 - Instalar y configurar kubectl en macOS

Antes de empezar

Debes usar una versión de kubectl que esté dentro de una diferencia de versión menor de tu clúster. Por ejemplo, un cliente v1.30 puede comunicarse con v1.29, v1.30, y v1.31 del plano de control. El uso de la última versión de kubectl ayuda a evitar problemas imprevistos.

Instalar kubectl en macOS

Existen los siguientes métodos para instalar kubectl en macOS:

Instalar el binario de kubectl con curl en macOS

  1. Descargue la última versión:

    
       curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/darwin/amd64/kubectl"
       

    
       curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/darwin/arm64/kubectl"
       
  2. Validar el binario (opcional)

    Descargue el archivo de comprobación de kubectl:

    
       curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/darwin/amd64/kubectl.sha256"
       

    
       curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/darwin/arm64/kubectl.sha256"
       

    Valide el binario kubectl con el archivo de comprobación:

    echo "$(<kubectl.sha256)  kubectl" | shasum -a 256 --check
    

    Si es válido, la salida es:

    kubectl: OK
    

    Si la verificación falla, shasum arroja un valor distinto de cero e imprime una salida similar a:

    kubectl: FAILED
    shasum: WARNING: 1 computed checksum did NOT match
    
  3. Hacer ejecutable el binario de kubectl.

    chmod +x ./kubectl
    
  4. Mueva el binario kubectl a una ubicación de archivo en su sistema PATH.

    sudo mv ./kubectl /usr/local/bin/kubectl
    sudo chown root: /usr/local/bin/kubectl
    
  5. Para asegurarse de que la versión que instaló se encuentra actualizada, ejecute:

    kubectl version --client
    

Instalar con Homebrew en macOS

Si está en macOS y usa Homebrew como administrador de paquetes, puede instalar kubectl con Homebrew.

  1. Ejecute el comando de instalación:

    brew install kubectl 
    

    or

    brew install kubernetes-cli
    
  2. Para asegurarse de que la versión que instaló se encuentra actualizada, ejecute:

    kubectl version --client
    

Instalar con Macports en macOS

Si está en macOS y usa Macports como administrador de paquetes, puede instalar kubectl con Macports.

  1. Ejecute el comando de instalación:

    sudo port selfupdate
    sudo port install kubectl
    
  2. Para asegurarse de que la versión que instaló se encuentra actualizada, ejecute:

    kubectl version --client
    

Verificar la configuración de kubectl

Para que kubectl encuentre y acceda a un clúster de Kubernetes, necesita un archivo kubeconfig, que se crea automáticamente cuando creas un clúster usando kube-up.sh o implementar con éxito un clúster de Minikube. De forma predeterminada, la configuración de kubectl se encuentra en ~/.kube/config.

Verifique que kubectl esté configurado correctamente obteniendo el estado del clúster:

kubectl cluster-info

Si ve una respuesta de URL, kubectl está configurado correctamente para acceder a su clúster.

Si ve un mensaje similar al siguiente, kubectl no está configurado correctamente o no puede conectarse a un clúster de Kubernetes.

The connection to the server <server-name:port> was refused - did you specify the right host or port?

Por ejemplo, si tiene la intención de ejecutar un clúster de Kubernetes en su computadora portátil (localmente), primero necesitará instalar una herramienta como Minikube y luego volver a ejecutar los comandos indicados anteriormente.

Si kubectl cluster-info devuelve la respuesta de la URL pero no puede acceder a su clúster, para verificar si está configurado correctamente, use:

kubectl cluster-info dump

Plugins y configuraciones opcionales de kubectl

Habilitar el autocompletado de shell

kubectl proporciona soporte de autocompletado para Bash y Zsh, lo que puede ahorrarle mucho tiempo al escribir.

A continuación, se muestran los procedimientos para configurar el autocompletado para Bash y Zsh.

Introducción

El script de completado de kubectl para Bash se puede generar con kubectl completion bash. Obtener este script en su shell permite el completado de kubectl.

Sin embargo, el script de finalización de kubectl depende de bash-completion que, por lo tanto, debe instalar previamente.

Actualizar Bash

Las siguientes instrucciones asumen que usa Bash 4.1+. Puede verificar la versión de su Bash ejecutando:

echo $BASH_VERSION

Si es demasiado antiguo, puede instalarlo o actualizarlo usando Homebrew:

brew install bash

Vuelva a cargar su shell y verifique que se esté utilizando la versión deseada:

echo $BASH_VERSION $SHELL

Homebrew generalmente lo instala en /usr/local/bin/bash.

Instalar bash-complete

Puede probar si ya tiene instalado bash-complete v2 con type _init_completion. Si no es así, puede instalarlo con Homebrew:

brew install bash-completion@2

Como se indica en el resultado de este comando, agregue lo siguiente a su archivo ~/.bash_profile:

brew_etc="$(brew --prefix)/etc" && [[ -r "${brew_etc}/profile.d/bash_completion.sh" ]] && . "${brew_etc}/profile.d/bash_completion.sh"

Vuelva a cargar su shell y verifique que bash-complete v2 esté instalado correctamente con type _init_completion.

Habilitar el autocompletado de kubectl

Ahora debe asegurarse de que el script de completado de kubectl se obtenga en todas sus sesiones de shell. Hay varias formas de lograrlo:

  • Obtenga el script de finalización en su perfil ~/.bash_profile:

    echo 'source <(kubectl completion bash)' >>~/.bash_profile
    
  • Agregue el script de completado al directorio /usr/local/etc/bash_completion.d:

    kubectl completion bash >/usr/local/etc/bash_completion.d/kubectl
    
  • Si tiene un alias para kubectl, puede extender el completado del shell para trabajar con ese alias:

    echo 'alias k=kubectl' >>~/.bash_profile
    echo 'complete -o default -F __start_kubectl k' >>~/.bash_profile
    
  • Si instaló kubectl con Homebrew (como se explica aquí), entonces el script de completado de kubectl ya debería estar en /usr/local/etc/bash_completion.d/kubectl. En ese caso, no necesita hacer nada.

En cualquier caso, después de recargar su shell, el completado de kubectl debería estar funcionando.

El script de completado de kubectl para Zsh se puede generar con el comando kubectl completion zsh. Obtener el script de completado en su shell habilita el autocompletado de kubectl.

Para hacerlo en todas sus sesiones de shell, agregue lo siguiente a su perfil ~/.zshrc:

source <(kubectl completion zsh)

Si tiene un alias para kubectl, puede extender el completado del shell para trabajar con ese alias:

echo 'alias k=kubectl' >>~/.zshrc
echo 'compdef __start_kubectl k' >>~/.zshrc

Después de recargar su shell, el autocompletado de kubectl debería estar funcionando.

Si recibe un error como complete:13: command not found: compdef, luego agregue lo siguiente al comienzo de su perfil ~/.zshrc:

autoload -Uz compinit
compinit

Instalar el plugin kubectl-convert

Un plugin para la herramienta de línea de comandos de Kubernetes kubectl, que le permite convertir manifiestos entre diferentes versiones de la API. Esto puede ser particularmente útil para migrar manifiestos a una versión no obsoleta de la API con la versión más reciente de Kubernetes. Para obtener más información, visite migrar a APIs no obsoletas

  1. Descargue la última versión con el comando:

    
       curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/darwin/amd64/kubectl-convert"
       

    
       curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/darwin/arm64/kubectl-convert"
       
  2. Validar el binario (opcional)

    Descargue el archivo de comprobación de kubectl:

    
       curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/darwin/amd64/kubectl-convert.sha256"
       

    
       curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/darwin/arm64/kubectl-convert.sha256"
       

    Valide el binario kubectl-convert con el archivo de comprobación:

    echo "$(<kubectl-convert.sha256)  kubectl-convert" | shasum -a 256 --check
    

    Si es válido, la salida es:

    kubectl-convert: OK
    

    Si la verificación falla, shasum arroja un valor distinto de cero e imprime una salida similar a:

    kubectl-convert: FAILED
    shasum: WARNING: 1 computed checksum did NOT match
    
  3. Hacer ejecutable el binario de kubectl-convert

    chmod +x ./kubectl-convert
    
  4. Mueva el binario kubectl-convert a una ubicación de archivo en su sistema PATH.

    sudo mv ./kubectl-convert /usr/local/bin/kubectl-convert
    sudo chown root: /usr/local/bin/kubectl-convert
    
  5. Verifique que el complemento se haya instalado correctamente

    kubectl convert --help
    

    Si no ve algun error, significa que el complemento se instaló correctamente.

Siguientes pasos

3 - Instalar y configurar kubectl en Windows

Antes de empezar

Debes usar una versión de kubectl que este dentro de una diferencia de versión menor de tu clúster. Por ejemplo, un cliente v1.30 puede comunicarse con versiones v1.29, v1.30, y v1.31 del plano de control.

El uso de la última versión de kubectl ayuda a evitar problemas imprevistos.

Instalar kubectl en Windows

Existen los siguientes métodos para instalar kubectl en Windows:

Instalar el binario de kubectl con curl en Windows

  1. Descarga la última versión 1.30.0.

    O si tiene curl instalado, use este comando:

    curl -LO https://dl.k8s.io/release/v1.30.0/bin/windows/amd64/kubectl.exe
    
  2. Validar el binario (opcional)

    Descargue el archivo de comprobación de kubectl:

    curl -LO https://dl.k8s.io/v1.30.0/bin/windows/amd64/kubectl.exe.sha256
    

    Valide el binario kubectl con el archivo de comprobación:

    • Usando la consola del sistema para comparar manualmente la salida de CertUtil con el archivo de comprobación descargado:

      CertUtil -hashfile kubectl.exe SHA256
      type kubectl.exe.sha256
      
    • Usando PowerShell puede automatizar la verificación usando el operador -eq para obtener un resultado de True o False:

       $(Get-FileHash -Algorithm SHA256 .\kubectl.exe).Hash -eq $(Get-Content .\kubectl.exe.sha256))
      
  3. Agregue el binario a su PATH.

  4. Para asegurar que la versión dekubectl es la misma que descargada, ejecute:

    kubectl version --client
    

Instalar en Windows usando Chocolatey o Scoop

  1. Para instalar kubectl en Windows, puede usar Chocolatey como administrador de paquetes o el instalador Scoop desde línea de comandos.

    choco install kubernetes-cli
    

    scoop install kubectl
    
  2. Para asegurarse de que la versión que instaló esté actualizada, ejecute:

    kubectl version --client
    
  3. Navegue a su directorio de inicio:

    # Si estas usando cmd.exe, correr: cd %USERPROFILE%
    cd ~
    
  4. Cree el directorio .kube:

    mkdir .kube
    
  5. Cambie al directorio .kube que acaba de crear:

    cd .kube
    
  6. Configure kubectl para usar un clúster de Kubernetes remoto:

    New-Item config -type file
    

Verificar la configuración de kubectl

Para que kubectl encuentre y acceda a un clúster de Kubernetes, necesita un archivo kubeconfig, que se crea automáticamente cuando creas un clúster usando kube-up.sh o implementar con éxito un clúster de Minikube. De forma predeterminada, la configuración de kubectl se encuentra en ~/.kube/config.

Verifique que kubectl esté configurado correctamente obteniendo el estado del clúster:

kubectl cluster-info

Si ve una respuesta de URL, kubectl está configurado correctamente para acceder a su clúster.

Si ve un mensaje similar al siguiente, kubectl no está configurado correctamente o no puede conectarse a un clúster de Kubernetes.

The connection to the server <server-name:port> was refused - did you specify the right host or port?

Por ejemplo, si tiene la intención de ejecutar un clúster de Kubernetes en su computadora portátil (localmente), primero necesitará instalar una herramienta como Minikube y luego volver a ejecutar los comandos indicados anteriormente.

Si kubectl cluster-info devuelve la respuesta de la URL pero no puede acceder a su clúster, para verificar si está configurado correctamente, use:

kubectl cluster-info dump

Plugins y configuraciones opcionales de kubectl

Habilitar el autocompletado de shell

kubectl proporciona soporte de autocompletado para Bash y Zsh, lo que puede ahorrarle mucho tiempo al escribir.

A continuación se muestran los procedimientos para configurar el autocompletado para Zsh, si lo está ejecutando en Windows.

El script de completado de kubectl para Zsh se puede generar con el comando kubectl completion zsh. Obtener el script de completado en su shell habilita el autocompletado de kubectl.

Para hacerlo en todas sus sesiones de shell, agregue lo siguiente a su perfil ~/.zshrc:

source <(kubectl completion zsh)

Si tiene un alias para kubectl, puede extender el completado del shell para trabajar con ese alias:

echo 'alias k=kubectl' >>~/.zshrc
echo 'compdef __start_kubectl k' >>~/.zshrc

Después de recargar su shell, el autocompletado de kubectl debería estar funcionando.

Si recibe un error como complete:13: command not found: compdef, luego agregue lo siguiente al comienzo de su perfil ~/.zshrc:

autoload -Uz compinit
compinit

Instalar el plugin kubectl-convert

Un plugin para la herramienta de línea de comandos de Kubernetes kubectl, que le permite convertir manifiestos entre diferentes versiones de la API. Esto puede ser particularmente útil para migrar manifiestos a una versión no obsoleta de la API con la versión más reciente de Kubernetes. Para obtener más información, visite migrar a APIs no obsoletas

  1. Descargue la última versión con el comando:

    curl -LO https://dl.k8s.io/release/v1.30.0/bin/windows/amd64/kubectl-convert.exe
    
  2. Validar el binario (opcional)

    Descargue el archivo de comprobación kubectl-convert:

    curl -LO https://dl.k8s.io/v1.30.0/bin/windows/amd64/kubectl-convert.exe.sha256
    

    Valide el binario kubectl-convert con el archivo de comprobación:

    • Usando la consola del sistema puede comparar manualmente la salida de CertUtil con el archivo de comprobación descargado:

      CertUtil -hashfile kubectl-convert.exe SHA256
      type kubectl-convert.exe.sha256
      
    • Usando PowerShell puede automatizar la verificación usando el operador -eq para obtener un resultado de True o False:

      $($(CertUtil -hashfile .\kubectl-convert.exe SHA256)[1] -replace " ", "") -eq $(type .\kubectl-convert.exe.sha256)
      
  3. Agregue el binario a su PATH.

  4. Verifique que el plugin se haya instalado correctamente

    kubectl convert --help
    

    Si no ve un error, significa que el plugin se instaló correctamente.

Siguientes pasos

4 - ¿Que sigue?

¿Qué sigue después de instalar kubectl.

5 - Autocompletar bash en Linux

Alguna configuración opcional para la finalización automática de bash en Linux.

Introducción

El script de completado de kubectl para Bash se puede generar con el comando kubectl completion bash. Obtener el script de completado en su shell habilita el autocompletado de kubectl.

Sin embargo, el script de completado depende de bash-completion, lo que significa que primero debe instalar este software (puedes probar si tienes bash-completion ya instalado ejecutando type _init_completion).

Instalar bash-complete

El completado de bash es proporcionado por muchos administradores de paquetes (ver aquí). Puedes instalarlo con apt-get install bash-completion o yum install bash-completion, etc.

Los comandos anteriores crean /usr/share/bash-completion/bash_completion, que es el script principal de bash-complete. Dependiendo de su administrador de paquetes, debe obtener manualmente este archivo de perfil en su ~/.bashrc.

Para averiguarlo, recargue su shell y ejecute type _init_completion. Si el comando tiene éxito, ya está configurado; de lo contrario, agregue lo siguiente a su archivo ~/.bashrc:

source /usr/share/bash-completion/bash_completion

Vuelva a cargar su shell y verifique que la finalización de bash esté correctamente instalada escribiendo type _init_completion.

Habilitar el autocompletado de kubectl

Ahora debe asegurarse de que el script de completado de kubectl se obtenga en todas sus sesiones de shell. Hay dos formas de hacer esto:

  • Obtenga el script de completado en su perfil ~/.bashrc:

    echo 'source <(kubectl completion bash)' >>~/.bashrc
    
  • Agregue el script de completado al directorio de /etc/bash_completion.d:

    kubectl completion bash >/etc/bash_completion.d/kubectl
    

Si tiene un alias para kubectl, puede extender el completado del shell para trabajar con ese alias:

echo 'alias k=kubectl' >>~/.bashrc
echo 'complete -o default -F __start_kubectl k' >>~/.bashrc

Ambos enfoques son equivalentes. Después de recargar su shell, el autocompletado de kubectl debería estar funcionando.

6 - Autocompletar bash en macOS

Alguna configuración opcional para la finalización automática de bash en macOS.

Introducción

El script de completado de kubectl para Bash se puede generar con kubectl completion bash. Obtener este script en su shell permite el completado de kubectl.

Sin embargo, el script de finalización de kubectl depende de bash-completion que, por lo tanto, debe instalar previamente.

Actualizar Bash

Las siguientes instrucciones asumen que usa Bash 4.1+. Puede verificar la versión de su Bash ejecutando:

echo $BASH_VERSION

Si es demasiado antiguo, puede instalarlo o actualizarlo usando Homebrew:

brew install bash

Vuelva a cargar su shell y verifique que se esté utilizando la versión deseada:

echo $BASH_VERSION $SHELL

Homebrew generalmente lo instala en /usr/local/bin/bash.

Instalar bash-complete

Puede probar si ya tiene instalado bash-complete v2 con type _init_completion. Si no es así, puede instalarlo con Homebrew:

brew install bash-completion@2

Como se indica en el resultado de este comando, agregue lo siguiente a su archivo ~/.bash_profile:

brew_etc="$(brew --prefix)/etc" && [[ -r "${brew_etc}/profile.d/bash_completion.sh" ]] && . "${brew_etc}/profile.d/bash_completion.sh"

Vuelva a cargar su shell y verifique que bash-complete v2 esté instalado correctamente con type _init_completion.

Habilitar el autocompletado de kubectl

Ahora debe asegurarse de que el script de completado de kubectl se obtenga en todas sus sesiones de shell. Hay varias formas de lograrlo:

  • Obtenga el script de finalización en su perfil ~/.bash_profile:

    echo 'source <(kubectl completion bash)' >>~/.bash_profile
    
  • Agregue el script de completado al directorio /usr/local/etc/bash_completion.d:

    kubectl completion bash >/usr/local/etc/bash_completion.d/kubectl
    
  • Si tiene un alias para kubectl, puede extender el completado del shell para trabajar con ese alias:

    echo 'alias k=kubectl' >>~/.bash_profile
    echo 'complete -o default -F __start_kubectl k' >>~/.bash_profile
    
  • Si instaló kubectl con Homebrew (como se explica aquí), entonces el script de completado de kubectl ya debería estar en /usr/local/etc/bash_completion.d/kubectl. En ese caso, no necesita hacer nada.

En cualquier caso, después de recargar su shell, el completado de kubectl debería estar funcionando.

7 - Autocompletar zsh

Alguna configuración opcional para la finalización automática de zsh.

El script de completado de kubectl para Zsh se puede generar con el comando kubectl completion zsh. Obtener el script de completado en su shell habilita el autocompletado de kubectl.

Para hacerlo en todas sus sesiones de shell, agregue lo siguiente a su perfil ~/.zshrc:

source <(kubectl completion zsh)

Si tiene un alias para kubectl, puede extender el completado del shell para trabajar con ese alias:

echo 'alias k=kubectl' >>~/.zshrc
echo 'compdef __start_kubectl k' >>~/.zshrc

Después de recargar su shell, el autocompletado de kubectl debería estar funcionando.

Si recibe un error como complete:13: command not found: compdef, luego agregue lo siguiente al comienzo de su perfil ~/.zshrc:

autoload -Uz compinit
compinit

8 - Descripción general de kubectl-convert

Un plugin de kubectl que le permite convertir manifiestos de una versión

Un plugin para la herramienta de línea de comandos de Kubernetes kubectl, que le permite convertir manifiestos entre diferentes versiones de la API. Esto puede ser particularmente útil para migrar manifiestos a una versión no obsoleta de la API con la versión más reciente de Kubernetes. Para obtener más información, visite migrar a APIs no obsoletas

9 - verificar la instalación de kubectl

Cómo verificar kubectl.

Para que kubectl encuentre y acceda a un clúster de Kubernetes, necesita un archivo kubeconfig, que se crea automáticamente cuando creas un clúster usando kube-up.sh o implementar con éxito un clúster de Minikube. De forma predeterminada, la configuración de kubectl se encuentra en ~/.kube/config.

Verifique que kubectl esté configurado correctamente obteniendo el estado del clúster:

kubectl cluster-info

Si ve una respuesta de URL, kubectl está configurado correctamente para acceder a su clúster.

Si ve un mensaje similar al siguiente, kubectl no está configurado correctamente o no puede conectarse a un clúster de Kubernetes.

The connection to the server <server-name:port> was refused - did you specify the right host or port?

Por ejemplo, si tiene la intención de ejecutar un clúster de Kubernetes en su computadora portátil (localmente), primero necesitará instalar una herramienta como Minikube y luego volver a ejecutar los comandos indicados anteriormente.

Si kubectl cluster-info devuelve la respuesta de la URL pero no puede acceder a su clúster, para verificar si está configurado correctamente, use:

kubectl cluster-info dump