Kubectl 常用命令大全

举报
很久 发表于 2023/11/27 21:14:34 2023/11/27
【摘要】 在使用kubectl管理Kubernetes集群时,了解并掌握一些基础命令是非常重要的。下面是一些常用的kubectl命令

Kubernetes是容器编排领域的开源巨头,而kubectl则是与Kubernetes集群交互的命令行工具。在使用kubectl管理Kubernetes集群时,了解并掌握一些基础命令是非常重要的。下面是一些常用的kubectl命令:

基础命令

create命令

create命令用于根据文件或输入创建资源。以下是创建Deployment和Service资源的示例:

$ kubectl create -f demo-deployment.yaml
$ kubectl create -f demo-service.yaml

delete命令

delete命令用于删除资源。可以根据yaml文件删除对应的资源,也可以通过具体的资源名称进行删除:

$ kubectl delete -f demo-deployment.yaml
$ kubectl delete -f demo-service.yaml
$ kubectl delete 具体的资源名称

get命令

get命令用于获取资源信息。以下是一些示例:

$ kubectl get all
$ kubectl get pod
$ kubectl get node
$ kubectl get svc
$ kubectl get ns

run命令

run命令用于在集群中创建并运行一个或多个容器镜像。以下是一个示例:

$ kubectl run nginx --replicas=3 --labels="app=example" --image=nginx:1.10 --port=80

expose命令

expose命令用于创建一个Service服务,并暴露端口以供外部访问:

$ kubectl expose deployment nginx --port=88 --type=NodePort --target-port=80 --name=nginx-service

set命令

set命令用于配置应用的一些特定资源,也可以修改已有资源。以下是一些子命令:

kubectl set resources:设置资源的一些范围限制。
kubectl set selector:设置资源的选择器。
kubectl set image:更新现有资源的容器镜像。

explain命令

explain命令用于显示资源文档信息:

$ kubectl explain rs

edit命令

edit命令用于编辑资源信息:

$ kubectl edit deployment nginx
$ kubectl edit service/nginx

集群管理命令

certificate命令

certificate命令用于证书资源管理和授权:

$ kubectl certificate approve node-csr-81F5uBehyEyLWco5qavBsxc1GzFcZk3aFM3XW5rT3mw node-csr-Ed0kbFhc_q7qx14H3QpqLIUs0uKo036O2SnFpIheM18

cluster-info命令

cluster-info命令用于显示集群信息:

$ kubectl cluster-info

top命令

top命令用于查看资源的CPU、内存、磁盘等使用率:

$ kubectl top pod --all-namespaces

cordon、uncordon、drain命令

cordon:标记某个节点不可调度。
uncordon:标记节点可调度。
drain:在维护期间排除节点。

taint命令

taint命令用于给某个Node节点设置污点。

集群故障排查和调试命令

describe命令

describe命令用于显示特定资源的详细信息:

$ kubectl describe po my-nginx

logs命令

logs命令用于在一个pod中打印容器的日志:

$ kubectl logs nginx

exec命令

exec命令用于进入容器进行交互,在容器中执行命令:

$ kubectl exec -it nginx-deployment-58d6d6ccb8-lc5fp bash

attach命令

attach命令用于连接到一个正在运行的容器:

$ kubectl attach 123456-7890

cp命令

cp命令用于拷贝文件或目录到pod容器中:

$ kubectl cp local-file.txt mypod:/remote/path/file.txt

高级命令

apply命令

apply命令用于通过文件名或标准输入对资源应用配置:

$ kubectl apply -f ./pod.json

patch命令

patch命令用于使用补丁修改、更新资源的字段:

$ kubectl patch node k8s-node-1 -p '{"spec":{"unschedulable":true}}'

replace命令

replace命令用于通过文件或标准输入替换原有资源:

$ kubectl replace -f ./pod.json

convert命令

convert命令用于不同版本之间转换配置文件:

$ kubectl convert -f pod.yaml

格式化输出

使用 -o 或 --output 参数可以将详细信息以特定格式输出到终端窗口,例如:

$ kubectl get pods -o wide

Kubectl 日志输出详细程度和调试

通过 -v 或 --v 参数来控制日志输出的详细程度,以及调试:

$ kubectl get pods -v=5

以上是一些常用的kubectl命令,通过这些命令,您可以管理和调整Kubernetes集群中的各种资源,实现高效的容器编排和管理。希望这份《Kubectl 常用命令大全》能够帮助您更好地使用和理解kubectl。

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。