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

TauCeti Blog

O projekcie

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

Zainstaluj
ansible-galaxy install githubixx.kubectl
Licencja
gpl-3.0
Pobrania
12k
Właściciel
Senior System Engineer - Python, Go, Cloud, Kubernetes, Commodore, Retro, 80's ;-)