githubixx.kubectl

ansible-role-kubectl

Installe l'outil en ligne de commande kubectl utilisé pour interagir avec le serveur d'API Kubernetes.

Versions

Je tague chaque version et j'essaie de respecter le versionnement sémantique. Si vous souhaitez utiliser ce rôle, je recommande de consulter le dernier tag. La branche master est principalement pour le développement tandis que les tags marquent les versions stables. En général, j'essaie aussi de garder la master en bon état. Un tag 23.0.2+1.28.5 signifie que c'est la version 23.0.2 de ce rôle et que la version binaire du client kubectl est 1.28.5. Si le rôle lui-même change, X.Y.Z avant + augmentera. Si la version de Kubernetes change, X.Y.Z après + augmentera. Cela permet de taguer les corrections de bugs et les nouvelles versions majeures du rôle tout en étant encore développé pour une version spécifique de Kubernetes.

Journal des modifications

voir CHANGELOG

Variables de rôle

# Version de "kubectl" à installer
kubectl_version: "1.29.3"

# Le "binaire" par défaut téléchargera "kubectl" en tant que fichier binaire. Cela
# fait environ 2,5x plus gros que le fichier ".tar.gz". L'archive doit d'abord être décompressée
# par le rôle après le téléchargement et est plus petite.
#
# Si vous spécifiez "binaire", le fichier binaire "kubectl" sera téléchargé. En
# revanche, le fichier binaire est environ 2,5 fois plus gros mais n'a pas besoin d'être
# décompressé par ce rôle.
#
# Si la taille du fichier à télécharger est importante pour vous (par exemple, téléchargement lent
# ou téléchargement via une connexion mobile), restez avec "archive". Sinon, "binaire" peut être une option.
kubectl_download_filetype: "binary"
#
# Somme de contrôle SHA512 du fichier "kubernetes-client-linux-amd64.tar.gz"
# (voir https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-1.29.md#client-binaries)
kubectl_checksum_archive: "sha512:c9cc7ab9e3aa776f2daab3a9e10ee78d57d0c081ef43f8032de36a61c6425ba527d5df92611b058672be0975a6b97ad3f3a169e282c26275d2c0e59e1f9b1173"
#
# Somme de contrôle SHA512 du binaire. Il n'est normalement pas nécessaire de le changer.
# Informations supplémentaires :
#   - 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"

# Où installer le binaire "kubectl"
kubectl_bin_directory: "/usr/local/bin"

# Répertoire pour stocker l'archive kubectl
kubectl_tmp_directory: "{{ lookup('env', 'TMPDIR') | default('/tmp', true) }}"

# Propriétaire du binaire "kubectl"
kubectl_owner: "root"

# Groupe du binaire "kubectl"
kubectl_group: "root"

# Spécifie les permissions du binaire "kubectl"
kubectl_binary_mode: "0755"

# Système d'exploitation sur lequel "kubectl" doit fonctionner
kubectl_os: "linux"  # utilisez "darwin" pour MacOS X, "windows" pour Windows

# Architecture du processeur sur laquelle "kubectl" doit fonctionner
kubectl_arch: "amd64"  # autres valeurs possibles : "386","arm64","arm","ppc64le","s390x"

Tests

Ce rôle dispose d'une petite configuration de test créée à l'aide de molecule. Pour exécuter les tests, suivez le guide d'installation de molecule. Assurez-vous également qu'un démon Docker fonctionne sur votre machine.

En supposant que Docker est déjà installé, vous aurez besoin d'au moins deux packages Python :

pip3 install --user molecule
pip3 install --user molecule-docker

Ensuite, molecule peut être exécuté :

molecule converge

Cela mettra en place quelques conteneurs Docker avec Ubuntu 20.04/22.04 et Debian 11/12 avec kubectl installé. Pour vérifier si tout a bien fonctionné :

molecule verify

Pour nettoyer, exécutez

molecule destroy

Exemple de Playbook

- hosts: votre-hôte
  roles:
    - githubixx.kubectl

Licence

LICENCE PUBLIQUE GÉNÉRALE GNU Version 3

Informations sur l'auteur

TauCeti Blog

À propos du projet

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

Installer
ansible-galaxy install githubixx.kubectl
Licence
gpl-3.0
Téléchargements
12k
Propriétaire
Senior System Engineer - Python, Go, Cloud, Kubernetes, Commodore, Retro, 80's ;-)