k8s常用命令记录

kubectl常用命令

kubectl get pod -n dev

查看日志

kubectl logs -f --tail 100 -n dev xxxxxx

查看pod详情

kubectl get pods -n dev -o wide

-o wide能看到更多信息,例如查询pod列表时会有IP列表

kubectl get deployment -n dev xxxxxxx -o yaml

kubectl describe pod -n dev xxxxxxx

用describe子命令,能看到对象相关的event列表,为啥健康检查不通过

删除pod

kubectl delete pod -n dev

删除job

kubectl get job -n dev

kubectl delete job -n dev

进入pod里面

kubectl exec -it podName -n uat bash

查看namespace

kubectl get namespaces

创建namespace

命名空间名称满足正则表达式a-z0-9?,最大长度为63位

kubectl create namespace xxxxxx

删除namespace

kubectl delete namespaces xxxxxx

helm操作

helm list

删除 pod

helm del —purge xxxxxxx

由于拉取镜像库需要用户密码,每多一个环境即多一个namespace,就需要创建一个docker image secret

kubectl create secret docker-registry regcred

--docker-server=域名加端口

--docker-username=xx

--docker-password=123

--docker-email=xxx@email.com

-n namespace名称

故障排查

获取当前pod的状态和近期的事件列表

kubectl describe pods -n

查看Pod的状态:

kubectl get pod cpu-demo-2 --namespace=cpu-example

这个输出显示Pod正处在Pending状态,那是因为这个Pod并不会被调度到任何节点上,所以它会 一直保持这种状态。

kubectl get pod cpu-demo-2 --namespace=cpu-example

NAME READY STATUS RESTARTS AGE

cpu-demo-2 0/1 Pending 0 7m

查看Pod的详细信息,包括记录的事件:

kubectl describe pod cpu-demo-2 --namespace=cpu-example

创建pod

kubectl create -f xxxx.yaml --namespace=xxxx

查看具体pod的yaml配置信息

kubectl get pod -n xxx(哪个namesapce的名字) xxxxpod -o=yaml

查看节点信息

kubectl get pod -n kube-system -l k8s-app=flannel -o wide
删除节点信息:
kubectl delete pod -n kube-system 节点名称

查看imgress

kubectl get ing -n uat
kubectl delete ing -n uat xxx
kubectl create --namespace uat -f yaml文件路径

查看k8s监控Dashboard的token

kubectl -n kube-system get serviceaccount -l k8s-app=kubernetes-dashboard -o yaml
kubectl -n kube-system describe secrets secrets.name

强制删除Terminating状态的pod

先去对应节点查看已经没有容器了
docker ps -a | grep POD xxx
然后再编辑pod
kubectl edit pod -n uat xxx
把finalizers去掉,然后就没了
上一篇:k8s常用命令演示


下一篇:nodejs--express开发个人博客(-)