Postgresql 确保服务存在

Postgresql 确保服务存在,postgresql,kubernetes,argocd,Postgresql,Kubernetes,Argocd,我将在我的K8S集群上部署KeyClope,并选择PostgreSQL作为数据库 为了调整业务需求,我们必须向Key斗篷添加额外的功能,例如自定义主题等。这意味着,对于Key斗篷上的每一个更改,我们都将触发CI/CD管道。我们在CI中使用无人机,在CD中使用ArgoCD 在管道中,在它进入CD部分之前,我们希望确保PostgreSQL已启动并运行。 问题是,它是否存在一个用于K8S的工具,如果特定的服务已经启动并运行,我们可以验证它 “启动并运行”!=“存在” 1:要检查服务是否存在,只需执行一

我将在我的K8S集群上部署KeyClope,并选择PostgreSQL作为数据库

为了调整业务需求,我们必须向Key斗篷添加额外的功能,例如自定义主题等。这意味着,对于Key斗篷上的每一个更改,我们都将触发CI/CD管道。我们在CI中使用无人机,在CD中使用ArgoCD

在管道中,在它进入CD部分之前,我们希望确保PostgreSQL已启动并运行。
问题是,它是否存在一个用于K8S的工具,如果特定的服务已经启动并运行,我们可以验证它

“启动并运行”!=“存在”

1:要检查服务是否存在,只需执行一个
kubectl get service

2:检查它是否有活动端点do
kubectl get endpoints

3:您还可以检查支持吊舱是否处于就绪状态

2和3要求在pod/部署上正确配置就绪探测器

“启动并运行”!=“存在”

1:要检查服务是否存在,只需执行一个
kubectl get service

2:检查它是否有活动端点do
kubectl get endpoints

3:您还可以检查支持吊舱是否处于就绪状态


2&3要求在pod/部署上正确配置就绪探测器

Radek的回答是正确的,但我想在。要确保服务存在并正常工作,您需要:

  • 确保Pods正在实际运行和服务:
    kubectl get Pods-o go template={{{range.items}}{{{.status.podIP}}{{{{n}}{{{end}}}

  • 检查服务是否存在:
    kubectl get svc

  • 检查内点是否存在:
    kubectl获取内点

  • 如果需要,请按DNS名称检查服务是否正常工作:
    nslookup hostnames
    (来自同一命名空间中的Pod)或
    nslookup hostnames.
    (如果它位于不同的Pod中)

  • 如果需要,检查服务是否通过IP工作:
    for i in$(seq 1 3);做
    wget-qO-
    完成

  • 确保服务定义正确:
    kubectl get Service-o json

  • 检查kube代理是否工作:
    ps auxw| grep kube代理

如果以上任何一项导致问题,您可以在上面的链接中找到故障排除步骤

关于你在评论中提出的问题:考虑到你需要确保一切正常,我认为没有更简单的方法。您可以跳过一些步骤,但这取决于您的用例


我希望这能有所帮助。

拉德克的回答是正确的,但我想在各位的帮助下进一步阐述。要确保服务存在并正常工作,您需要:

  • 确保Pods正在实际运行和服务:
    kubectl get Pods-o go template={{{range.items}}{{{.status.podIP}}{{{{n}}{{{end}}}

  • 检查服务是否存在:
    kubectl get svc

  • 检查内点是否存在:
    kubectl获取内点

  • 如果需要,请按DNS名称检查服务是否正常工作:
    nslookup hostnames
    (来自同一命名空间中的Pod)或
    nslookup hostnames.
    (如果它位于不同的Pod中)

  • 如果需要,检查服务是否通过IP工作:
    for i in$(seq 1 3);做
    wget-qO-
    完成

  • 确保服务定义正确:
    kubectl get Service-o json

  • 检查kube代理是否工作:
    ps auxw| grep kube代理

如果以上任何一项导致问题,您可以在上面的链接中找到故障排除步骤

关于你在评论中提出的问题:考虑到你需要确保一切正常,我认为没有更简单的方法。您可以跳过一些步骤,但这取决于您的用例


我希望它能有所帮助。

是否存在一种更容易验证的方法?是否存在一种更容易验证的方法?