项目命名空间中的rancher 2.0网络

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了项目命名空间中的rancher 2.0网络相关的知识,希望对你有一定的参考价值。

可以通过工作负载名称从其他工作负载ping一个工作负载

我习惯于牧场1.0,如果我用更多容器创建堆栈,那么我可以通过名称从另一个容器ping一个。

rancher application

例如:我有api和数据库,我需要api与数据库进行通信。当我点击api上的执行shell并写“ping数据库”时,所以不能正常工作。

我在api环境变量中将连接字符串写入数据库。是的我可以创建数据库并将数据库IP写入ENV,但每次重启后此ip都会更改。

一些人可能会调用不生成名称?

谢谢

编辑:服务发现:service discovery

壳牌:execute shell

如您所见,所以翻译数据库名称是有效的。只有ping数据库容器不起作用。

答案

要在服务之间进行通信,您可以使用群集IP或服务名称进行通信。

使用ServiceName会更容易。

服务发现为您的每项服务添加DNS。因此,如果你有api,app和数据库,你将拥有每个服务的DNS条目。

因此,在您的服务中,您可以直接参考DNS。

示例:要将JDBC连接到数据库中的模式名称测试,您可以执行以下操作:jdbc:mysql:// database / test

见:https://rancher.com/docs/rancher/v2.x/en/k8s-in-rancher/service-discovery/

如果您想了解服务的clusterIP,可以运行以下命令:kubectl get services --all-namespaces

编辑1:添加ClusterIP作为与服务通信的方式。

另一答案

Kubernetes Service IP是在作为集群一部分的linux主机上使用“iptables”实现的。如果仔细检查这些规则,则只公开指定为服务一部分的端口,而不是ICMP端口,这意味着,默认情况下无法ping服务IP地址。但您仍然可以在指定端口与服务进行通信。

以上是关于项目命名空间中的rancher 2.0网络的主要内容,如果未能解决你的问题,请参考以下文章

Rancher 2.0 里程碑版本:支持添加自定义节点!

查找 XML 文档中的所有命名空间声明 - xPath 1.0 与 xPath 2.0

从 C# 2.0 中的 dll 获取命名空间、类名

xml 中的 Android 谷歌地图片段。我得到“意外的命名空间前缀”

Rancher 2.0集群与工作负载告警

Rancher 2.0 Beta版正式发布!