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
Installs kubectl command line utility used to interact with the Kubernetes API Server.
ansible-galaxy install githubixx.kubectl