Czym są ServiceAccounts w Kubernetes?¶
Jest to podobny mechanizm do definiowania użytkownika zarządzającego klastrem (np. wyświetlanie listy Podów, określamy poprzez RBAC), lecz definiowany jest dla usług, aplikacji, a nie użytkowników (np. dla Prometheusa, Jenkinsa).
Uwierzytelnianie odbywa się z użyciem Tokena.
Komendy do zarządzania ServiceAccount na klastrze¶
Wyświetlanie ServiceAccount¶
Wyświetlanie szczegółów o danym ServiceAccount¶
Tworzenie ServiceAccount¶
Zostanie utworzony ServiceAccount w namespacedefault w tym przypadku.
lub w manifeście yaml:
apiVersion: v1
kind: ServiceAccount
metadata:
name: <nazwa_sa>
namespace: <nazwa_namespace>
automountServiceAccountToken: false # gdy nie chcemy auto-tokena we wszystkich tworzonych zasobach w danym sa, np. Pody
Definicja Poda w danym ServiceAccount¶
Definicja Poda w manifeście:
apiVersion: v1
kind: Pod
metadata:
name: <nazwa_poda>
spec:
containers:
- name: <nazwa_kontenera>
image: <nazwa_image>
serviceAccountName: <nazwa_sa>
automountServiceAccountToken: false # gdy nie chcemy tokena serviceaccount wewnątrz Poda
Tworzenie Tokena¶
Ważne jest to, że musimy podać nazwę naszego ServiceAccount
Domyślnie tworzony jest na 1H, Kubernetes go odnawia.