【发布时间】:2021-04-21 11:32:34
【问题描述】:
我有一个在本地运行的WebAssmebly Blazor 应用程序,我使用 Helm 将它部署到 Azure K8s 集群,
当我检查它抱怨健康检查丢失的日志时,应用程序 pod 不断重启
[21/Apr/2021:11:23:55 +0000] "GET /health/liveness HTTP/1.1" 404 153 "-" "kube-probe/1.17" "-"
2021/04/21 11:23:55 [error] 31#31: *3 open() "/usr/share/nginx/html/health/liveness" failed (2: No such file or directory), client: 10.244.0.1, server: localhost, request: "GET /health/liveness HTTP/1.1", host: "10.244.0.230:80"
由于WebAssmebly Blazor 在客户端运行,因此不需要运行状况。
所以,我尝试在 Nginx 级别编写一些静态健康检查。
这是 docker 文件:
FROM mcr.microsoft.com/dotnet/core/sdk:3.1 AS build
WORKDIR /source
FROM build AS publish
WORKDIR /source/app.CustomerApplication/
RUN dotnet publish -c release
FROM nginx AS runtime
COPY --from=publish /source/app.CustomerApplication/bin/release/netstandard2.1/publish/wwwroot/. /usr/share/nginx/html/.
COPY ./app.CustomerApplication/nginx.conf /etc/nginx/nginx.conf
RUN rm /etc/nginx/conf.d/default.conf
和 Nginx 配置文件:
server {
location / {
root /usr/share/nginx/html;
}
location //health/liveness {
return 200 'alive';
add_header Content-Type text/plain;
}
}
我不断收到此错误
cust-app /docker-entrypoint.sh: Configuration complete; ready for start up
cust-app | 2021/04/20 23:56:16 [emerg] 1#1: unknown directive "server" in /etc/nginx/nginx.conf:1
cust-app | nginx: [emerg] unknown directive "server" in /etc/nginx/nginx.conf:1
【问题讨论】:
标签: nginx dockerfile blazor-webassembly kubernetes-health-check health-check