kubectl edit în Kubernetes (kubectl)

Deschide definiția YAML a unei resurse din cluster în editorul de text și aplică modificările la salvare.

Sintaxă comandă
kubectl edit RESURSĂ NUME [-n NS] [--subresource=status]

Ce face kubectl edit

Comanda kubectl edit descarcă obiectul din API server ca YAML, îl deschide în editorul configurat în KUBE_EDITOR sau EDITOR (implicit vi pe Linux/macOS) și, imediat ce salvezi și închizi fișierul, trimite modificările înapoi la cluster.

Dacă API server-ul respinge modificarea (eroare de sintaxă sau câmp imutabil), kubectl salvează o copie temporară pe disc și îți arată eroarea în comentarii la începutul fișierului, ca să nu pierzi ce ai scris.

Este excelentă pentru depanare rapidă în medii de test, dar în producție modificările făcute cu edit vor fi suprascrise la următorul deploy din Git/CI dacă nu actualizezi și manifestul din depozit.

Opțiuni și argumente

Opțiune / Parametru Descriere
-o yaml|json Formatul în care este deschis obiectul în editor (implicit YAML).
--save-config Actualizează și adnotarea last-applied-configuration.
--subresource=status|scale Editează subresursa status sau scale (kubectl 1.24+).
--validate=strict|warn|ignore Nivelul de validare a schemei înainte de trimitere.

Exemple

Exemplul 1: Editarea unui Deployment cu nano sau VS Code

Setăm variabila KUBE_EDITOR pentru a folosi un editor mai prietenos decât vi.

KUBE_EDITOR="nano" kubectl edit deployment api
# sau cu VS Code (--wait este obligatoriu ca kubectl să aștepte închiderea tab-ului):
KUBE_EDITOR="code --wait" kubectl edit configmap api-config

Ieșire în terminal

deployment.apps/api edited
configmap/api-config edited

Greșeli frecvente

  • Încercarea de a modifica pe un Pod existent câmpuri imutabile (cum ar fi numele containerelor, volumele sau resources pe versiuni vechi): editarea unui Pod direct eșuează aproape mereu; editează deployment-ul care îl deține.
  • Rularea cu KUBE_EDITOR="code" fără --wait: comanda revine instantaneu cu Edit cancelled, no changes made.

Comenzi înrudite

  • kubectl apply: Creează sau actualizează declarativ resurse din fișiere YAML/JSON ori directoare Kustomize.
  • kubectl diff: Arată diferențele (în format unified diff) dintre manifestele locale și starea actuală din cluster.
  • kubectl get: Listează una sau mai multe resurse, într-un tabel sau în format YAML/JSON.
  • kubectl set image: Actualizează imaginea unui container dintr-un Deployment, DaemonSet sau StatefulSet (și alte comenzi kubectl set).
Comunitate & Schimb de cunoștințe

Întrebări & Exemple de Cod: kubectl edit

Ai o nelămurire despre utilizarea comenzii kubectl edit sau ai descoperit un truc / fragment de cod util? Distribuie-l cu ceilalți programatori!

💬

Fii primul care pune o întrebare sau distribuie un fragment de cod / prompt!

Nu au fost adăugate încă întrebări sau exemple de cod pentru această pagină. Dacă ai întâlnit o problemă sau ai un snippet util, adaugă-l mai jos pentru a-i ajuta pe ceilalți.

Comunitate Adaugă o întrebare sau distribuie un cod

Moderare & Siguranță:

Pentru a menține calitatea și securitatea informațiilor, fiecare întrebare sau fragment de cod/prompt este analizat (manual sau prin moderare asistată de AI) înainte de publicare.