Skip to content
malak.cloud
  • Kontakt
  • O mnie
  • Search Icon

malak.cloud

Cloud Native na co dzień

Certyfikaty w Kubernetesie

Certyfikaty w Kubernetesie

5 stycznia 2021

W dobie chmur publicznych wiedza o komunikacji pomiędzy poszczególnymi komponentami Kubernetesa być może nie jest niezbędna do używania klastrów, ale może być przydatna. Jeżeli jednak masz zamiar podchodzić do egzaminów certyfikacyjnych CKA lub CKS to wiedza o gdzie instalowane są certyfikaty w Kubernetesie będzie niezbędna.

Komponenty

Poniższy schemat przedstawia poszczególne komponenty w Kubernetesie. Nie będę ich tu opisywał. Zainteresowanych odsyłam do dokumentacji. Strzałkami zaznaczyłem komunikację pomiędzy poszczególnymi usługami. Jak się zapewne domyślacie, każdy serwer oraz klienci powinien posiadać swój certyfikat, a nad całością powinno „czuwać” tak zwane Certificate Authority.

k8s components

Certyfikaty w Kubernetesie

W Kubernetesie certyfikaty potrzebne są m.in. dla następujących połączeń:

  • certyfikat klienta dla komunikacji Kubelet do API Server
  • certyfikat serwera dla API Server
  • certyfikat klienta dla komunikacji API Server do Kubelet
  • certyfikat klienta dla komunikacji API Server do etcd
  • certyfikat klienta dla komunikacji controller manager do API Server
  • certyfikat klienta dla komunikacji scheduler do API Server

Jest ich oczywiście więcej, ale skupmy się na wiedzy potrzebnej do egzaminów. Gdzie i jak je znaleźć?

Zakładam, że mamy klaster uruchomiony za pomocą narzędzie kubeadm. Z takim będziecie mieli do czynienia podczas egzaminów. Wystarczy klaster złożony z jednego mastera i jednego worker noda.

Po utworzeniu klastra wchodzimy przez ssh na mastera. Pokażę po kolei gdzie są poszczególne certyfikaty.

CA cert, API Server cert, API Server client cert ->etcd, API Server client cert ->kubelet

Znajdują się w katalogu /etc/kubernetes/pki Wchodzimy więc do niego i sprawdzamy zawartość:

cd /etc/kubernetes/pki && ll

etcd server cert

Umieszczony jest w podkatalogu etcd.  Sprawdźmy więc jego zawartość

ll etcd

Scheduler client cert ->API Server

Ten certyfikat przechowywany jest w pliku konfiguracyjnym scheduler.conf. Aby przejrzeć jego zawartość musimy podnieść uprawnienia.

sudo -i
cat /etc/kubernetes/scheduler.conf

Controller Manager client cert -> API Server

cat /etc/kubernetes/controller-manager.conf

Kubelet client cert -> API Server

Kubelet jest komponentem, który znajdziemy zarówno na masterze jak i na worker nodach. Następne dwa certyfikaty będę więc zainstalowane w obu mniejscach.

cat /etc/kubernetes/kubelet.conf

Kubelet server cert

cd /var/lib/kubelet/pki && ll

Jeżeli chcesz wiedzieć więcej o certyfikatach w Kubernetesie warto spojrzeć na ten materiał: All You Need to Know About Certificates in Kubernetes lub przeczytać dokumentację.


k8s
k8s

Post navigation

PREVIOUS
Certyfikaty GCP okiem użytkownika AWS
NEXT
AWS News – styczeń 2021
Comments are closed.
Cześć. Nazywam się Przemek Malak. Dzięki za wizytę. Mam nadzieję, że to o czym piszę Cię zainteresowało. Jeżeli chcesz ze mną pogadać, najłatwiej będzie przez LinkedIn.

Losowe wpisy

  • Filtrowanie zdarzeń wyzwalających Lambdę

    27 listopada 2021
  • AWS API Gateway i dane.

    7 lipca 2017
  • Jak na bieżąco monitorować koszty w AWS

    10 listopada 2021
  • IAM Access Analyzer

    18 września 2022
  • Jak wykryć aktywność roota na koncie AWS

    5 kwietnia 2021
  • Apps
  • AWS
  • CloudNative
  • Cookbook
  • Data
  • DEV
  • GCP
  • IoT
  • Istio
  • k8s
  • Security
  • Social
  • GitHub
  • LinkedIn
© 2023   All Rights Reserved.