k8s常用命令记录

dev注册地址

dev注册地址:http://192.168.12.90:31231/

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 [email protected] -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去掉,然后就没了

猜你喜欢

转载自www.cnblogs.com/levcon/p/10588546.html