k8s 常用命令
2021-09-25 本文已影响0人
quanCN
kubectl cluster-info
- 显示集群详细信息
kubectl cluster-info
kubectl api-resources
- 服务器上支持的API资源
kubectl api-resources
kubectl apply
kubectl apply-以文件或stdin部署或更新一个或多个资源
- 创建一个serice/pod/deployment/...资源
kubectl apply -f <file-path>
- 使用<dir>目录下所有.yaml、.yml、.json文件中的定义进行创建
kubectl apply -f <dir>
kubectl get
kubectl get-列出一个或多个资源对象的信息
- 以文本形式列出所有Pod
kubectl get pod
- 监控当前所有pod
kubectl get pod -w
- 以文本形式列出所有的pod,包含附加信息
kubectl get pods -o wide
- 以文本形式查询指定名称的pod
kubectl get pod <pod-name>
- 以文本形式列出所有pod、service
kubectl get pod,service
- 列出指定节点上运行的所有pod
kubectl get pod --field-selector=spec.nodeName=<node name>
- 查看Node对象的完整清单
kubectl get node <node-name> -o yaml
- 查看警告的事件
kubectl get event --field-selector type=Warning
kubectl describe
kubectl describe-显示一个或多个资源的详细信息
- 显示所有service的详细信息
kubectl describe service
- 显示指定service的详细信息
kubectl describe service <service name>
kubectl delete
该命令可以使用文件、stdin的输入删除指定的资源对象,还可以通过标签选择器、名称、资源选择器等条件来限定待删除的资源范围
- 删除所有pod
kubectl delete pod -all
- 删除指定deploy
kubectl delete deploy <deploy name>
- 使用在pod.yaml文件中指定的类型和名称删除Pod
kubectl delete -f pod.yaml
kubectl exec
kubectl exec-在pod的容器中运行命令
- 在名称为<pod-name>的pod的第一个容器中运行date命令并打印输出结果
kubectl exec <pod-name> -- date
- 在指定的容器中运行date命令并打印结果
kubectl exec <pod-name> -c <container-name> -- date
- 在名称为<pod-name>的pod的第一个容器中运行/bin/bash 命令进入交互式TTY终端页面
kubectl exec -ti <pod-name> -- /bin/bash
kubectl logs
kubectl logs-打印pod中容器的日志
- 显示指定pod的logs
kubectl logs <pod name>
- 显示指定pod的指定容器的logs
kubectl log <pod-name> -c <container-name>
- 持续监控显示pod容器的log
kubectl logs -f <pod name>
- 显示所有pod容器的log
kubectl logs <pod name> --all-containers
kubectl edit
kubectl edit-编辑资源对象的属性,在线更新
- 编辑运行中的一个deployment
kubectl edit deployment <deployment name>
kubectl port-forward
kubectl port-forward-将pod的端口映射到宿主机
- 将pod的80端口映射到宿主机的8080端口,客户端即可通过http://<NodeIP>:8080 访问容器服务
kubectl port-forward <pod> 8080:80 --address 0.0.0.0
kubectl cp
在容器和Node之间复制文件
- 把pod(默认为第一个容器)中的/etc/fstab文件复制到宿主机的/temp目录下
kubectl cp <podname>:/etc/fstab /temp
kubectl label
kubectl label-更新资源对象的标签
- 把名为‘default’的命名空间设置‘testing=true’标签
kubectl label namespaces default testing=true
kubectl proxy
- 运行一个 proxy 到 Kubernetes API server
kubectl proxy
kubectl explain
- 查看nodes资源的文档
kubectl explain nodes
- 特定字段下的子字段,如node的spec字段
kubectl explain node.spec
- 查看nodes资源,并制定api版本
kubectl explain nodes --api-version=v1
- 查看pod的完整结构
kubectl explain pods --recursive
kubectl config
- 查看配置
kubectl config view
- 切换连接的k8s集群,使用不同context就会切换到context的不同集群
kubectl config use-context <name>