排查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 命令空间