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

Blog de TauCeti

Acerca del proyecto

Installs kubectl command line utility used to interact with the Kubernetes API Server.

Instalar
ansible-galaxy install githubixx.kubectl
Licencia
gpl-3.0
Descargas
12k
Propietario
Senior System Engineer - Python, Go, Cloud, Kubernetes, Commodore, Retro, 80's ;-)