当前位置: 首页 > 知识库问答 >
问题:

kubernetes - k8s中Pod的subdomain 和Service的name之间有 强绑定关系吗?

卜凯旋
2024-04-23

《Kubernetes权威指南第五版 4.5.2节》

---apiVersion: v1kind: Podmetadata:  name: webapp1  labels:    app: webapp1spec:  hostname: webapp-1  subdomain: mysubdomain  containers:  - name: webapp1    image: kubeguide/tomcat-app:v1    ports:    - containerPort: 8080---apiVersion: v1kind: Servicemetadata:  name: mysubdomainspec:  selector:    app: webapp1  clusterIP: None  ports:  - port: 8080

在这个yaml文件中创建了一个 pod,并指定了hostname和subdomain
同时创建了一个service, 书中提到 service的名称必须要和subdomain保持一致。

测试发现如果不保持一致 那么在其他Pod的容器中执行 wget webapp-1.mysubdomain.default.svc.cluster.local:8080 就会报错提示无法解析 webapp-1.mysubdomain.default.svc.cluster.local,请问这是为什么

共有1个答案

穆仲卿
2024-04-23

1、pod的subdomain和带cluterIP的service的name没有强绑定关系;
2、如果Headless Service关联的pod指定了subdomain,那它的值必须和service的name相同;

为什么?
因为k8s的dns规范就是这么要求的。
https://github.com/kubernetes/dns/blob/master/docs/specification.md

 类似资料:
  • 问题是: < code>Websockets和< code>Socket.io支持客户端和web服务器之间丰富的双向异步通知。 HTML/javascript 客户端和入口 “cookie” 路由之间 Socket.io 会在部署中的 Pod(我们称之为部署 A 的 Pod)和 HTML/javascript 客户端之间创建有状态关联。其他部署中的其他 Pod(让我们调用这些部署 B 和部署 C

  • 在工作项目中前后端采用了 grpc 的方式通讯,我们约定一份 .proto 文件,然后进行开发。但由于我本人是前端开发,就导致接口文件基本上都是后端开发来编写的,我用到的时候直接调用生成好的 ts 文件就行了,所以对这方面的理解一直模棱两可。 问题:grpc 的方式和传统的 http 通信方式有什么区别呢?(相较于 http grpc 有什么优劣呢?)

  • 问题内容: SciPy似乎在其自己的名称空间中提供了NumPy的大多数(但不是全部[1])功能。换句话说,如果有一个名为的函数,几乎可以肯定有一个。在大多数情况下,两者看起来是完全相同的,甚至有时指向相同的功能对象。 有时,它们是不同的。举一个最近出现的例子: 是一个ufunc该返回的NaN为负参数; 返回负参数的复杂值,并且似乎不是ufunc。 同样可以说,大约,和,但不是关于[2]。 另一方面

  • 我已经定义了以下复制控制器JSON: 使用“docker run-t-I-p 0 . 0 . 0 . 0:9021:80-v/mnt/NFS/WordPress _ a:/mnt/NFS/WordPress _ a:rw internal user/PHP 53”运行时,容器正确启动。 /mnt/nfs/wordpress_a是一个nfs共享,安装在所有的minions上。每个minion都有完全

  • 问题内容: 即使阅读了很多书,我仍然对 CommonJS,AMD 和 RequireJS 感到非常困惑。 我知道 CommonJS (以前称为 ServerJS )是用于在浏览器之外使用该语言时定义一些 JavaScript 规范(即模块)的组。 CommonJS 模块规范具有一些实现,例如 Node.js 或 RingoJS ,对吗? CommonJS , 异步模块定义 (AMD)和 Requi

  • 度量可以度量一些有用的领域,但是有什么区别和联系呢?