首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用python manage.py迁移

使用python manage.py迁移
EN

Stack Overflow用户
提问于 2022-01-15 09:18:05
回答 1查看 311关注 0票数 1

我在kubernetes集群上部署了django,在readinessProbe中,我运行pythonmanage.pymigrate--check。我可以看到,此命令的返回值为0,但pod从未准备好。

我的部署代码片段:

代码语言:javascript
复制
      containers:                                                                             
        - name: myapp                                                                      
          ...
          imagePullPolicy: Always                                                             
          readinessProbe:                                                                     
            exec:                                                                             
              command: ["python", "manage.py", "migrate", "--check"]                          
            initialDelaySeconds: 15                                                           
            periodSeconds: 5  

当我描述还没有准备好的吊舱时:

代码语言:javascript
复制
Events:
  Type     Reason     Age                From               Message
  ----     ------     ----               ----               -------
  Normal   Scheduled  66s                default-scheduler  Successfully assigned ...  Normal   Pulled     66s                kubelet            Successfully pulled image ...
  Normal   Created    66s                kubelet            Created container ...
  Normal   Started    66s                kubelet            Started container ...
  Warning  Unhealthy  5s (x10 over 50s)  kubelet            Readiness probe failed:

我可以看到,migrate --check通过在容器中execing返回0,容器仍然处于未就绪状态,并且正在运行。

代码语言:javascript
复制
python manage.py migrate
echo $?
0

作为readinessProbe传递的exec命令有什么问题吗?

我使用的kubernetes服务器的版本是1.21.7。我的部署的基本映像是python:3.7-瘦。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-01-21 08:12:22

解决这个问题的办法是增加timeoutSeconds parameter, which is by default set to 1 second

探测超时后的

  • timeoutSeconds:秒数。默认为1秒。最小值为1.

在增加timeoutSeconds参数后,应用程序能够传递就绪探测。

timeoutSeconds参数设置为5的部署示例片段:

代码语言:javascript
复制
      containers:                                                                             
        - name: myapp                                                                      
          ...
          imagePullPolicy: Always                                                             
          readinessProbe:                                                                     
            exec:                                                                             
              command: ["python", "manage.py", "migrate", "--check"]                          
            initialDelaySeconds: 15                                                           
            periodSeconds: 5
            timeoutSeconds: 5
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70720189

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档