githubixx.kubectl
ansible-role-kubectl
Instala la utilidad de línea de comandos kubectl usada para interactuar con el Servidor API de Kubernetes.
Versiones
Etiqueto cada lanzamiento y trato de seguir versionado semántico. Si deseas utilizar el rol, te recomiendo que verifiques la última etiqueta. La rama principal (master) es básicamente para desarrollo, mientras que las etiquetas marcan las versiones estables. Pero en general, también trato de mantener la rama principal en buena forma. Una etiqueta 23.0.2+1.28.5
significa que este es el lanzamiento 23.0.2
de este rol y la versión del binario cliente de kubectl
es 1.28.5
. Si el rol en sí cambia, la parte X.Y.Z
antes de +
aumentará. Si la versión de Kubernetes cambia, la parte X.Y.Z
después de +
aumentará. Esto permite etiquetar correcciones y nuevas versiones importantes del rol, mientras todavía se desarrolla para un lanzamiento específico de Kubernetes.
Registro de cambios
ver CHANGELOG
Variables del Rol
# Versión de "kubectl" a instalar
kubectl_version: "1.29.3"
# El "binario" por defecto descargará "kubectl" como un archivo binario. Esto
# es aproximadamente 2.5 veces más grande que el archivo ".tar.gz". El archivo tar
# necesita ser descomprimido por el rol primero después de su descarga y es más pequeño.
#
# Si especificas "binary", el archivo binario "kubectl" será descargado. En
# contraste con el archivo tar, el archivo binario es aproximadamente 2.5 veces más grande, pero no
# necesita ser descomprimido por este rol.
#
# Si el tamaño del archivo de descarga es importante para ti (por ejemplo, descarga
# lenta o descarga a través de un enlace móvil), mantente con "archive". De lo contrario, "binary" puede ser una opción.
kubectl_download_filetype: "binary"
#
# Suma de verificación SHA512 del archivo "kubernetes-client-linux-amd64.tar.gz"
# (ver https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-1.29.md#client-binaries)
kubectl_checksum_archive: "sha512:c9cc7ab9e3aa776f2daab3a9e10ee78d57d0c081ef43f8032de36a61c6425ba527d5df92611b058672be0975a6b97ad3f3a169e282c26275d2c0e59e1f9b1173"
#
# Suma de verificación SHA512 del binario. Normalmente no es necesario cambiarlo.
# Más información:
# - https://kubernetes.io/releases/download/#binaries
# - https://www.downloadkubernetes.com/
kubectl_checksum_binary: "sha512:https://cdn.dl.k8s.io/release/v{{ kubectl_version }}/bin/{{ kubectl_os }}/{{ kubectl_arch }}/kubectl.sha512"
# Dónde instalar el binario "kubectl"
kubectl_bin_directory: "/usr/local/bin"
# Directorio para guardar el archivo comprimido de kubectl
kubectl_tmp_directory: "{{ lookup('env', 'TMPDIR') | default('/tmp', true) }}"
# Propietario del binario "kubectl"
kubectl_owner: "root"
# Grupo del binario "kubectl"
kubectl_group: "root"
# Especifica los permisos del binario "kubectl"
kubectl_binary_mode: "0755"
# Sistema operativo en el que "kubectl" debe ejecutarse
kubectl_os: "linux" # usar "darwin" para MacOS X, "windows" para Windows
# Arquitectura del procesador en la que debe ejecutarse "kubectl"
kubectl_arch: "amd64" # otros valores posibles: "386", "arm64", "arm", "ppc64le", "s390x"
Pruebas
Este rol tiene una pequeña configuración de prueba que se crea usando molecule. Para ejecutar las pruebas, sigue la guía de instalación de molecule. También asegúrate de que un demonio de Docker esté ejecutándose en tu máquina.
Suponiendo que Docker ya está instalado, necesitarás al menos dos paquetes de Python:
pip3 install --user molecule
pip3 install --user molecule-docker
Después, se puede ejecutar molecule:
molecule converge
Esto configurará algunos contenedores de Docker con Ubuntu 20.04/22.04 y Debian 11/12 con kubectl
instalado. Para verificar si todo funcionó:
molecule verify
Para limpiar, ejecuta
molecule destroy
Ejemplo de Playbook
- hosts: tu-anfitrión
roles:
- githubixx.kubectl
Licencia
LICENCIA PÚBLICA GENERAL GNU Versión 3
Información del Autor
Installs kubectl command line utility used to interact with the Kubernetes API Server.
ansible-galaxy install githubixx.kubectl