k8s常用命令

查看k8s版本

kubectl version

查看所有正在运行的pod

kubectl get pods -n my-space

在pod列表中查看每个pod在哪个node节点运行

kubectl get pod -n my-space -o wide

在pod列表中查看每个pod的requests和limits等详细信息

kubectl get pod -n my-space "-o=custom-columns=\
namespaces:.metadata.namespace,\
NAME:.metadata.name,\
mem_request:.spec.containers[0].resources.requests.memory,\
mem_limit:.spec.containers[0].resources.limits.memory,\
cpu_request:.spec.containers[0].resources.requests.cpu,\
cpu_limit:.spec.containers[0].resources.limits.cpu"

查看pod详情

kubectl describe pods/flink-taskmanager-6b9799474b-rzzms -n my-space
kubectl describe pods flink-taskmanager-6b9799474b-rzzms -n my-space

kubectl describe pods -n my-space

获取deployment

kubectl get deployment -n my-space

查看node列表

kubectl get nodes

查看node详情

kubectl describe nodes
kubectl describe node 172.17.128.225

查看node、pod的实时资源使用情况

kubectl top pod -n my-space
kubectl top pod flink-taskmanager-6b9799474b-rzzms -n my-space

进入运行的容器

kubectl exec -it flink-taskmanager-6b9799474b-rzzms -- /bin/bash -n my-space
kubectl exec -it flink-taskmanager-6b9799474b-rzzms bash -n my-space
# 一个pod里有多个容器
kubectl exec -it my-pod -c main-app -- /bin/bash -n my-space

滚动重启

kubectl rollout restart deploy flink-taskmanager -n my-space

k8s pod重启前的日志查看

kubectl logs -p flink-taskmanager-8455b44dd7-hckcm -n flink

部署

kubectl apply -f flink.yml

以root用户进入kubernetes pod

由于kubectl exec不支持设置用户身份,因此需如下操作:

  • kubectl describe pod ...找到pod所在node和容器id;
  • ssh连接到node;
  • 执行docker exec -u root -it b49aa3b430ab bash

参考:

  • 应用故障排查 | Kubernetes
  • kubernetes 查看pod在哪个node节点运行_软件工程小施同学 的专栏-CSDN博客_k8s查看pod运行在哪个节点
  • bash - Exec commands on kubernetes pods with root access - Stack Overflow
  • How to use resource requests and limits to manage resource usage of your Kubernetes cluster - JAXenter
  • Need simple kubectl command to see cluster resource usage · Issue #17512 · kubernetes/kubernetes · GitHub

你可能感兴趣的:(k8s常用命令)