Kubernetes运行状况检查因自定义Nginx Web服务器配置而失败

问题描述 投票:1回答:1

我的健康检查在以下设置中失败。

nginx.conf

user                            root;
worker_processes                auto;

error_log                       /var/log/nginx/error.log warn;

events {
    worker_connections          1024;
}

http {
    server {
        listen                  80;
        server_name             subdomain.domain.com
        auth_basic              "Restricted";
        auth_basic_user_file    /etc/nginx/.htpasswd;
    }
    server {
        listen                  80;
        auth_basic              off;
    }
    server {
        listen                  2222;
        auth_basic              off;
        location /healthz {
            return 200;
        }
    }
}

DOCKERFILE

FROM nginx:alpine
COPY index.html /usr/share/nginx/html/index.html
VOLUME /usr/share/nginx/html
COPY /server/nginx.conf /etc/nginx/
COPY /server/htpasswd /etc/nginx/.htpasswd
CMD ["nginx", "-g", "daemon off;"]
EXPOSE 80
EXPOSE 2222

deployment.yaml

apiVersion: apps/v1
kind: Deployment
metadata:
  name: my-app
  namespace: my-namespace
  labels:
    app: my-app
spec:
  replicas: 1
  selector:
    matchLabels:
      app: my-app
  template:
    metadata:
      labels:
        app: my-app
    spec:
      containers:
        - name: my-app
          image: gcr.io/GOOGLE_CLOUD_PROJECT/my-app
          ports:
            - containerPort: 80
            - containerPort: 2222
          livenessProbe:
            httpGet:
              path: /healthz
              port: 2222
          readinessProbe:
            httpGet:
              path: /healthz
              port: 2222

当我删除nginx.conf中的“ server_name”行并删除第二个服务器块时,它绝对有效。这可能是入口/负载平衡器的问题,因为我不知道更新需要多长时间(昨天我经历了一个健康的吊舱,几分钟后变得不健康)。使用Google自己的入口控制器(不是NGINX入口!)在Google Kubernetes Engine(GKE)上运行它

我在做什么错?

我的健康检查在以下设置中失败。 nginx.conf用户根目录; worker_processes自动; error_log /var/log/nginx/error.log警告; ...

docker nginx kubernetes google-kubernetes-engine basic-authentication
1个回答
0
投票

问题是GKE的负载均衡器进行了自己的运行状况检查。这些默认情况下为/。仅当部署/吊舱中的运行状况检查声明了其他路径时,负载均衡器运行状况检查才会选择这些路径。

© www.soinside.com 2019 - 2024. All rights reserved.