查看k8s版本
kubectl version
查看所有正在運(yùn)行的pod
kubectl get pods -n my-space
在pod列表中查看每個(gè)pod在哪個(gè)node節(jié)點(diǎn)運(yùn)行
kubectl get pod -n my-space -o wide
在pod列表中查看每個(gè)pod的requests和limits等詳細(xì)信息
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的實(shí)時(shí)資源使用情況
kubectl top pod -n my-space
kubectl top pod flink-taskmanager-6b9799474b-rzzms -n my-space
進(jìn)入運(yùn)行的容器
kubectl exec -it flink-taskmanager-6b9799474b-rzzms -- /bin/bash -n my-space
kubectl exec -it flink-taskmanager-6b9799474b-rzzms bash -n my-space
# 一個(gè)pod里有多個(gè)容器
kubectl exec -it my-pod -c main-app -- /bin/bash -n my-space
滾動(dòng)重啟
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用戶進(jìn)入kubernetes pod
由于kubectl exec不支持設(shè)置用戶身份,因此需如下操作:
-
kubectl describe pod ...找到pod所在node和容器id; - ssh連接到node;
- 執(zhí)行
docker exec -u root -it b49aa3b430ab bash。
參考:
- 應(yīng)用故障排查 | Kubernetes
- kubernetes 查看pod在哪個(gè)node節(jié)點(diǎn)運(yùn)行_軟件工程小施同學(xué) 的專欄-CSDN博客_k8s查看pod運(yùn)行在哪個(gè)節(jié)點(diǎn)
- 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