开发者社区 > 域名解析DNS > DNS软件服务 > 正文

Kubernetes服务的完全限定域名(FQDN)不起作用?DNS-1035

我一直收到这个错误:

Ingress“traefik-web-ui-ingress”无效:spec.rules [0] .http.backend.serviceName:无效值:“traefik-frontend-service.traefik.svc.cluster.local”:DNS-1035标签必须由小写字母数字字符或' - '组成,以字母字符开头,并以字母数字字符结尾(例如'my-name'或'abc-123',用于验证的正则表达式是'az?')

服务名称traefik-frontend-service.traefik.svc.cluster.local:

以字母数字字符开头
以字母数字字符结尾
仅包含字母数字或 -

展开
收起
k8s小能手 2019-02-22 15:51:05 5248 0
1 条回答
写回答
取消 提交回答
  • 整合最优质的专家资源和技术资料,问答解疑

    这是为了避免交叉命名空间暴露,在此线程中解释了为什么对入口规范的这种限制是故意的。

    这意味着,Ingress只能在同一名称空间中公开服务。

    提供的值应该是服务名称,而不是FQDN。

    如果你真的需要这样设计,你的其他选择是:

    将Traefik公开为LB服务,然后创建数据服务以向traefik提供路由规则。
    使用Contour Ingress(通过heptio)将路由委派给其他名称空间。

    使用Contour会是这样的:

    root.ingressroute.yaml

    apiVersion: contour.heptio.com/v1beta1
    kind: IngressRoute
    metadata:
    name: namespace-delegation-root
    namespace: default
    spec:
    virtualhost:

    fqdn: ns-root.bar.com

    routes:

    - match: /
      services:
        - name: s1
          port: 80

    delegate the subpath, /blog to the IngressRoute object in the marketing namespace with the name blog

    - match: /blog
      delegate:
        name: blog
        namespace: marketing

    blog.ingressroute.yaml

    apiVersion: contour.heptio.com/v1beta1
    kind: IngressRoute
    metadata:
    name: blog
    namespace: marketing
    spec:
    routes:

    - match: /blog
      services:
        - name: s2
          port: 80
    2019-07-17 23:29:10
    赞同 展开评论 打赏

市场上DNS解析软件和解析服务的相关资讯

相关产品

  • 云解析DNS
  • 相关电子书

    更多
    ACK 云原生弹性方案—云原生时代的加速器 立即下载
    ACK集群类型选择最佳实践 立即下载
    企业运维之云原生和Kubernetes 实战 立即下载

    相关镜像