Argo CD and Server-Side Apply: Who Owns Which Field
Server-side apply moves the merge into the API server and replaces the last-applied annotation with field ownership. What that actually changes in Argo CD.
Server-side apply moves the merge into the API server and replaces the last-applied annotation with field ownership. What that actually changes in Argo CD.
Le server-side apply déplace la fusion dans l'API server et remplace l'annotation last-applied par des propriétaires de champs. Ce que ça change dans Argo CD.
rollout restart forces a clean rolling update without editing a single line of the Deployment. The right command for a one-off ConfigMap refresh, not kubectl delete pod.
rollout restart force un rolling update propre sans modifier une seule ligne du Deployment. La bonne commande pour un refresh de ConfigMap ponctuel, pas kubectl delete pod.
port-forward goes through the API server, not the pod's network. NetworkPolicy never sees it, a blind spot governed by its own specific RBAC verb.
port-forward passe par le serveur API, pas par le réseau du pod. NetworkPolicy ne le voit jamais, un angle mort qui a son propre verbe RBAC à restreindre spécifiquement.
kubectl top pod and HPA have no data to read without metrics-server installed. How it actually works, and the most common certificate error at install time.
kubectl top pod et le HPA n'ont aucune donnée à lire sans metrics-server installé. Comment il fonctionne, et l'erreur de certificat la plus fréquente à l'installation.
A distroless image has no shell and no diagnostic tools, by deliberate security choice. Ephemeral containers let you debug it anyway, without redeploying.
Une image distroless n'a ni shell ni outils de diagnostic, par choix de sécurité. Les conteneurs éphémères permettent de déboguer quand même, sans redéployer.
Kubernetes RBAC denies everything by default, but an overly broad role never breaks anything: it just sits there, silent, until the incident that exposes it.
RBAC Kubernetes refuse tout par défaut, mais un rôle trop large ne casse jamais rien : il existe, silencieux, jusqu'à l'incident qui l'expose.
CrashLoopBackOff is a symptom, never a cause. Three radically different root-cause families, one diagnostic method to tell them apart in a few commands.
CrashLoopBackOff est un symptôme, jamais une cause. Trois familles d'origine différentes, une méthode pour les distinguer en quelques commandes.
kubectl apply n'écrase pas un objet, il le fusionne. Ce mécanisme invisible explique pourquoi un kubectl edit manuel disparaît silencieusement au prochain déploiement.
kubectl apply doesn't overwrite an object, it merges it. That invisible mechanism explains why a manual kubectl edit silently vanishes on the next deploy.
How Deployment revisions map to ReplicaSets, what kubectl rollout undo actually restores, why GitOps prefers a Git revert, and the gotchas around rollbacks.
Comment les révisions d'un Deployment correspondent aux ReplicaSets, ce que kubectl rollout undo restaure vraiment, et pourquoi GitOps préfère un revert Git.