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
resourcespe 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 cuEdit 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).
Întrebări & Exemple de Cod:
kubectl editAi o nelămurire despre utilizarea comenzii
kubectl editsau 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.