在完成所有步骤之前,“ azds up”命令超时。我有一个大型的Angular应用,执行npm安装时通常需要5分钟以上。当我执行azds时,这就是我得到的:
Step 1/9 : FROM node
Step 2/9 : ENV PORT 80
Step 3/9 : WORKDIR /app
Step 4/9 : COPY package*.json ./
Step 5/9 : RUN npm install --silent
Waiting for container...
,然后返回命令行。
azds.yaml中是否有配置可以告诉azds / helm等待更长的时间?
谢谢!
答案 0 :(得分:0)
首先,我将举一些可能对您的情况有用的示例:
spec:
minReadySeconds: 60
progressDeadlineSeconds: 600
strategy:
type: RollingUpdate
rollingUpdate:
maxSurge: 50%
maxUnavailable: 50%
minReadySeconds :您的应用程序的启动时间Kubernetes会等待特定的时间,直到创建下一个Pod。对于 例如minReadySeconds是60,那么Pod变得健康之后, 部署必须等待60秒才能更新下一个Pod。
progressDeadlineSeconds 在此示例中,用于更新一个Pod的超时值是10分钟。如果部署无法在10中进行 分钟,然后将部署标记为失败并完成, 所有下一个作业都不会调用。
maxSurge :maxSurge参数控制在推出期间可以创建多少额外资源。(绝对值或%)
maxUnavailable :maxUnavailable参数设置滚动期间不可用的Pod的最大数量 更新。(绝对值或%)
livenessProbe:
httpGet:
path: /healthz
port: 8080
initialDelaySeconds: 60
timeoutSeconds: 1
periodSeconds: 10
failureThreshold: 3
以上清单配置的livenessProbes,用于确认容器是否正常运行。 它使用对端口8080的/ healthz的HTTP GET请求来探测运行状况检查。
探针将设置 initialDelaySeconds = 60,这意味着它将不会 直到Pod中的所有容器都放完后60秒才被调用 创建。并且 timeoutSeconds = 1已配置,这意味着该探测 必须在1秒的超时时间内做出回应。 periodSeconds = 10为 配置,这意味着探针每10秒调用一次。如果更多 超过3个探针失败(failureThreshold = 3),则容器将 被认为是不健康的,失败并重新启动。
readinessProbe:
httpGet:
path: /healthz
port: 8080
initialDelaySeconds: 120
timeoutSeconds: 5
periodSeconds: 10
failureThreshold: 3
以上准备就绪探针比活动探针更重要 生产环境。 readinessProbe是确认是否 服务可以接受与否。如果此探测失败,则内部 负载平衡器永远不会将流量发送到此Pod。只有成功了 探测,到此Pod的流量将开始。