kubectl常用命令
1,查看所有 pod 列表, -n 后跟 namespace, 查看指定的命名空间
kubectl get pod kubectl get pod -n kube kubectl get pod -o wide
2,查看 RC 和 service 列表, -o wide 查看详细信息
kubectl get rc,svc kubectl get pod,svc -o wide kubectl get pod <pod-name> -o yaml
3,显示 Node 的详细信息
kubectl describe node 192.168.0.212
4,显示 Pod 的详细信息, 特别是查看 pod 无法创建的时候的日志
kubectl describe pod <pod-name> eg: kubectl describe pod redis-master-tqds9
5,根据 yaml 创建资源, apply 可以重复执行,create 不行
kubectl create -f pod.yaml kubectl apply -f pod.yaml
6,基于 pod.yaml 定义的名称删除 pod
kubectl delete -f pod.yaml
7,删除所有包含某个 label 的pod 和 service
kubectl delete pod <pod-name> kubectl delete pod,svc -l name=<label-name>
8,删除所有 Pod
kubectl delete pod --all
9, 查看 endpoint 列表
kubectl get endpoints
10,执行 pod 的 date 命令
kubectl exec <pod-name> -- date kubectl exec <pod-name> -- bash kubectl exec <pod-name> -- ping 10.24.51.9
11,通过bash获得 pod 中某个容器的TTY,相当于登录容器
kubectl exec -it <pod-name> -c <container-name> -- bash eg: kubectl exec -it redis-master-cln81 -- bash kubectl exec -it <pod-name> -n <namespace> -- bash
12,查看容器的日志
kubectl logs <pod-name> kubectl logs -f <pod-name> # 实时查看日志 kubectl log <pod-name> -c <container_name> # 若 pod 只有一个容器,可以不加 -c kubectl logs -l app=frontend # 返回所有标记为 app=frontend 的 pod 的合并日志。
13,查看注释
kubectl explain pod kubectl explain pod.apiVersion
14,查看节点 labels
kubectl get node --show-labels
15,重启 pod
kubectl get pod <POD名称> -n <NAMESPACE名称> -o yaml | kubectl replace --force -f -
16,修改网络类型
kubectl patch service istio-ingressgateway -n istio-system -p '{"spec":{"type":"NodePort"}}'
17,伸缩 pod 副本
# 可用于将Deployment及其Pod缩小为零个副本,实际上杀死了所有副本。当您将其缩放回1/1时,将创建一个新的Pod,重新启动您的应用程序。 kubectl scale deploy/nginx-1 --replicas=0 kubectl scale deploy/nginx-1 --replicas=1
18,查看前一个 pod 的日志,logs -p 选项
kubectl logs --tail 100 -p user-klvchen-v1.0-6f67dcc46b-5b4qb > pre.log
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。