我正在尝试实现一个k8s控制器,该控制器应监视两个自定义资源,然后通过创建部署,服务等来协调它们。问题是应首先创建自定义资源A和自定义资源B(当然, (不知道顺序),然后我应该执行对帐。在协调功能内部,我可以一次访问其中之一。在进行协调之前,确保两者均已创建的最佳方法是什么?
答案 0 :(得分:0)
正如我在评论中提到的,您可以尝试使用其中任何一个
探针是由容器上的kubelet定期执行的诊断。为了执行诊断,kubelet调用由Container实现的Handler。处理程序分为三种:
ExecAction :在容器内执行指定的命令。如果命令以状态代码0退出,则认为诊断成功。
TCPSocketAction :根据指定端口上容器的IP地址执行TCP检查。如果端口打开,则认为诊断成功。
HTTPGetAction :针对指定端口和路径上容器的IP地址执行HTTP Get请求。如果响应的状态码大于或等于200且小于400,则认为诊断成功。
每个探针具有以下三个结果之一:
成功:容器通过了诊断。 失败:容器无法通过诊断。 未知:诊断失败,因此不应采取任何措施。
kubelet 可以选择对正在运行的Container进行三种探测并对其做出反应:
livenessProbe :指示容器是否正在运行。如果活动性探针失败,则kubelet将杀死Container,并且Container将接受其重新启动策略。如果“容器”不提供活动性探针,则默认状态为“成功”。
readinessProbe :指示容器是否准备好处理请求。如果就绪探针失败,则端点控制器将从与Pod匹配的所有服务的端点中删除Pod的IP地址。初始延迟之前的默认就绪状态为“失败”。如果“容器”未提供“准备就绪”探针,则默认状态为“成功”。
startupProbe :指示是否启动容器中的应用程序。如果提供了启动探针,则将禁用所有其他探针,直到成功。如果启动探针失败,则kubelet将杀死Container,并且Container将接受其重新启动策略。如果容器未提供启动探针,则默认状态为“成功”。
其他链接:
Helm是用于管理图表的工具。图表是预先配置的Kubernetes资源包。
使用头盔:
根据您的情况,您可以使用helm hooks,因此它可能要等到这些资源被创建后再执行创建部署,服务等操作。
其他链接: