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。
- 点赞
- 收藏
- 关注作者
评论(0)