你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

向 AKS Pod 添加运行状况探测

默认情况下,应用程序网关入口控制器 (AGIC) 为公开的 Azure Kubernetes 服务 (AKS) Pod 预配 HTTP GET 探测。 可以通过将就绪情况或运行情况探测添加到部署或 Pod 规范来自定义探测属性。

提示

请考虑将适用于容器的应用程序网关用作 Kubernetes 入口解决方案。 有关详细信息,请参阅适用于容器的应用程序网关的自定义运行状况探测

用于添加就绪情况或运行情况探测的代码

apiVersion: networking.k8s.io/v1
kind: Deployment
metadata:
  name: aspnetapp
spec:
  replicas: 3
  template:
    metadata:
      labels:
        service: site
    spec:
      containers:
      - name: aspnetapp
        image: mcr.microsoft.com/dotnet/samples:aspnetapp
        imagePullPolicy: IfNotPresent
        ports:
        - containerPort: 80
        readinessProbe:
          httpGet:
            path: /
            port: 80
          periodSeconds: 3
          timeoutSeconds: 1

有关详细信息,请参阅 Kubernetes API 参考

注意

  • 配置 httpGet 时,支持 readinessProbelivenessProbe
  • 当前不支持对 Pod 上公开的端口以外的端口进行探测。
  • 不支持 HttpHeadersInitialDelaySecondsSuccessThreshold

如果代码不包含就绪情况或运行情况探测,则入口控制器假设服务可访问以下任一操作:

  • backend-path-prefix 批注指定的 Path
  • 服务 ingress 定义中指定的 path

运行状况探测的默认值

就绪情况或运行情况探测无法推断的任何属性都使用以下默认值。

应用程序网关探测属性 默认值
Path /
Host localhost
Protocol HTTP
Timeout 30
Interval 30
UnhealthyThreshold 3