kubernetes - 为 sidecar 创建一个 ip 别名
问题描述
我们有一个在 localhost:myportnumber 上运行 API 的 sidecar(在这个例子中假设为 8888),我们试图从同一个 pod 中的主容器中引用它。
主容器是否需要知道边车运行的端口?(比如通过创建一个等于 8888 的环境变量?)
或者有没有一种方便的方法我们可以使用类似于集群 ip 的东西(如 namespace.servicename.sidecarname)或通过创建HostAlias来引用 sidecar ?
解决方案
主容器是否需要知道边车运行的端口?(比如通过创建一个等于 8888 的环境变量?)
是的,sidecar 容器共享相同的网络(IP,命名空间),所以你必须让主容器知道它可以到达 sidecar 容器的端口号。
有没有一种方便的方法可以使用类似于集群 ip 的东西(如 namespace.servicename.sidecarname)或通过创建 HostAlias 来引用 sidecar?
我认为 DNS/类似的东西不能扩展到在 pods 内运行的容器。因为如上所述,一个 pod 内的所有 contianers 共享相同的网络(IP,网络命名空间)
推荐阅读
- sql-server - SSIS 共享点连接问题
- javascript - 使用 React.js 使用身份验证令牌调用 REST API
- scala - 是否可以将选择查询存储为变量?
- mysql - 如何在 JPA 标准中使用 MySql "DATE_SUB(field, INTERVAL 08 HOUR)"
- mysql - mysql服务器使用500%的cpu
- node.js - 可以托管 NodeJs - http 模块来处理 ASP/.NET 网站页面吗?
- android - 有没有办法为电池制作自定义视图?
- python - 如何创建 Whoosh 自定义权重函数?
- c# - Mac 上的 .NET Core 1.1 应用程序和 SQL Server 连接字符串
- java - Jaxb2Marshaller 用于具有相同类的多个包