建议先关注、点赞、收藏后再阅读。
列出当前Kubernetes集群中所有的Pod,并按照CPU使用率进行排序
代码语言:shell复制kubectl get pods --all-namespaces --sort-by=".spec.containers[].usage.cpu"
输出结果如下所示:
命名空间 | 名称 | 状态 | 重启次数 | CPU使用率 |
---|---|---|---|---|
default | pod1 | Running | 1 | 300m |
default | pod2 | Running | 0 | 400m |
kube-system | pod3 | Running | 2 | 500m |
kube-system | pod4 | Running | 1 | 600m |
以上表格列出了每个Pod的命名空间、名称、状态、重启次数和CPU使用率,按照CPU使用率从低到高进行排序。
查找并删除特定命名空间下的所有Pod
代码语言:txt复制kubectl get pods -n <namespace> --no-headers=true | awk '{print $1}' | xargs kubectl delete pod -n <namespace>
该命令通过以下步骤实现:
- 使用
kubectl get pods -n <namespace> --no-headers=true
命令获取特定命名空间下的所有Pod的名称列表。 - 通过管道符号
|
将输出传递给awk命令。 - 使用awk命令
awk '{print $1}'
提取第一列(即Pod的名称)。 - 通过管道符号
|
再次将输出传递给xargs命令。 - 使用xargs命令
xargs kubectl delete pod -n <namespace>
逐个删除特定命名空间下的所有Pod。
请将上述命令中的<namespace>
替换为你要操作的命名空间名称。
创建Deployment
使用kubectl命令行工具创建一个新的Deployment并指定其副本数量为3,可以按照以下步骤进行操作:
- 打开终端,输入以下命令连接到所需的Kubernetes集群:kubectl cluster-info
- 创建一个包含Deployment配置的YAML文件(例如 yifan-online.yaml),内容如下:apiVersion: apps/v1 kind: Deployment metadata: name: my-deployment spec: replicas: 3 selector: matchLabels: app: my-app template: metadata: labels: app: my-app spec: containers: - name: my-container image: my-image
该YAML文件中创建了一个名为my-deployment
的Deployment,副本数量为3。
- 在终端中,使用以下命令创建新的Deployment:kubectl create -f yifan-online.yaml
运行命令后,将会创建一个新的Deployment,并自动分配3个Pod副本。
- 可以使用以下命令查看Deployment的状态和副本数量:kubectl get deployments
此命令将显示当前群集中的所有Deployment以及它们的副本数量。
通过以上步骤,可以使用kubectl命令行工具创建一个新的Deployment并指定其副本数量为3。
获取当前Kubernetes集群中所有节点的详细信息,包括IP地址和节点标签:
代码语言:yaml复制kubectl get nodes -o=custom-columns='NAME:.metadata.name,IP:.status.addresses[0].address,LABELS:.metadata.labels'
使用kubectl命令行工具来更新资源对象的Label
通过以下步骤实现:
- 打开终端或命令行界面,并确保已经正确安装和配置了kubectl工具。
- 使用以下命令来更新资源对象的Label:
kubectl label <资源类型> <资源名称> <标签名称>=<标签值>
其中,<资源类型>
代表要更新标签的资源类型,如pod
、service
等;<资源名称>
是要更新标签的资源的名称;<标签名称>=<标签值>
是要添加或更新的标签的键值对。
- 示例命令:kubectl label pods my-pod app=my-app上述命令将为名为
my-pod
的Pod对象添加一个名为app
的标签,其值为my-app
。