下面介绍kubectl的具体使用场景。
1.k8s集群管理
主要有以下操作
1.1.查看集群和节点资源使用情况
查看Kubernetes集群中的可用资源,常用场景如下:
查看集群中的节点信息:kubectl get nodes
查看集群中的资源使用情况:kubectl top nodes
查看集群中的CPU和内存限制:kubectl describe nodes <node-name>
查看集群中的Pod资源使用情况:kubectl top pods
查看集群中的存储容量和可用容量:kubectl describe cluster
2.pod资源管理
主要有以下操作
2.1.kubectl cp进行文件资源交换
kubectl cp命令用于pod和外部的文件交换,可以将文件和目录从容器复制到宿主机或从宿主机复制到容器。具体使用方法如下:
(1)将pod文件拷贝到宿主机:
命令:kubectl cp -n NAMESPACE_name POD_name:FILE_name NEW_FILE_name
NAMESPACE_name:namespace命名空间
POD_name:pod名字
FILE_name:POD中的文件路径+文件名称
NEW_FILE_name:存到宿主机的文件路径+文件名称
注意,NEW_FILE_name也是需要指定具体的文件名称。
(2)将宿主机文件拷贝到pod
命令:kubectl cp -n NAMESPACE_name FILE_name POD_name:NEW_FILE_name
NAMESPACE_name:namespace命名空间
POD_name:pod名字
FILE_name:宿主机中文件路径+文件名称
NEW_FILE_name:存到POD的文件路径+文件名称
需要注意的是,在使用kubectl cp命令时,需要先确定包含要复制内容的Pod名称和容器名称,然后使用相应的命令将容器内容复制到本地。
同时,kubectl cp命令中的本地地址和远程地址可以使用绝对路径或相对路径,本地地址的相对目录为当前kubectl执行命令的目录,远程地址的目录为pod workdir的目录。