Kubernetes PetSet DNS 不工作

2023-12-26

我有一个 Kubernetes PetSet,名称为 ==elasticsearch和服务名称==es。它确实创建了 pod,并且正如预期的那样,它们的名称如下elasticsearch-0 and elasticsearch-1。但是,DNS 似乎不起作用。elasticsearch-0.es没有解决(也没有elasticsearch-0.default, ETC。)。如果您查看生成的 srv 记录,它们似乎是随机的而不是可预测的:

# nslookup -type=srv elasticsearch
Server:        10.1.0.2
Address:    10.1.0.2#53

elasticsearch.default.svc.cluster.local    service = 10 100 0 9627d60e.elasticsearch.default.svc.cluster.local.

有人有主意吗?


Details

这是实际的 PetSet 和 Service 定义:

---
apiVersion: v1
kind: Service
metadata:
  name: elasticsearch
  labels:
    app: elasticsearch
spec:
  ports:
  - name: rest
    port: 9200
  - name: native
    port: 9300
  clusterIP: None
  selector:
    app: elasticsearch
---
apiVersion: apps/v1alpha1
kind: PetSet
metadata:
  name: elasticsearch
spec:
  serviceName: "es"
  replicas: 2
  template:
    metadata:
      labels:
        app: elasticsearch
      annotations:
        pod.alpha.kubernetes.io/initialized: "true"
    spec:
      terminationGracePeriodSeconds: 0
      containers:
      - name: elasticsearch
        image: 672129611065.dkr.ecr.us-west-2.amazonaws.com/elasticsearch:v1
        ports:
          - containerPort: 9200
          - containerPort: 9300
        volumeMounts:
        - name: es-data
          mountPath: /usr/share/elasticsearch/data
        env:
          - name: POD_NAME
            valueFrom:
              fieldRef:
                fieldPath: metadata.name
          - name: ES_CLUSTER_NAME
            value: EsEvents
  volumeClaimTemplates:
  - metadata:
      name: es-data
      annotations:
        volume.alpha.kubernetes.io/storage-class: anything
    spec:
      accessModes: [ "ReadWriteOnce" ]
      resources:
        requests:
          storage: 10Gi

这是我误读文档的问题。The docs http://kubernetes.io/docs/user-guide/petset/#peer-discovery say:

网络身份有两部分。首先,我们创建了一个无头服务来控制我们创建宠物的域。此服务管理的域采用以下形式:$(服务名称).$(命名空间).svc.cluster.local,其中“cluster.local”是集群域。创建每个宠物时,它都会获得一个匹配的 DNS 子域,格式为:$(宠物名称).$(治理服务域),其中治理服务由宠物集上的 serviceName 字段定义。

我认为这意味着serviceDomain字段是“管理服务域”的值,但这不是它的含义。这意味着serviceDomain必须与现有无头服务的名称匹配,并且该服务将用作管理服务域。如果不存在这样的服务,您不会收到错误 - 您只会获得宠物的随机 DNS 名称。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Kubernetes PetSet DNS 不工作 的相关文章

随机推荐

  • 如何创建播放一次并冻结在最后一帧的 GIF 图像

    如何创建播放一次并冻结在最后一帧的 GIF 图像 我已经将循环属性设为1 所以第一个问题就解决了 但是动画结束后 gif 并没有冻结在最后一帧 而是回到第一帧 您需要将 gif 的循环计数更改为 1 这是一个在线工具 可以让您免费做到这一点
  • CActiveForm 和 ajaxSubmitButton 不起作用

    这是我的代码
  • 无法定义元组的类型:目标需要 2 个元素,但源可能更少

    我正在尝试填充一个由元组组成的数组 const countries sg my th const platforms ios android const combinationsToQuery platforms flatMap platf
  • wxWidgets运行时错误(版本不匹配)

    我在启动程序时遇到问题 致命错误 检测到程序和库构建版本之间不匹配 该库使用3 0 wchar t C ABI 1010编译器 wx容器 兼容2 8 并且您的程序使用3 0 wchar t 使用C ABI 1009的编译器 wx容器 与2
  • BackgroundWorker 从外部类报告进度?

    我有一个工作解决方案 可以将进度和文本报告给进度条以及应用程序主窗体上的标签 我现在已将我的工作方法移至一个类 以便可以跨多种形式访问它们等 在工作方法中是BW ReportProgress 将进度和文本推回到主窗体中的Background
  • Android:将图像上传到PHP服务器

    我编写了一个脚本来将从相机拍摄的图像上传到我的服务器 我明白了200OK响应 但我在服务器的 uploads 文件夹中看不到我的图像 也许我的脚本包含错误 请问你能帮帮我吗 我的例子是以下链接 这是完整的 Android 类 import
  • 编写带有 NOT EXISTS 子句的查询,但不使用 NOT EXISTS 的子查询

    我有兴趣为需要使用的应用程序编写查询NOT EXISTS子句检查行是否存在 我正在使用 Sybase 但我想知道 SQL 中是否有一个示例 您可以在其中编写一个具有NOT EXISTS没有嵌套子查询的子句NOT EXISTS 所以而不是 S
  • 如何在 Ada 中从其他字符串构建字符串?

    我想在日志文件中输出标题行 然后在数据之前输出一行 为此 我创建了一个标题字符串 然后输出相同数量的 但下面的代码总是失败并出现 CONSTRAINT ERROR 因为生成的字符串不是 1024 个字符 在 Ada 中 字符串赋值需要完全相
  • 如何从函数返回 char 数组?

    我尝试过以下方法 char 10 testfunc char 10 str return str 最好作为输出参数 void testfunc char outStr char str 10 for int i 0 i lt 10 i ou
  • 从 Maven 中排除 TestNG 组

    我有一些缓慢的测试 这些测试依赖于我不想在每次使用 Maven 构建项目时运行的数据库 我已将 exceptGroups 元素添加到我的 pom 文件中 如下所述http maven apache org plugins maven sur
  • 黑莓上的应用程序详细信息

    我想开发一个应用程序来获取黑莓上其他已安装应用程序的详细信息 有没有可能 是的 您可以使用CodeModuleGroupManager loadAll http www blackberry com developers docs 6 0
  • 如何降级Webpack版本?

    我已经通过 NPM 在我的 ASP NET core Web 项目中安装了 Webpack 现在 webpack 的版本是 2 4 1 但是 我需要安装以下版本的 webpack 2 1 0 beta 25 我尝试使用以下命令 npm in
  • 如何在android中缓存listview数据?

    我有一个包含 100 行的列表视图 这是我第一次从 Web 服务加载所有数据 我想缓存该数据 这样如果我打开该页面 我应该从缓存而不是从 Web 服务获取它 我怎样才能做到这一点 如果您的数据足够简单 只需将它们存储在数组中并使用类似的东西
  • java JGraphx 保存为图像

    有谁知道如何将 JGraphx 导出为任何格式的图像 如果没有 那么有人知道任何其他java库可以让我创建简单的图表然后将其保存为图像吗 对于 PNG 格式应该这样做 BufferedImage image mxCellRenderer c
  • Vapor Xcode 项目中两个几乎相同的目标

    我想配置 Package swift 以便一个目标成为另一个目标的扩展 它们都应该共享一个文件夹中的相同代码 但对于 扩展 版本 还有一个额外的子文件夹 但我尝试使用的配置path因 重叠源 错误而失败 那么 如何使两个目标具有相同的源文件
  • 更改行 extjs4 的背景颜色

    我有一个名为 grid 的网格 并且加载时有行被插入到网格中 有些行将显示为绿色 则表示已成功输入行 而背景颜色为红色的行将出现错误 我让它在某个时候工作 但错误行将被添加到网格中 其背景色为红色 然后 当我尝试添加新行以输入新数据时 所有
  • 如何使 AuthorizeEndpointPath 在 ASP.NET Oauth 2.0 框架中工作

    我目前有一个网站 我正在尝试实现 OAuth 服务器框架 该网站目前是 Web Forms 不是 MVC 和 Web API 2 的组合 出于我想要做的目的 我们无法更改系统的整体架构 到目前为止 我通过 Web API 使用 OAuth
  • RXJava 如何尝试在 x 时间后获取下一个

    我想每 x 秒使用改造调用一次 Web 服务 直到引发 y 条件 我想跑OrderApi getx 秒后直到响应为空 public class OrderApi public static Observable
  • Notepad++搜索和替换:删除每行“/”后面的所有内容

    我有一个纯文本文件 内容如下 pre ra RN pre rie Z pre r c zZ pre u c 问 如何删除之后的所有字符串 Notepad 中每一行的符号 期望的输出 pre ra pre rie pre r c pre u
  • Kubernetes PetSet DNS 不工作

    我有一个 Kubernetes PetSet 名称为 elasticsearch和服务名称 es 它确实创建了 pod 并且正如预期的那样 它们的名称如下elasticsearch 0 and elasticsearch 1 但是 DNS