kubernetes - 我可以为 Kubernetes 服务使用多个名称吗?
问题描述
在 Kubernetes 中,X
通过对http://X:9999
. X
这是应用程序名称。我想知道,可以添加多个名称或别名,它会指向它http://X:9999
吗?即我可以转发/指向http://Y:9999
吗http://X:9999
?
解决方案
回答
是的,您可以让多个主机名指向同一个 Pod。
您可以通过使用相同的标签选择器创建多个服务来实现此目的。
背景
服务根据标签选择器创建 Pod IP 的端点。
服务会将它们的选择器与 Pod 标签进行匹配。
如果多个服务(具有不同名称)具有相同的标签选择器,它们将为同一个 Pod 创建多个端点。
例子
第一服务:
apiVersion: v1
kind: Service
metadata:
name: nginx1
namespace: nginx
spec:
selector:
app: nginx
...
二服务:
apiVersion: v1
kind: Service
metadata:
name: nginx2
namespace: nginx
spec:
selector:
app: nginx
...
每个 Service 都会创建一个端点,指向任何带有 label 的 Pod app: nginx
。
nginx2:<port>
因此,您可以使用and访问相同的 Pod nginx1:<port>
。
推荐阅读
- ios - iOS 多个 JSON 文件数据通过 Swift 中的 segue 传输
- javascript - Node.js递归复制隐藏文件夹,同时保留隐藏状态
- javascript - JQuery:在特定页面上的输入字段上设置焦点
- amazon-web-services - AWS S3 静态网站可在 /page.html 而不是 /page 访问
- android - 在android上打开键盘时的布局问题
- angular - Angular 中可观察到的数据未定义
- json - JSON 解析问题:“预期解码数组
而是找到了一本字典。” - docker - 在运行 Dockerfile 时接受许可条款
- json - Postgres:如何返回 json 类型的投影数据
- python - Google Kickstart Round E 2020 最长算术运行时错误