要將Kubernetes(k8s)中容器的文件復(fù)制到宿主機(jī)上,可以使用以下幾種方法:
-
使用kubectl cp命令:
- 語法:kubectl cp <pod名稱>:<容器路徑> <本地路徑>
- 示例:kubectl cp mypod:/app/logs /tmp/logs
- 說明:將mypod容器中/app/logs路徑下的文件復(fù)制到本地/tmp/logs目錄下。
-
使用kubectl exec命令結(jié)合tar命令進(jìn)行文件壓縮和傳輸:
- 語法:kubectl exec <pod名稱> – tar cf - <容器路徑> | tar xf - -C <本地路徑>
- 示例:kubectl exec mypod – tar cf - /app/logs | tar xf - -C /tmp/logs
- 說明:將mypod容器中/app/logs路徑下的文件壓縮成tar文件,然后傳輸?shù)奖镜氐?tmp/logs目錄下并解壓。
-
創(chuàng)建一個(gè)臨時(shí)的Pod來復(fù)制文件:
- 創(chuàng)建一個(gè)包含容器的臨時(shí)Pod,該容器與目標(biāo)容器使用空目錄卷(emptyDir)進(jìn)行文件共享。
- 使用kubectl cp或者tar命令將文件從目標(biāo)容器復(fù)制到空目錄卷。
- 使用kubectl cp或者tar命令將文件從空目錄卷復(fù)制到宿主機(jī)上。
以上方法都可以將Kubernetes中容器的文件復(fù)制到宿主機(jī)上,可根據(jù)實(shí)際需求選擇適合的方法。