:
:
:
kubectl get csr No resources found.
Error message: kubectl get CSR
No resources found.
error analysis: the master side could not receive the node application to join kubernetes request information
problem solved: by checking the log file, it was found that kubelet did not start successfully. After screening kubelet, it was found that there was No kubelet command option
Istio Error 503 upstream connect error or disconnect/reset before headers. reset reason: connect
Error description:
each time you upgrade the microservice (update the microservice version), there is a period of time when the visitor reports 503. istio-proxy
+ connect error or disconnect/reset before headers.
Reason:
Kubernetes detects Pod readiness (Running status) when a container in the Pod is ready. But once Istio is deployed, the first Pod ready is the istio-proxy
container. istio-proxy
receives the traffic and finds that upstream microservice has not been started, so istio-proxy
will return 503.
The solution:
once you know why, the idea is simple. Just tell Kubernetes that Pod is ready after all the containers in the Pod have been started. Adding readinessprobes to other containers in Pod allows Kubernetes to confirm that the container is ready before forwarding the traffic. As added in the Pod template
livenessProbe:
httpGet:
path: /healthz
port: 80
httpHeaders:
initialDelaySeconds: 10
periodSeconds: 3
The readinessProbe
reference: https://k8smeetup.github.io/docs/tasks/configure-pod-container/configure-liveness-readiness-probes/