githubixx.kubectl
ansible-role-kubectl
Instaluje narzędzie linii poleceń kubectl, które służy do interakcji z serwerem API Kubernetes.
Wersje
Każdą wersję oznaczam i staram się trzymać semantycznej wersji. Jeśli chcesz użyć tej roli, zalecam sprawdzenie najnowszej wersji. Gałąź master to głównie rozwój, podczas gdy tagi oznaczają stabilne wydania. Generalnie staram się, aby gałąź master również była w dobrym stanie. Tag 23.0.2+1.28.5
oznacza, że jest to wydanie 23.0.2
tej roli, a wersja klienta kubectl
to 1.28.5
. Jeśli sama rola się zmienia, cz część przed +
wzrośnie. Jeśli zmienia się wersja Kubernetes, część po +
wzrośnie. To pozwala oznaczać poprawki błędów i nowe wersje roli, podczas gdy nadal jest ona rozwijana dla konkretnego wydania Kubernetes.
Dziennik zmian
Zobacz CHANGELOG
Zmienne roli
# Wersja "kubectl" do zainstalowania
kubectl_version: "1.29.3"
# Domyślny "plik binarny" pobierze "kubectl" jako plik binarny. Jest on
# około 2,5 raza większy niż plik ".tar.gz". Plik tarball musi być najpierw
# rozpakowany przez rolę po pobraniu i jest mniejszy.
#
# Jeśli podasz "binary", plik binarny "kubectl" zostanie pobrany. W
# przeciwieństwie do pliku tarball jest on około 2,5 raza większy, ale nie
# musi być rozpakowywany przez tę rolę.
#
# Jeśli rozmiar pobieranego pliku jest dla Ciebie ważny (np. wolne pobieranie
# lub pobieranie przez łącze mobilne), pozostań przy "archive". W przeciwnym
# razie "binary" może być opcją.
kubectl_download_filetype: "binary"
#
# Suma kontrolna SHA512 pliku "kubernetes-client-linux-amd64.tar.gz"
# (zobacz https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-1.29.md#client-binaries)
kubectl_checksum_archive: "sha512:c9cc7ab9e3aa776f2daab3a9e10ee78d57d0c081ef43f8032de36a61c6425ba527d5df92611b058672be0975a6b97ad3f3a169e282c26275d2c0e59e1f9b1173"
#
# Suma kontrolna SHA512 pliku binarnego. Zwykle nie ma potrzeby jej zmieniać.
# Dalsze informacje:
# - 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"
# Gdzie zainstalować plik binarny "kubectl"
kubectl_bin_directory: "/usr/local/bin"
# Katalog do przechowywania archiwum kubectl
kubectl_tmp_directory: "{{ lookup('env', 'TMPDIR') | default('/tmp', true) }}"
# Właściciel pliku binarnego "kubectl"
kubectl_owner: "root"
# Grupa pliku binarnego "kubectl"
kubectl_group: "root"
# Określa uprawnienia pliku binarnego "kubectl"
kubectl_binary_mode: "0755"
# System operacyjny, na którym ma działać "kubectl"
kubectl_os: "linux" # użyj "darwin" dla MacOS X, "windows" dla Windows
# Architektura procesora, na której ma działać "kubectl"
kubectl_arch: "amd64" # inne możliwe wartości: "386","arm64","arm","ppc64le","s390x"
Testowanie
Ta rola ma mały zestaw testowy utworzony za pomocą molecule. Aby uruchomić testy, postępuj zgodnie z przewodnikiem instalacji molecule. Upewnij się także, że na twoim komputerze działa demon Dockera.
Zakładając, że Docker jest już zainstalowany, potrzebujesz co najmniej dwóch pakietów Pythona:
pip3 install --user molecule
pip3 install --user molecule-docker
Następnie można uruchomić molecule:
molecule converge
Utworzy to kilka kontenerów Docker z Ubuntu 20.04/22.04 i Debianem 11/12 z zainstalowanym kubectl
. Aby sprawdzić, czy wszystko działa:
molecule verify
Aby wyczyścić, uruchom
molecule destroy
Przykład Playbook
- hosts: twoj-host
roles:
- githubixx.kubectl
Licencja
GNU GENERAL PUBLIC LICENSE Wersja 3
Informacje o autorze
Installs kubectl command line utility used to interact with the Kubernetes API Server.
ansible-galaxy install githubixx.kubectl