Aide-mémoire CKAD

exemple YAML Pod statique Kubernetes

Le kubelet lit les fichiers Pod de son répertoire de manifestes et maintient ces conteneurs. L’API server n’en reçoit qu’un miroir.

Un technicien est agenouillé près d’une capsule qui brille encore après l’extinction du hangar. Un technicien est agenouillé près d’une capsule qui brille encore après l’extinction du hangar.
Répertoire du kubelet
apiVersion: kubelet.config.k8s.io/v1beta1
kind: KubeletConfiguration
staticPodPath: /etc/kubernetes/manifests
/etc/kubernetes/manifests/static-web.yaml
apiVersion: v1
kind: Pod
metadata:
  name: static-web
  namespace: default
spec:
  containers:
    - name: web
      image: nginx:1.27
Poser et voir le miroir
mkdir -p /etc/kubernetes/manifests
kubectl get nodes
kubectl get pods -o wide
L’arrêter
kubectl delete pod static-web-node-1
mv /etc/kubernetes/manifests/static-web.yaml /tmp/static-web.yaml

Champs

staticPodPath
Champ de la config kubelet. kubeadm pose /etc/kubernetes/manifests. L’ancien flag est --pod-manifest-path.
metadata.name
Le Pod miroir est ce nom, un tiret, puis le nom du nœud. Lire le nœud avec kubectl get nodes.
containers
kind: Pod seulement. Un fichier Deployment dans ce répertoire n’est pas un Pod statique.
image
Déjà présente sur le nœud si le nœud ne peut pas pull. Les tags busybox et nginx dépendent de la tâche.
kubectl get
Montre le miroir. -o wide affiche le nœud. Les conteneurs peuvent tourner avant que cet objet existe.
kubectl delete
Supprime le miroir. Le kubelet le recrée à partir du fichier.
mv
Sortir du répertoire arrête le Pod. L’y remettre le démarre. Le kubelet scanne environ toutes les 20 secondes.
mkdir
kubeadm a déjà /etc/kubernetes/manifests. Créer le répertoire seulement s’il manque.

Pièges

  • Le nom du Pod miroir est metadata.name, un tiret, et le nom du nœud. kubectl delete retire ce miroir, et le kubelet le réécrit. Déplacer le fichier hors du répertoire de manifestes arrête les conteneurs.
  • kubeadm pointe le kubelet sur /etc/kubernetes/manifests. Le champ de config est staticPodPath. Le flag déprécié est --pod-manifest-path. Un fichier nouveau est pris au scan suivant, environ toutes les 20 secondes. Redémarrer le kubelet quand on change le répertoire, pas quand on ajoute un fichier.
  • Le kubelet lit chaque fichier de ce répertoire dont le nom ne commence pas par un point. Une copie laissée à côté du manifeste devient un second Pod. Garder les sauvegardes dans /tmp.
  • Les conteneurs continuent pendant que l’API server est arrêté. L’objet miroir est la copie de l’API, dans le namespace écrit sur le Pod.

Doc officielle Create static Pods Static Pods

S’entraîner sur un cluster réel →