我们使用地形资源“ kubernetes_deployment”来部署我们的Pod。我们的广告连播具有“准备就绪”探测,但是这些探测还不够好,因为我们需要外部反馈来确定是否准备就绪。在我们的情况下,只有在外部程序在aws S3存储桶中创建文件之后,才能准备好Pod,这是一个手动步骤,可能会在随机时间(可能是几天/几周)完成,因此准备就绪探针不好,因为它将失败,并使我们的吊舱处于“未就绪”状态。我们了解kubernetes 1.14引入了一种称为“就绪门”的方法。见https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#pod-readiness-gate但是,地形资源“ kubernetes_deployment”似乎不支持pod就绪门。
请注意,我们更喜欢使用kubernetes部署(而不是直接定义Pod),因为我们需要滚动更新策略。
我们如何用Terraform定义Pod Readiness-gates?
尝试使用initcontainer检查S3存储桶的状态。我向您发送了以下示例:
’’initContainers:-名称:安装图片:busybox命令:-wget-“ -O”-“ /work-dir/index.html”-http://kubernetes.io’]]
目前,您无法使用Terraform定义广告连播就绪门。