Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/kubernetes/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么go micro Kubernetes插件需要将pod注册到注册表?_Kubernetes_Go Micro - Fatal编程技术网

为什么go micro Kubernetes插件需要将pod注册到注册表?

为什么go micro Kubernetes插件需要将pod注册到注册表?,kubernetes,go-micro,Kubernetes,Go Micro,我有一个关于如何与Kubernetes一起使用go micro的问题。此外,Kubernetes已经拥有kube dns用于服务发现,kube代理具有服务抽象以公开POD 是否可以使用go-micro,但跳过kubernetes go-micro插件,将自己注册到kubernetes API服务器 因为我不知道为什么它首先是必要的。事实上,kubelet将自动为我们做到这一点(通过livenessProbe和readinessProbe检查,然后它可以确定pod是否健康),只将健康的pod包含到

我有一个关于如何与Kubernetes一起使用go micro的问题。此外,Kubernetes已经拥有kube dns用于服务发现,kube代理具有服务抽象以公开POD

是否可以使用go-micro,但跳过kubernetes go-micro插件,将自己注册到kubernetes API服务器

因为我不知道为什么它首先是必要的。事实上,kubelet将自动为我们做到这一点(通过livenessProbe和readinessProbe检查,然后它可以确定pod是否健康),只将健康的pod包含到服务的端点

我问这个问题是因为我们也在使用istio代理。每当pod启动时,我们都会遇到微服务错误,因为istio代理尚未准备好路由流量(甚至是到kube api的流量,因为它拦截了来自主容器的出口流量(它使用go micro Kubernetes插件))

2018/10/17 04:37:55无法创建服务器!原因:补丁 : 拨打tcp 10.32.64.1:443:连接:连接被拒绝


然后,它会导致主容器(go micro kube插件应用程序)多次出现在crashloopback中,直到istio代理就绪。这不是一个大问题,但注册背后的动机让我感到困扰。

你得到答案了吗?我还对部署在kubernetes infra上的一项服务进行了相同的查询。@RajaneeshSingh yup,基本上go micro这样做是为了实现客户端负载平衡(尤其是grpc)。如果您已经将istio/linker用作侧车,则不需要此行为。但是如果您不使用istio/linkerd来进行客户端负载平衡,那么可以使用kubeapi将服务发现信息存储到service/pod/deploy注释中(我忘了是哪个注释了)。谢谢阿贡。在我的场景中,我们有5-6个服务,主要是在AMQP中讨论&通过istio入口向外部世界公开REST。我们正在考虑在go micro中提供一项新服务,这仅仅是因为可插拔arch(将来可能需要gRPC传输),该服务也处理k8s CRD。我没有;在go micro中创建服务实例时,t get service discovery部件需要注册。也许我不需要它的第一位,因为K8有发现。你觉得怎么样?@RajaneeshSingh是的,我认为你可以忽略kubernetes插件,因为你提到你已经使用了istio(它可以实现grpc负载平衡)。