排查pod故障
kubectl get pods -n fronted
kubectl logs < pod name> 有助于检索 Pod 中容器的日志
kubectl describe pod < pod name> 对检索与 Pod 相关的事件列表很有用
kubectl get pod < pod name> -o yaml 可提取 Kubernetes 中存储的 Pod 的 YAML 定义;
kubectl exec -ti < pod name> bash 可在 Pod 中的一个容器运行一个交互式命令
ImagePullBackoff
ImageInspectError
ErrImagePull
ErrImageNeverPull
RegistryUnavailable
InvalidImageName
CrashLoopBackOff
RunContainerError
KillContainerError
VerifyNonRootError
RunInitContainerError
CreatePodSandboxError
ConfigPodSandboxError
KillPodSandboxError
SetupNetworkError
TeardownNetworkError
kubectl create secret docker-registry harbor-pull-secret-188-dev --docker-server= http://harbor.wuliuhub.com --docker-username= admin --docker-password= Harbor12345 -n ms
kubectl logs podname --previous ( 如果容器启动太快,打印前一个容器信息)
kubectl get events --sort-by= .metadata.creationTimestamp
排查service故障
[ root@k8s-master-01 ~]
Name: h5sdk
Namespace: fronted
Labels: < none>
Annotations: kubectl.kubernetes.io/last-applied-configuration:
{ "apiVersion" : "v1" ,"kind" : "Service" ,"metadata" :{ "annotations" :{ } ,"name" : "h5sdk" ,"namespace" : "fronted" } ,"spec" :{ "ports" :[ { "port" :80,"target.. .
Selector: app = h5sdk
Type: ClusterIP
IP: 10.1 .103.142
Port: < unset> 80 /TCP
TargetPort: 80 /TCP
Endpoints: 10.244 .3.180:80,10.244.3.181:80,10.244.4.110:80
Session Affinity: None
Events: < none>
1 .pod没有正确的标签是否在正确的命名空间
2 .service的selector标签错误
kubectl port-forward service/php-fpm 9000 :9000 -n lnmp
[ root@k8s-master-01 ~]
Forwarding from 127.0 .0.1:3000 -> 80
Forwarding from [ ::1] :3000 -> 80
ingress故障排查
[ root@k8s-master-01 ~]
Name: h5sdk
Namespace: fronted
Address:
Default backend: default-http-backend:80 ( < none> )
Rules:
Host Path Backends
---- ---- --------
h5game.xxxx.com
/ h5sdk:80 ( 10.244 .3.180:80,10.244.3.181:80,10.244.4.110:80)
Annotations:
kubectl.kubernetes.io/last-applied-configuration: { "apiVersion" : "networking.k8s.io/v1beta1" ,"kind" : "Ingress" ,"metadata" :{ "annotations" :{ } ,"name" : "h5sdk" ,"namespace" : "fronted" } ,"spec" :{ "rules" :[ { "host" : "h5game.xxx.com" ,"http" :{ "paths" :[ { "backend" :{ "serviceName" : "h5sdk" ,"servicePort" :80} ,"path" : "/" } ] } } ] } }
Events: < none>
[ root@k8s-master-01 ~]
NAME READY STATUS RESTARTS AGE
nginx-ingress-controller-24m74 1 /1 Running 0 20d
nginx-ingress-controller-qtgjw 1 /1 Running 1 156d
nginx-ingress-controller-wldp7 1 /1 Running 1 156d
[ root@k8s-master-01 new2]
Ports: 80 /TCP, 443 /TCP, 8443 /TCP
Host Ports: 0 /TCP, 0 /TCP, 0 /TCP
查看已存在的secret
kubectl get secret -n namespace
secret查看具体条目的key
kubectl describe secret mysql-pass -n namespace
查看具体的value
kubectl edit secret mysql-pass -n namespace
echo -n 编码的内容 | base64 --decode
获取deployment
kubectl get deployment
滚动重启
kubectl restart deployment deployment-name -n 命令空间