在Azure Kubernetes中创建后端容器时出错
在尝试在Kubernetes集群(AKS)中部署我的web应用程序时,我发现我的后端吊舱没有出现,它们继续进入以下重启细节: C:\Work\k8>kubectl获取吊舱在Azure Kubernetes中创建后端容器时出错,kubernetes,yaml,continuous-deployment,kubernetes-ingress,azure-aks,Kubernetes,Yaml,Continuous Deployment,Kubernetes Ingress,Azure Aks,在尝试在Kubernetes集群(AKS)中部署我的web应用程序时,我发现我的后端吊舱没有出现,它们继续进入以下重启细节: C:\Work\k8>kubectl获取吊舱 NAME READY STATUS RESTARTS AGE backend-mypod-backend-766b54f6dd-85v6v
NAME READY STATUS RESTARTS AGE
backend-mypod-backend-766b54f6dd-85v6v 0/1 CrashLoopBackOff 549 35h
backend-mypod-backend-766b54f6dd-j4fm9 0/1 CrashLoopBackOff 551 35h
backend-mypod-backend-766b54f6dd-vckbn 0/1 CrashLoopBackOff 549 35h
当我进行描述Pod时,我看到所有后端Pod的以下错误:
Warning Unhealthy 26m (x5 over 28m) kubelet, aks-agentpool-33316079-vmss000000 Liveness probe failed: Get http://10.39.67.9:8800/api/healthtest: dial tcp 10.39.67.9:8800: connect: connection refused
Warning Unhealthy 8m10s (x65 over 28m) kubelet, aks-agentpool-33316079-vmss000000 Readiness probe failed: Get http://10.39.67.9:8800/api/healthtest: dial tcp 10.39.67.9:8800: connect: connection refused
Warning BackOff 3m10s (x59 over 19m) kubelet, aks-agentpool-33316079-vmss000000 Back-off restarting failed container
下面是部署yaml中设置LivinessProbe和readinessProbe的部分:
readinessProbe:
httpGet:
path: /api/healthtest
port: {{ .Values.deployment.internalPort }}
livenessProbe:
httpGet:
path: /api/healthtest
port: {{ .Values.deployment.internalPort }}
failureThreshold: 3
periodSeconds: 20
10.39.67.97-这是负载平衡器的IP
8800-这是部署的内部端口
有人能帮我解决我这里缺少的东西吗?我想这是一个配置问题,我正在努力解决
谢谢你能不能试试
startupProbe
而不是ReadinesProbe
?似乎在服务器启动之前,readinessProbe
就失败了。当服务器的启动时间比平时长时,就会发生这种情况
startupProbe:startupProbe对于容器需要很长时间才能投入使用的吊舱非常有用。您可以配置一个单独的配置,以便在容器启动时探测它,而不是设置一个较长的活动时间间隔,从而允许比活动时间间隔更长的时间
使用startupProbe
的好处是,另外两个ReadinesProbe
和livenessProbe
在startupProbe
成功之前不会执行
startupProbe:
httpGet:
path: /api/healthtest
port: {{ .Values.deployment.internalPort }}
failureThreshold: 30
periodSeconds: 10
livenessProbe:
httpGet:
path: /api/healthtest
port: {{ .Values.deployment.internalPort }}
failureThreshold: 3
periodSeconds: 20
谢谢,Emon会尝试一下,而且最好包括所有3个问题是的,你可以全部使用。事实上,它满足你的需要。