项目命名空间中的rancher 2.0网络
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了项目命名空间中的rancher 2.0网络相关的知识,希望对你有一定的参考价值。
可以通过工作负载名称从其他工作负载ping一个工作负载
我习惯于牧场1.0,如果我用更多容器创建堆栈,那么我可以通过名称从另一个容器ping一个。
例如:我有api和数据库,我需要api与数据库进行通信。当我点击api上的执行shell并写“ping数据库”时,所以不能正常工作。
我在api环境变量中将连接字符串写入数据库。是的我可以创建数据库并将数据库IP写入ENV,但每次重启后此ip都会更改。
一些人可能会调用不生成名称?
谢谢
如您所见,所以翻译数据库名称是有效的。只有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网络的主要内容,如果未能解决你的问题,请参考以下文章
查找 XML 文档中的所有命名空间声明 - xPath 1.0 与 xPath 2.0