You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

AKS部署Nginx应用遇CrashLoopBackOff错误求助

排查AKS中Nginx容器CrashLoopBackOff问题

我正在学习Azure Kubernetes Service(AKS),尝试将一个仅包含单个HTML文件的简单应用部署到AKS,已将镜像上传至Azure Container Registry(ACR)。

相关文件

HTML文件(index.html)

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Simple</title>
</head>
<body style="background-color:rgb(212, 240, 234);">
    <h1>Simple Application</h1>
</body>
</html>

Dockerfile

FROM nginx

COPY index.html /usr/share/nginx/html

Deployment与Service配置文件(app.yaml)

apiVersion: apps/v1
kind: Deployment
metadata:
  name: app1-nginx-deployment
  labels:
    app: app1-nginx
spec:
  replicas: 1
  selector:
    matchLabels:
      app: app1-nginx
  template:
    metadata:
      labels:
        app: app1-nginx
    spec:
      containers:
        - name: app1-nginx
          image: simplecc24.azurecr.io/simple:latest
          imagePullPolicy: Always
          ports:
            - containerPort: 80
---
apiVersion: v1
kind: Service
metadata:
  name: app1-nginx-loadbalancer-service
  labels:
    app: app1-nginx
spec:
  type: LoadBalancer
  selector:
    app: app1-nginx
  ports:
    - port: 80
      targetPort: 80

当前状态

节点状态(正常)

➜  simple kubectl get no
NAME                                STATUS   ROLES   AGE     VERSION
aks-agentpool-42782457-vmss000000   Ready    agent   8m38s   v1.23.8
aks-agentpool-42782457-vmss000001   Ready    agent   8m52s   v1.23.8

Pod状态(CrashLoopBackOff)

➜  simple kubectl get po
NAME                                     READY   STATUS             RESTARTS      AGE
app1-nginx-deployment-7576f5c78b-j59cf   0/1     CrashLoopBackOff   1 (13s ago)   20s

Pod事件信息

Events:
  Type     Reason     Age                     From               Message
  ----     ------     ----                    ----               -------
  Normal   Scheduled  7m59s                   default-scheduler  Successfully assigned default/app1-nginx-deployment-7576f5c78b-j59cf to aks-agentpool-42782457-vmss000001
  Normal   Pulled     7m54s                   kubelet            Successfully pulled image "simplecc24.azurecr.io/simple" in 4.199038838s
  Normal   Pulled     7m52s                   kubelet            Successfully pulled image "simplecc24.azurecr.io/simple" in 146.207115ms
  Normal   Pulled     7m37s                   kubelet            Successfully pulled image "simplecc24.azurecr.io/simple" in 238.000761ms
  Normal   Created    7m10s (x4 over 7m54s)   kubelet            Created container app1-nginx
  Normal   Pulled     7m10s                   kubelet            Successfully pulled image "simplecc24.azurecr.io/simple" in 157.27582ms
  Normal   Started    7m9s (x4 over 7m54s)    kubelet            Started container app1-nginx
  Normal   Pulling    6m29s (x5 over 7m58s)   kubelet            Pulling image "simplecc24.azurecr.io/simple"
  Normal   Pulled     6m29s                   kubelet            Successfully pulled image "simplecc24.azurecr.io/simple" in 178.361528ms
  Warning  BackOff    2m53s (x25 over 7m51s)  kubelet            Back-off restarting failed container

排查操作步骤

  1. 查看容器日志:获取Pod的容器日志,确认Nginx启动失败的具体原因
    kubectl logs app1-nginx-deployment-7576f5c78b-j59cf
    # 查看历史崩溃容器的日志
    kubectl logs app1-nginx-deployment-7576f5c78b-j59cf --previous
    
  2. 本地验证镜像:在本地拉取ACR镜像并运行,确认镜像本身是否正常
    # 登录ACR
    az acr login --name simplecc24
    # 拉取镜像
    docker pull simplecc24.azurecr.io/simple:latest
    # 本地启动容器测试
    docker run -p 8080:80 simplecc24.azurecr.io/simple:latest
    # 访问http://localhost:8080验证,同时查看容器日志
    docker logs <容器ID>
    
  3. 检查文件权限:确认Nginx运行用户对静态文件目录的访问权限
    # 进入镜像临时容器
    docker run -it --entrypoint /bin/bash simplecc24.azurecr.io/simple:latest
    # 查看文件权限
    ls -l /usr/share/nginx/html/index.html
    
  4. 检查Pod资源配置:查看Pod是否因资源不足被终止
    kubectl describe pod app1-nginx-deployment-7576f5c78b-j59cf
    

内容的提问来源于stack exchange,提问作者m.awais

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.20 17:16:03