Ce face kubectl cp
Comanda kubectl cp copiază fișiere sau directoare de pe calculatorul tău într-un pod sau invers (de exemplu pentru a descărca un dump de memorie, un profil CPU sau un fișier generat în container). Sintaxa seamănă cu scp sau docker cp: calea din cluster are forma [NAMESPACE/]POD:CALE.
Cerință importantă: în culise, kubectl cp rulează tar în interiorul containerului. Dacă imaginea containerului nu are binarul tar instalat (cazul imaginilor distroless), comanda va eșua.
Opțiuni și argumente
| Opțiune / Parametru | Descriere |
|---|---|
POD:CALE |
Calea din container; dacă începe fără /, este relativă la directorul de lucru al containerului. |
-c, --container=NUME |
Specifică containerul dintr-un pod multi-container. |
--retries=N |
Reîncearcă transferul în caz de întrerupere de rețea (util pentru fișiere mari). |
--no-preserve |
Nu păstrează UID/GID și permisiunile originale ale fișierelor. |
Exemple
Exemplul 1: Descărcarea unui fișier din pod și urcarea unui script local
kubectl cp shop/api-6f9b8d7c4-lm2vd:/tmp/heap.prof ./heap.prof
kubectl cp ./test-data.json shop/api-6f9b8d7c4-lm2vd:/tmp/test-data.json
Ieșire în terminal
tar: Removing leading `/' from member names
Greșeli frecvente
- Mesajul
tar: Removing leading '/' from member namesnu este o eroare: vine de latardin container și fișierul a fost copiat cu succes. - Pe Windows sau când folosești căi cu
C:\..., două puncte (:) este interpretat ca separatorPOD:CALE; folosește căi relative (de ex../fisier).
Comenzi înrudite
kubectl exec: Execută o comandă sau deschide un shell interactiv într-un container care rulează.kubectl debug: Atașează un container efemer de depanare unui pod existent, îi face o copie sau deschide o sesiune pe un nod.kubectl logs: Afișează sau urmărește în timp real ieșirea standard (stdout/stderr) a containerelor.