我有一个Kubernetes V1.13集群,用印花布+法兰绒作为CNI。所有节点都有一个可公开路由的ip地址,并且运行Ubuntu16.04。
一些节点位于公司网络中,同时位于LAN和DMZ中,因此可以访问内部服务,同时仍然可以公开访问。其他的是云提供商的托管VM。
考虑上面的简化示例。我需要一个Kubernetes Pod来访问内部服务器C
(它只是一个常规服务器,不是集群的一部分)。我可以只在内部节点B
上强制调度Pod,但是由于连接只需要较低的延迟和带宽,而且节点a
上有更多的资源,所以我更愿意使用节点B
作为某种网关。(考虑几个节点b
s,因此实际上没有SPOF)。
根据你在这里说的:
我可以强制只在内部节点B上调度Pod,但由于连接所需的延迟和带宽很低,而且节点a上的资源更多,所以我更愿意使用节点B作为某种网关。
我想你要找的是大使图案。基本上,您将在b
区域中创建此类容器,并且您的通信量将使用clusterIP
服务发送到此容器/吊舱,因为它位于集群中。
然后,这些容器内部将运行一个代理(类似于您现在守护进程中的代理),该代理将透明地将通信路由到您所针对的常规服务器。
其他可能有用的链接可能是来自MS的这个或这个幻灯片(P.42)。
如果这与您已经运行的相比有很大的优势,我不确定,但我确实更喜欢只使用吊舱,如果可能的话,尽量减少其他组件。
我在3台裸机Centos7服务器上设置了一个Kubernetes集群,其中有一个主服务器和两个从服务器。为此,我使用了kubeadm,遵循以下指南:https://kubernetes.io/docs/setup/independent/create-cluster-kubeadm/并将Weave Net用于pod网络。 为了进行测试,我设置了2个带有服务的default-http-backend
谁能知道我们在库伯内特斯怎样才能做到这一点呢? 谢谢
我已经设置了普罗米修斯,通过跟踪普罗米修斯留档来监控库本内斯的指标。 普罗米修斯现在有很多有用的指标。 但是,我看不到任何引用我的pod或节点状态的指标。 理想情况下-我希望能够绘制pod状态(运行,挂起,CrashLoopBackoff,错误)和节点(NodeNow,就绪)。 这个度量单位在哪里?如果没有,我可以添加到某个地方吗?怎么做?
我可以看到这两个IP,我试图连接使用tcp套接字,绑定他们与tcp端口8080。然而,它表明它没有连接。 我认为这不是使用tcp套接字连接它们的方式。是否有任何方法使一个pod服务器和其他pod客户端和conncet使用tcp套接字。 编辑: Client.C
如何强制调度器以循环方式在节点上运行pod,以便如果任何节点宕机,那么至少有一个节点将NGINX pod处于运行模式。 这到底有没有可能?如果可能,我们如何实现这一场景?
我有一个Kubernetes集群。这些节点位于具有IPs的内部网中,pod网络范围为。 问题是,一些工作节点在其他节点上有无法到达的pod网络路由,例如: 我尝试重新启动一个中断的节点,将其从集群中删除,运行,然后重新加入它。但一切都保持不变。 可能的原因是什么?我应该如何解决这个问题?提前多谢。