意见箱
恒创运营部门将仔细参阅您的意见和建议,必要时将通过预留邮箱与您保持联络。感谢您的支持!
意见/建议
提交建议

如预防k8s推送镜像失败的办法(ansible解决方案)

来源:恒创科技 编辑:恒创科技编辑部
2024-02-03 17:03:59

环境:在使用ansible中推送k8s集群镜像的时候,经常会出现某名的推送镜像失败的场景。有磁盘满了失败,有仓库本身挂了失败.... 这里说的是ansible自动化运维:如何提前预防在推送镜像的时候,各种原因仓库挂了,导致镜像推送失败的预防措施办法。 (以下为ansible的task) ##在推送镜像之前,先检查一下所有registry仓库的状态,如果都是1/1的状态,那么继续执行,如果此时推送镜像出错,那么就直接退出play,检查仓库状态。 #此举可以有效预防镜像推送失败,

- name: get regstry status
  shell: kubectl  get  pod  -n  kedacom-project-namespace | grep -E  "harbor-registory"|awk '{if($2 != "1/1") print "false"}'
  register: registry_status

- meta: end_play
  when: registry_status.stdout == "false"
 
 

#(备选方案,也可以判断状态是否为Running)
# kubectl  get  pod  -n  kedacom-project-namespace | grep -E  "harbor-registory"|awk '{if($3 != "Running") print "false"}'
#缺陷,部分服务器可能会刚刚拉起harbor-registory后为running,但是pod其实并没有起来,需要等待一段时间才能完全拉起pod,此时推送镜像还是会因为找不到仓库地址而失败


如预防k8s推送镜像失败的办法(ansible解决方案)

上一篇: SSL证书申购教程 下一篇: 手机怎么远程登录云服务器?