Instalar herramientas
Configurar las herramientas de Kubernetes en su computadora.
kubectl
Usa la herramienta de línea de comandos de Kubernetes, kubectl, para desplegar y gestionar aplicaciones en Kubernetes. Usando kubectl, puedes inspeccionar recursos del clúster; crear, eliminar, y actualizar componentes; explorar tu nuevo clúster y arrancar aplicaciones.
Ver Instalar y Configurar kubectl
para más información sobre cómo descargar y instalar kubectl
y configurarlo para acceder su clúster.
Ver la guía de instalación y configuración de kubectl
También se puede leer la documentación de referencia de kubectl
.
kind
kind
le permite usar Kubernetes en su máquina local. Esta herramienta require que Docker instalado y configurado.
En la página de inicio rápido encontrarás toda la información necesaria para empezar con kind.
Ver la guía de inicio rápido
minikube
De forma similar a kind
, minikube
es una herramienta que le permite usar Kubernetes en su máquina local. minikube
le permite ejecutar un único nodo en su computadora personal (PC de Windows, macOS y Linux) para que se pueda probar Kubernetes, o para su trabajo de desarrollo.
Se puede seguir la guía oficial de minikube
si su enfoque esta instalando la herramienta.
Ver la guía de minikube
Una vez minikube
ha terminado de instalarse, está lista para desplegar un aplicación de ejemplo (/docs/tutorials/hello-minikube/).
kubeadm
Se puede usar la utilidad kubeadm para crear y gestionar clústeres de Kubernetes.
En instalando kubeadm se muestra como instalar kubeadm. Una vez instalado, se puede utilizar para crear un clúster.
Ver la guía de instalación
1 - Instalar y Configurar kubectl en Linux
Antes de empezar
Se debe utilizar la versión de kubectl con una minor versión de diferencia con
tu cluster. Por ejemplo, un cliente con versión v1.30 se puede comunicar
con las siguientes versiones de plano de control v1.29,
v1.30 y v1.31.
Utilizar la última versión compatible de kubectl evita posibles errores.
Instalar kubectl en Linux
Existen los siguientes métodos para instalar kubectl en Linux:
Instalación del binario para Linux de kubectl con Curl
-
Descargar la última versión con el siguiente comando:
curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl"
curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/arm64/kubectl"
Nota:
Para descargar una versión específica reemplaza la siguiente parte del comando con la
versión que desea instalar $(curl -L -s https://dl.k8s.io/release/stable.txt)
Por ejemplo, para descargar la versión 1.30.0 en linux x86-64:
curl -LO https://dl.k8s.io/release/v1.30.0/bin/linux/amd64/kubectl
Y para Linux ARM64:
curl -LO https://dl.k8s.io/release/v1.30.0/bin/linux/arm64/kubectl
-
Validación del binario (paso opcional)
Descargar el archivo checksum:
curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl.sha256"
curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/arm64/kubectl.sha256"
Validar el binario de kubectl contra el archivo checksum:
echo "$(cat kubectl.sha256) kubectl" | sha256sum --check
Si es válido, va a obtener la siguiente respuesta:
En caso de falla, sha256
terminará con un estado diferente a cero con una salida similar a:
kubectl: FAILED
sha256sum: WARNING: 1 computed checksum did NOT match
Nota:
Descarga la misma versión del binario y el checksum.
-
Instalar kubectl
sudo install -o root -g root -m 0755 kubectl /usr/local/bin/kubectl
Nota:
Si no tienes acceso root en el sistema donde se busca instalar, puedes colocar
el binario kubectl en el directorio ~/.local/bin
:
chmod +x kubectl
mkdir -p ~/.local/bin
mv ./kubectl ~/.local/bin/kubectl
# Y después agrega el directorio ~/.local/bin a tu $PATH
-
Test para asegurar que la versión instalada está actualizada:
O puedes utilizar lo siguiente para una vista detallada de la versión:
kubectl version --client --output=yaml
-
Actualiza el índice del paquete apt
, luego instala los paquetes necesarios para Kubernetes:
sudo apt-get update
# apt-transport-https may be a dummy package; if so, you can skip that package
sudo apt-get install -y apt-transport-https ca-certificates curl gnupg
-
Descarga la llave pública firmada para los repositorios de Kubernetes. La misma llave firmada es usada para todos los repositorios por lo que se puede obviar la versión en la URL:
curl -fsSL https://pkgs.k8s.io/core:/stable:/v1.30/deb/Release.key | sudo gpg --dearmor -o /etc/apt/keyrings/kubernetes-apt-keyring.gpg
-
Agregar el repositorio apropiado de Kubernetes. Si quieres una versión de Kubernetes diferente a v1.30,
reemplace v1.30 con la versión deseada en el siguiente comando:
# Esto sobrescribe cualquier configuración existente en el archivo /etc/apt/sources.list.d/kubernetes.list
echo 'deb [signed-by=/etc/apt/keyrings/kubernetes-apt-keyring.gpg] https://pkgs.k8s.io/core:/stable:/v1.30/deb/ /' | sudo tee /etc/apt/sources.list.d/kubernetes.list
Nota:
Para actualizar kubectl a una minor release diferente, se debe reemplazar la versión en el archivo
/etc/apt/sources.list.d/kubernetes.list
antes de ejecutar
apt-get update
y
apt-get upgrade
. Este procedimiento se describe con más detalle en
Cambiando el Repositorio de Kubernetes.
-
Actualiza el índice de apt
, luego instala kubectl:
sudo apt-get update
sudo apt-get install -y kubectl
Nota:
En versiones anteriores a Debian 12 y Ubuntu 22.04 el directorio /etc/apt/keyrings
no existe por defecto, puede ser creado usando el comando sudo mkdir -m 755 /etc/apt/keyrings
-
Agregar Kubernetes al repositorio yum
. Si deseas usar una versión de Kubernetes
diferente a v1.30, reemplaza v1.30 con
la versión deseada en el siguiente comando:
# Lo siguiente reemplaza cualquier configuración existente en /etc/yum.repos.d/kubernetes.repo
cat <<EOF | sudo tee /etc/yum.repos.d/kubernetes.repo
[kubernetes]
name=Kubernetes
baseurl=https://pkgs.k8s.io/core:/stable:/v1.30/rpm/
enabled=1
gpgcheck=1
gpgkey=https://pkgs.k8s.io/core:/stable:/v1.30/rpm/repodata/repomd.xml.key
EOF
Nota:
Para actualizar kubectl a otra versión, será necesario modificar la versión en
/etc/yum.repos.d/kubernetes.repo
antes de ejecutar
yum update
. Este procedimiento se describe con más detalle en
Changing The Kubernetes Package Repository.
-
Instalar kubectl utilizando yum
:
sudo yum install -y kubectl
-
Agregar Kubernetes al repositorio zypper
. Si deseas usar una versión de Kubernetes
diferente a v1.30, reemplaza v1.30 con
la versión deseada en el siguiente comando:
# Lo siguiente reemplaza cualquier configuración existente en /etc/zypp/repos.d/kubernetes.repo
cat <<EOF | sudo tee /etc/zypp/repos.d/kubernetes.repo
[kubernetes]
name=Kubernetes
baseurl=https://pkgs.k8s.io/core:/stable:/v1.30/rpm/
enabled=1
gpgcheck=1
gpgkey=https://pkgs.k8s.io/core:/stable:/v1.30/rpm/repodata/repomd.xml.key
EOF
Nota:
Para actualizar kubectl a otra versión será necesario modificar la versión en
/etc/zypp/repos.d/kubernetes.repo
antes de ejecutar
zypper update
. Este procedimiento se describe con más detalle en
Changing The Kubernetes Package Repository.
-
Instalar kubectl usando zypper
:
sudo zypper install -y kubectl
Instalación usando otro administrador de paquetes
Si utilizas Ubuntu o alguna distribución que soporte el administrador de
páquetes snap, kubectl
está disponible como una aplicación de snap.
snap install kubectl --classic
kubectl version --client
Si utilizas Homebrew en Linux,
kubectl está disponible para su 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:
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
Configuraciones opcionales y plugins de kubectl
Habilitar el autocompletado en la shell
Kubectl tiene soporte para autocompletar en Bash, Zsh, Fish y Powershell,
lo que puede agilizar el tipeo.
A continuación están los procedimientos para configurarlo en Bash, Fish 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:
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
Nota:
El código fuente de bash-complete todos los scripts se encuentra en /etc/bash_completion.d
.
Ambos enfoques son equivalentes. Después de recargar su shell, el autocompletado de kubectl debería estar funcionando.
Nota:
Se requiere kubectl 1.23 o superior para utilizar el autocompletado de Fish.
El script de autocompletado de Fish puede ser generado con el comando kubectl completion fish
. Leyendo este archivo en su Shell habilita el autocompletado de kubectl.
Para hacer esto en todas sus sesiones agregue la siguiente linea a su archivo ~/.config/fish/config.fish
:
kubectl completion fish | source
Después de recargar tu shell, el autocompletado para kubectl estará funcionando automáticamente.
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
-
Descarga la última versión con el siguiente comando:
curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl-convert"
curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/arm64/kubectl-convert"
-
Valida el binario (opcional)
Descarga el checksum de 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"
curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/arm64/kubectl-convert.sha256"
Ahora se puede validar el binario utilizando el checksum:
echo "$(cat kubectl-convert.sha256) kubectl-convert" | sha256sum --check
Si es válido, la salida será:
En caso de falla, sha256
terminará con un estado diferente a cero con una salida similar a esta:
kubectl-convert: FAILED
sha256sum: WARNING: 1 computed checksum did NOT match
Nota:
Descargue la misma versión del binario y del checksum.
-
Instalar kubectl-convert
sudo install -o root -g root -m 0755 kubectl-convert /usr/local/bin/kubectl-convert
-
Verificar si el plugin fue instalado correctamente
Si no visualizas ningún error quiere decir que el plugin fue instalado correctamente.
-
Después de instalar el plugin elimina los archivos de instalación:
rm kubectl-convert kubectl-convert.sha256
Siguientes pasos
2 - Instalar y Configurar kubectl en macOS
Antes de empezar
Se debe utilizar la versión de kubectl con la menor diferencia de versión de respecto de
su clúster. Por ejemplo, un cliente con versión v1.30 se puede comunicar
con los siguientes versiones de plano de control v1.29,
v1.30, and v1.31.
Utilizar la última versión compatible de kubectl evita posibles errores.
Instalar kubectl en macOS
Existen los siguientes métodos para instalar kubectl en macOS:
Instalación del binario para macOS de kubectl con Curl
-
Descargar la última versión con el siguiente comando:
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"
Nota:
Para descargar una versión específica, reemplaza la siguiente parte del comando con la
versión que deseas instalar $(curl -L -s https://dl.k8s.io/release/stable.txt)
Por ejemplo, para descargar la versión 1.30.0 en macOS:
curl -LO "https://dl.k8s.io/release/v1.30.0/bin/darwin/amd64/kubectl"
Para macOS con procesador Apple Silicon, ejecuta:
curl -LO "https://dl.k8s.io/release/v1.30.0/bin/darwin/arm64/kubectl"
-
Validación del binario (paso opcional)
Descargar el archivo checksum:
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"
Validar el binario de kubectl contra el archivo checksum:
echo "$(cat kubectl.sha256) kubectl" | shasum -a 256 --check
Si es válido, vas a obtener la siguiente respuesta:
En caso de falla, sha256
terminará con un estado diferente a cero con una salida similar a:
kubectl: FAILED
shasum: WARNING: 1 computed checksum did NOT match
Nota:
Descargue la misma versión del binario y el checksum.
-
Dar permisos de ejecución al binario.
-
Mover el binario de kubectl al PATH
de tu sistema.
sudo mv ./kubectl /usr/local/bin/kubectl
sudo chown root: /usr/local/bin/kubectl
Nota:
Asegúrate que el PATH /usr/local/bin
forme parte de las variables de entorno.
-
Test para asegurar que la versión instalada está actualizada:
Se puede utilizar lo siguiente para una vista detallada de la versión:
kubectl version --client --output=yaml
-
Luego de instalar el plugin puede eliminar los archivos de instalación:
rm kubectl kubectl.sha256
Instalar utilizando Homebrew en macOS
Si está utilizando Homebrew en macOS,
puede instalar kubectl con Homebrew.
-
Ejecute el comando para instalar:
ó
brew install kubernetes-cli
-
Test para asegurar que la versión instalada está actualizada:
Instalar con Macports en macOS
Si esta en macOS y utiliza Macports,
puedes instalar kubectl con Macports.
-
Ejecute el comando para instalar:
sudo port selfupdate
sudo port install kubectl
-
Test para asegurar que la versión instalada está actualizada:
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:
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
Configuraciones opcionales y plugins de kubectl
Habilitar el autocompletado en la shell
Kubectl tiene soporte para autocompletar en Bash, Zsh, Fish y Powershell,
lo que puede agilizar el tipeo.
A continuación están los procedimientos para configurarlo en Bash, Fisch 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.
Advertencia:
Hay dos versiones de bash-complete, v1 y v2. V1 es para Bash 3.2 (
que es el predeterminado en macOS), y v2 es para Bash 4.1+. El script de completado de kubectl
no funciona correctamente con bash-complete v1 y Bash 3.2. Requiere
bash-complete v2 y
Bash 4.1+. Por lo tanto, para poder usar correctamente la finalización de kubectl en macOS, debe instalar y usar Bash 4.1+ (
instrucciones). Las siguientes instrucciones asumen que usa Bash 4.1+ (es decir, cualquier versión de Bash de 4.1 o posterior).
Actualizar Bash
Las siguientes instrucciones asumen que usa Bash 4.1+. Puede verificar la versión de su Bash ejecutando:
Si es demasiado antiguo, puede instalarlo o actualizarlo usando Homebrew:
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
Nota:
Como se mencionó antes, estas instrucciones asumen que usa Bash 4.1+, lo que significa que instalará bash-completacion v2 (a diferencia de Bash 3.2 y bash-deployment v1, en cuyo caso el completado de kubectl no funcionará).
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.
Nota:
La instalación de Homebrew de bash-completion v2 genera todos los archivos en el directorio BASH_COMPLETION_COMPAT_DIR
, es por eso que los dos últimos métodos funcionan.
En cualquier caso, después de recargar su shell, el completado de kubectl debería estar funcionando.
Nota:
Se requiere kubectl 1.23 o superior para utilizar el autocompletado de Fish.
El script de autocompletado de Fish puede ser generado con el comando kubectl completion fish
. Leyendo este archivo en su Shell habilita el autocompletado de kubectl.
Para hacer esto en todas sus sesiones agregue la siguiente linea a su archivo ~/.config/fish/config.fish
:
kubectl completion fish | source
Después de recargar tu shell, el autocompletado para kubectl estará funcionando automáticamente.
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
-
Descarga la última versión con el siguiente 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"
-
Valide el binario (opcional)
Descargue el checksum de kubectl-convert:
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"
Ahora se puede validar el binario utilizando el checksum:
echo "$(cat kubectl-convert.sha256) kubectl-convert" | shasum -a 256 --check
Si es válido, la salida será:
En caso de falla, sha256
terminará con un estado diferente a cero con una salida similar a esta:
kubectl-convert: FAILED
shasum: WARNING: 1 computed checksum did NOT match
Nota:
Descargue la misma versión del binario y del checksum.
-
Dar permisos de ejecución al binario.
chmod +x ./kubectl-convert
-
Mover el binario de kubectl al PATH
de su sistema.
sudo mv ./kubectl-convert /usr/local/bin/kubectl-convert
sudo chown root: /usr/local/bin/kubectl-convert
Nota:
Asegúrese que el PATH /usr/local/bin
forme parte de las variables de entorno.
-
Verificar si el plugin fue instalado correctamente
Si no visualiza ningún error quiere decir que el plugin fue instalado correctamente.
-
Después de instalar el plugin elimine los archivos de instalación:
rm kubectl-convert kubectl-convert.sha256
Eliminar kubectl en macOS
Dependiendo de como haya instalado kubectl
puede utilizar uno de los siguientes métodos.
Eliminar kubectl usando la linea de comandos
-
Ubique el binario de kubectl
en su sistema:
-
Elimine el binario de kubectl
:
Reemplace <path>
con el path que apunta al binario de kubectl
del paso anterior. Por ejemplo, sudo rm /usr/local/bin/kubectl
Eliminar kubectl utilizando homebrew
Si instaló kubectl
utilizando Homebrew ejecute el siguiente comando:
Siguientes pasos
3 - Herramientas incluidas
Fragmentos que se incluirán en las páginas principales de kubectl-installs-*.
3.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.31 puede comunicarse con v1.30, v1.31, y v1.32 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
-
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"
Nota:
Para descargar una versión específica, reemplace la parte de $(curl -L -s https://dl.k8s.io/release/stable.txt)
del comando con la versión específica.
Por ejemplo, para descargar la versión 1.30.0 en Linux, escriba:
curl -LO https://dl.k8s.io/release/v1.30.0/bin/linux/amd64/kubectl
-
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:
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
Nota:
Descargue la misma versión del binario y el archivo de comprobación.
-
Instalar kubectl
sudo install -o root -g root -m 0755 kubectl /usr/local/bin/kubectl
Nota:
Si no tiene acceso de root en el sistema de destino, aún puede instalar kubectl en el ~/.local/bin
directorio:
chmod +x kubectl
mkdir -p ~/.local/bin/kubectl
mv ./kubectl ~/.local/bin/kubectl
# y luego agregue ~/.local/bin/kubectl en el $PATH
-
Para asegurarse de que la versión que instaló este actualizada ejecute:
Instalar usando la administración nativa de paquetes
-
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
-
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
-
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
-
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:
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:
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
Nota:
El código fuente de bash-complete todos los scripts se encuentra en /etc/bash_completion.d
.
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
-
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"
-
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:
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
Nota:
Descargue la misma versión del binario y el archivo de comprobación.
-
Instale kubectl-convert en pc
sudo install -o root -g root -m 0755 kubectl-convert /usr/local/bin/kubectl-convert
-
Verifique que el plugin se haya instalado correctamente
Si no ve un error, significa que el plugin se instaló correctamente.
Siguientes pasos
3.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.31 puede comunicarse con v1.30, v1.31, y v1.32 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
-
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"
Nota:
Para descargar una versión específica, reemplace el $(curl -L -s https://dl.k8s.io/release/stable.txt)
parte del comando con la versión específica.
Por ejemplo, para descargar la versión 1.30.0 en Intel macOS, escriba:
curl -LO "https://dl.k8s.io/release/v1.30.0/bin/darwin/amd64/kubectl"
Y para macOS en Apple Silicon, escriba:
curl -LO "https://dl.k8s.io/release/v1.30.0/bin/darwin/arm64/kubectl"
-
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:
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
Nota:
Descargue la misma versión del binario y el archivo de comprobación.
-
Hacer ejecutable el binario de kubectl.
-
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
Nota:
Asegúrese de que /usr/local/bin
se encuentre definida en su variable de entorno PATH.
-
Para asegurarse de que la versión que instaló se encuentra actualizada, ejecute:
Instalar con Homebrew en macOS
Si está en macOS y usa Homebrew como administrador de paquetes, puede instalar kubectl con Homebrew.
-
Ejecute el comando de instalación:
or
brew install kubernetes-cli
-
Para asegurarse de que la versión que instaló se encuentra actualizada, ejecute:
Instalar con Macports en macOS
Si está en macOS y usa Macports como administrador de paquetes, puede instalar kubectl con Macports.
-
Ejecute el comando de instalación:
sudo port selfupdate
sudo port install kubectl
-
Para asegurarse de que la versión que instaló se encuentra actualizada, ejecute:
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:
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.
Advertencia:
Hay dos versiones de bash-complete, v1 y v2. V1 es para Bash 3.2 (
que es el predeterminado en macOS), y v2 es para Bash 4.1+. El script de completado de kubectl
no funciona correctamente con bash-complete v1 y Bash 3.2. Requiere
bash-complete v2 y
Bash 4.1+. Por lo tanto, para poder usar correctamente la finalización de kubectl en macOS, debe instalar y usar Bash 4.1+ (
instrucciones). Las siguientes instrucciones asumen que usa Bash 4.1+ (es decir, cualquier versión de Bash de 4.1 o posterior).
Actualizar Bash
Las siguientes instrucciones asumen que usa Bash 4.1+. Puede verificar la versión de su Bash ejecutando:
Si es demasiado antiguo, puede instalarlo o actualizarlo usando Homebrew:
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
Nota:
Como se mencionó antes, estas instrucciones asumen que usa Bash 4.1+, lo que significa que instalará bash-completacion v2 (a diferencia de Bash 3.2 y bash-deployment v1, en cuyo caso el completado de kubectl no funcionará).
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.
Nota:
La instalación de Homebrew de bash-completion v2 genera todos los archivos en el directorio BASH_COMPLETION_COMPAT_DIR
, es por eso que los dos últimos métodos funcionan.
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
-
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"
-
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:
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
Nota:
Descargue la misma versión del binario y el archivo de comprobación.
-
Hacer ejecutable el binario de kubectl-convert
chmod +x ./kubectl-convert
-
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
Nota:
Asegúrese de que /usr/local/bin
se encuentre definida en su variable de entorno PATH.
-
Verifique que el complemento se haya instalado correctamente
Si no ve algun error, significa que el complemento se instaló correctamente.
Siguientes pasos
3.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.31 puede comunicarse con versiones v1.30, v1.31, y v1.32 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
-
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
-
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))
-
Agregue el binario a su PATH
.
-
Para asegurar que la versión dekubectl
es la misma que descargada, ejecute:
Nota:
Docker Desktop para Windows agrega su propia versión de
kubectl
a el
PATH
.
Si ha instalado Docker Desktop antes, es posible que deba colocar su entrada en el
PATH
antes de la agregada por el instalador de Docker Desktop o elimine el
kubectl
.
Instalar en Windows usando Chocolatey o Scoop
-
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
-
Para asegurarse de que la versión que instaló esté actualizada, ejecute:
-
Navegue a su directorio de inicio:
# Si estas usando cmd.exe, correr: cd %USERPROFILE%
cd ~
-
Cree el directorio .kube
:
-
Cambie al directorio .kube
que acaba de crear:
-
Configure kubectl para usar un clúster de Kubernetes remoto:
New-Item config -type file
Nota:
Edite el archivo de configuración con un editor de texto de su elección, como el Bloc de notas.
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:
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
-
Descargue la última versión con el comando:
curl -LO https://dl.k8s.io/release/v1.30.0/bin/windows/amd64/kubectl-convert.exe
-
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)
-
Agregue el binario a su PATH
.
-
Verifique que el plugin se haya instalado correctamente
Si no ve un error, significa que el plugin se instaló correctamente.
Siguientes pasos
3.4 - ¿Que sigue?
¿Qué sigue después de instalar kubectl.
3.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:
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
Nota:
El código fuente de bash-complete todos los scripts se encuentra en /etc/bash_completion.d
.
Ambos enfoques son equivalentes. Después de recargar su shell, el autocompletado de kubectl debería estar funcionando.
3.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.
Advertencia:
Hay dos versiones de bash-complete, v1 y v2. V1 es para Bash 3.2 (
que es el predeterminado en macOS), y v2 es para Bash 4.1+. El script de completado de kubectl
no funciona correctamente con bash-complete v1 y Bash 3.2. Requiere
bash-complete v2 y
Bash 4.1+. Por lo tanto, para poder usar correctamente la finalización de kubectl en macOS, debe instalar y usar Bash 4.1+ (
instrucciones). Las siguientes instrucciones asumen que usa Bash 4.1+ (es decir, cualquier versión de Bash de 4.1 o posterior).
Actualizar Bash
Las siguientes instrucciones asumen que usa Bash 4.1+. Puede verificar la versión de su Bash ejecutando:
Si es demasiado antiguo, puede instalarlo o actualizarlo usando Homebrew:
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
Nota:
Como se mencionó antes, estas instrucciones asumen que usa Bash 4.1+, lo que significa que instalará bash-completacion v2 (a diferencia de Bash 3.2 y bash-deployment v1, en cuyo caso el completado de kubectl no funcionará).
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.
Nota:
La instalación de Homebrew de bash-completion v2 genera todos los archivos en el directorio BASH_COMPLETION_COMPAT_DIR
, es por eso que los dos últimos métodos funcionan.
En cualquier caso, después de recargar su shell, el completado de kubectl debería estar funcionando.
3.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
3.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
3.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:
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