Czym jest KubeConfig?¶
Jest to plik w ścieżce $HOME/.kube/configzawierający konfigurację dostępów do klastrów Kubernetes. Do tego pliku odwołuje się polecenie kubectl.
Zawarte mogą być tutaj różne klastry (Clusters), dostępy dla różnych użytkowników (Users) oraz różne konteksty (Contexts).
W klastrach jest definicja klastrów do których będzie możliwy dostęp, w sekcji User dane użytkownika (np. administratora) za pomocą którego będziemy się komunikować, a Context jest to połączenie obu tych grup.
Struktura KubeConfig¶
apiVersion: v1
kind: Config
clusters:
- name: <nazwa_klastra>
cluster:
certificate-authority: ca.crt
server: <adres_URL_klastra>:6443
context:
- name: <nazwa_użytkownika>@<nazwa_klastra>
context:
cluster: <nazwa_klastra>
user: <nazwa_użytkownika>
users:
- name: <nazwa_użytkownika>
user:
client-certificate: <certyfikat_usera>.crt
client-key: <klucz_usera>.key
Przykładowy KubeConfig¶
apiVersion: v1
kind: Config
current-context: administrator@dev # default context (default when use kubectl)
clusters:
- name: dev
cluster:
certificate-authority: ca.crt
server: https://dev-cluster.cluster.com:6443
context:
- name: administrator@dev
context:
cluster: dev
user: administrator
namespace: app-frontend
users:
- name: administrator
user:
client-certificate: admin.crt
client-key: admin.key
Komendy¶
Wyświetlenie ConfigFile:
Ustawienie domyślnego kontekstu:
Ustawienie innego kontekstu, z wykorzystaniem innego pliku: