查看 Node状态

  1. [root@master dashboard]# kubectl get nodes
  2. NAME STATUS ROLES AGE VERSION
  3. master Ready master 44h v1.16.0
  4. node1 Ready <none> 43h v1.16.0
  5. node2 Ready <none> 43h v1.16.0
  6. [root@master dashboard]# kubectl get node node1 //指定某个资源
  7. NAME STATUS ROLES AGE VERSION
  8. node1 Ready <none> 43h v1.16.0
  9. [root@master dashboard]# kubectl get node node1 -o wide
  10. NAME STATUS ROLES AGE VERSION INTERNAL-IP EXTERNAL-IP OS-IMAGE KERNEL-VERSION CONTAINER-RUNTIME
  11. node1 Ready <none> 43h v1.16.0 192.168.81.31 <none> CentOS Linux 7 (Core) 3.10.0-514.el7.x86_64 docker://20.10.17

查看 Service 信息

  1. [root@master dashboard]# kubectl get service
  2. NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
  3. kubernetes ClusterIP 10.96.0.1 <none> 443/TCP 44h

查看所有名称空间内资源

  1. [root@master dashboard]# kubectl get pods --all-namespaces
  2. NAMESPACE NAME READY STATUS RESTARTS AGE
  3. kube-flannel kube-flannel-ds-4jrpc 1/1 Running 0 43h
  4. kube-flannel kube-flannel-ds-kwjzw 1/1 Running 0 43h
  5. kube-flannel kube-flannel-ds-zg8q8 1/1 Running 0 43h
  6. kube-system coredns-5644d7b6d9-bs4gj 1/1 Running 0 44h
  7. kube-system coredns-5644d7b6d9-xf25l 1/1 Running 0 44h
  8. kube-system etcd-master 1/1 Running 0 44h
  9. kube-system kube-apiserver-master 1/1 Running 0 23m
  10. kube-system kube-controller-manager-master 1/1 Running 5 44h
  11. kube-system kube-proxy-48lg7 1/1 Running 0 43h
  12. kube-system kube-proxy-hwwth 1/1 Running 0 43h
  13. kube-system kube-proxy-mp8tf 1/1 Running 0 44h
  14. kube-system kube-scheduler-master 1/1 Running 4 44h
  15. kube-system metrics-server-77946ff588-smqbt 0/1 ImagePullBackOff 0 30m
  16. kubernetes-dashboard dashboard-metrics-scraper-76585494d8-2czfj 1/1 Running 0 17h
  17. kubernetes-dashboard kubernetes-dashboard-5996555fd8-p8qgc 1/1 Running 0 17h
  18. 或者
  19. # kubectl get pods -A

同时查看多种资源信息

  1. [root@master dashboard]# kubectl get svc,pod -n kube-system
  2. NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
  3. service/kube-dns ClusterIP 10.96.0.10 <none> 53/UDP,53/TCP,9153/TCP 44h
  4. service/metrics-server ClusterIP 10.99.145.57 <none> 443/TCP 32m
  5. NAME READY STATUS RESTARTS AGE
  6. pod/coredns-5644d7b6d9-bs4gj 1/1 Running 0 44h
  7. pod/coredns-5644d7b6d9-xf25l 1/1 Running 0 44h
  8. pod/etcd-master 1/1 Running 0 44h
  9. pod/kube-apiserver-master 1/1 Running 0 26m
  10. pod/kube-controller-manager-master 1/1 Running 5 44h
  11. pod/kube-proxy-48lg7 1/1 Running 0 43h
  12. pod/kube-proxy-hwwth 1/1 Running 0 43h
  13. pod/kube-proxy-mp8tf 1/1 Running 0 44h
  14. pod/kube-scheduler-master 1/1 Running 4 44h
  15. pod/metrics-server-77946ff588-smqbt 0/1 ImagePullBackOff 0 32m

查看 API 对象细节

  1. 使用 kubectl describe 命令,查看一个 API 对象的细节:
  2. 注意:Events(事件) 值得你特别关注
  3. Kubernetes 执行的过程中,
  4. API 对象的所有重要操作,都会被记录在这个对象的 Events 里,
  5. 并且显示在 kubectl describe 指令返回的结果中。
  6. 比如,对于这个 Pod,我们可以看到它被创建之后,
  7. 被调度器调度(Successfully assigned)到了 node-1
  8. 拉取了指定的镜像(pulling image),然后启动了 Pod 里定义的容器(Started container)。
  9. 这个部分正是我们将来进行 Debug 的重要依据。如果有异常发生,一定要第一时间查看这些 Events
  10. 往往可以看到非常详细的错误信息。
  11. [root@master dashboard]# kubectl describe node node1
  12. Name: node1
  13. Roles: <none>
  14. Labels: beta.kubernetes.io/arch=amd64
  15. beta.kubernetes.io/os=linux
  16. kubernetes.io/arch=amd64
  17. kubernetes.io/hostname=node1
  18. kubernetes.io/os=linux
  19. Annotations: flannel.alpha.coreos.com/backend-data: {"VNI":1,"VtepMAC":"b6:19:ad:57:ef:06"}
  20. flannel.alpha.coreos.com/backend-type: vxlan
  21. flannel.alpha.coreos.com/kube-subnet-manager: true
  22. flannel.alpha.coreos.com/public-ip: 192.168.81.31
  23. kubeadm.alpha.kubernetes.io/cri-socket: /var/run/dockershim.sock
  24. node.alpha.kubernetes.io/ttl: 0
  25. volumes.kubernetes.io/controller-managed-attach-detach: true
  26. CreationTimestamp: Tue, 06 Sep 2022 23:15:29 +0800
  27. 说明:无效但是显示出来的节点可以用delete删除:
  28. # kubectl delete node 192.168.245.252
  29. node "192.168.245.252" deleted
  30. 删除pod
  31. [root@master dashboard]# kubectl delete pod metrics-server-77946ff588-smqbt -n kube-system
  32. pod "metrics-server-77946ff588-smqbt" deleted
  33. kubectl delete pod <podname> -n <namespace>

image.png

查看集群信息

  1. [root@master dashboard]# kubectl cluster-info
  2. Kubernetes master is running at https://192.168.81.30:6443
  3. KubeDNS is running at https://192.168.81.30:6443/api/v1/namespaces/kube-system/services/kube-dns:dns/proxy
  4. To further debug and diagnose cluster problems, use 'kubectl cluster-info dump'.

查看各组件信息

  1. 使用安全连接:
  2. [root@master dashboard]# kubectl -s https://192.168.81.30:6443 get componentstatuses
  3. NAME STATUS MESSAGE ERROR
  4. controller-manager Healthy ok
  5. scheduler Healthy ok
  6. etcd-0 Healthy {"health":"true"}
  7. [root@master dashboard]# kubectl -s https://192.168.81.30:6443 get cs
  8. 未使用安全连接
  9. # kubectl -s http://localhost:8080 get componentstatuses

查看资源类型所对应的Apiversion

  1. [root@master dashboard]# kubectl explain pod
  2. KIND: Pod
  3. VERSION: v1

image.png

查看帮助

  1. # kubectl explain deployment
  2. # kubectl explain deployment.spec
  3. # kubectl explain deployment.spec.replicas

image.png
image.png
image.png