/phpcon-2022-kubernetes-ulabs

Materiały na warsztaty Kubernetes podczas PHPCon 2022

Wymagane narzedzia

W celu wzięcia udziału w warsztacie, wymagane będzie zainstalowanie następujących narzędzi na swoim komputerze:

Podczas warsztatu ćwiczenia bedą wykonywane na współdzielonym klastrze Kubernetes w AWS. Nie ma potrzeby instalowania własnego lokalnego klastra.

Użytkownikom Windows może być przydatny shell kompatybilny z bashem, np. git-bash albo WSL.

Zalecana konfiguracja dodatkowa

Dla komfortowej pracy CLI zalecane jest skonfigurowanie autokompletowania oraz aliasu na przełączenie namespace.

Autokompletowanie

Do dopisania w ~/.bashrc

source <(kubectl completion bash)
source <(helm completion bash)

Użytkownicy innych shelli np. zsh mogą podmienić bash na zsh w poleceniach i nazwie pliku.

Efektem wprowadzenia tej zmiany będzie możliwość autokompletowania poleceń kubectl i helm za pomocą klawisza tabulacji.

Alias na przełączenie namespace

Skraca częste, ale długie polecenie:

Do dopisania w ~/.bashrc lub analogicznym pliku dla innych shelli.

alias kcd='kubectl config set-context $(kubectl config current-context) --namespace '

Weryfikacja działania narzędzi

aws-cli

Polecenie aws --version zwróci wersję aplikacji, 2.7.x lub wyższą.

-> aws --version
aws-cli/2.7.27 Python/3.9.11 Linux/5.19.0-2-amd64 exe/x86_64.debian prompt/off

kubectl

Polecenie kubectl version --client --short zwróci wersję narzędzia, v1.20.x lub wyższą.

-> kubectl version --client --short
Client Version: v1.20.2

helm

Polecenie helm version --short zwróci wersję, v3.7.x lub wyższą.

-> helm version --short
v3.7.1+g1d11fcb

docker

Polecenie docker pull nginx:latest skutecznie pobierze obraz dockerowy z publicznego registry.

-> docker pull nginx:latest
latest: Pulling from library/nginx
e9995326b091: Pull complete 
71689475aec2: Pull complete 
f88a23025338: Pull complete 
0df440342e26: Pull complete 
eef26ceb3309: Pull complete 
8e3ed6a9e43a: Pull complete 
Digest: sha256:47a8d86548c232e44625d813b45fd92e81d07c639092cd1f9a49d98e1fb5f737
Status: Downloaded newer image for nginx:latest
docker.io/library/nginx:latest