我正在尝试遵循此文档,以在我的Pod上启用就绪和活跃性探针以进行群集中的健康检查,但是在连接到容器IP和端口的连接被拒绝时,这给了我一个错误。我在其中添加准备和活跃度的部分如下。
我正在使用helm进行部署,而我要监视的端口是80。下面也提供了用于入口的服务文件。
https://docs.microsoft.com/en-us/azure/application-gateway/ingress-controller-add-health-probes
Service.yaml
apiVersion: v1
kind: Service
metadata:
name: expose-portal
annotations:
service.beta.kubernetes.io/azure-load-balancer-internal: "{{ .Values.isInternal }}"
spec:
type: LoadBalancer
ports:
- port: 80
selector:
app: portal
Deployment.yaml
spec:
containers:
- name: App-server-portal
image: myacr-app-image-:{{ .Values.image_tag }}
imagePullPolicy: Always
ports:
- name: http
containerPort: 80
protocol: TCP
readinessProbe:
httpGet:
path: /
port: 80
periodSeconds: 3
timeoutSeconds: 1
livenessProbe:
httpGet:
path: /
port: 80
periodSeconds: 3
timeoutSeconds: 1
volumeMounts:
- mountPath: /etc/nginx
readOnly: true
name: mynewsite
imagePullSecrets:
- name: my-secret
volumes:
- name: mynewsite.conf
configMap:
name: mynewsite.conf
items:
- key: mynewsite.conf
path: mynewsite.conf
我在这里做错什么了吗?截至目前,根据azure文档,当前不支持在非Pod上的端口上进行探测。我的理解是我的Pod上的端口80已经暴露。
答案 0 :(得分:1)
摘自文档:
解决方案是增加超时时间。
PS。我认为您可能需要引入initialDelaySeconds
而不是将超时时间增加到3分钟