【问题标题】:Add DNS entry to local /etc/hosts for traffic redirect to PKS Ingress controller将 DNS 条目添加到本地 /etc/hosts 以将流量重定向到 PKS Ingress 控制器
【发布时间】:2019-11-20 20:51:23
【问题描述】:

我的 Kubernetes 集群在 Vmware PKS 中运行。

我有 Ingress 资源和 spec.rules.host: test.domain.com 用于后端服务“test-service”。我知道,通过在 DNS 服务器中添加一个条目,当从集群外部(外部)访问时,会将流量路由到我的集群。 但是在服务器/云中没有 DNS 条目,我需要通过向 /etc/hosts 或类似的东西添加条目来在本地测试 Ingress 配置。

我在一个裸机教程中发现,将 HA 代理 IP 添加到 /etc/hosts 文件会将流量重定向到 kubernetes 集群。就像那样,将“ip_of_k8_cluster test.domain.com”添加到 /etc/hosts 尝试访问,如“curl http://test.domain.com/”,但 URL 不可访问。

如何验证(内部)Ingress 资源中的主机名,而无需主机的实际 DNS 条目。我想确保我的 Ingress 资源正常工作,然后我可以请求我的公司管理员在 DNS 中添加名称。

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  namespace: ingress
  annotations:
    nginx.ingress.kubernetes.io/rewrite-target: /
  name: app-ingress
spec:
  rules:
  - host: test.domain.com
    http:
      paths:
      - backend:
          serviceName: test-service
          servicePort: 80
        path: /

【问题讨论】:

    标签: kubernetes localhost kubernetes-ingress nginx-ingress kube-dns


    【解决方案1】:

    你必须添加到/etc/hosts的IP不是Kubernetes-Cluster的IP,它必须是Ingress-Service的External-IP .

    Ingress-ServiceporttargetPort 也必须正确(在您的情况下,port80targetPort 到您的 Ingress 所在的那个服务监听)。

    【讨论】:

    • 在本地测试入口的情况下,我只能使用服务类型作为 LoadBalancer。因此添加服务外部 IP 会将流量直接路由到服务而不是 Ingress,因此如何在本地测试 Ingress。
    • 不,我的意思是你必须使用 Ingress Pod 的 Service-IP,你也可以使用 LoadBalancer 而不是 External -IP 在这种情况下没关系。
    • @arunp 有用吗?如果是这样,请将其标记为答案。
    • 使用 Ingress 时,明显的服务类型是 NodePort 或 ClusterIP,这些服务类型没有外部 IP。在这种情况下,只有 LoadBalancer 提供 ExternalIP。我不得不使用来自 kubectl get ing 的 IP。
    【解决方案2】:

    curl--resolve 标志一起使用,例如;

    host=test.domain.com
    adr=<your-external-or-loadbalancer-ip-for-the-nginx-service>
    curl -D - --resolv $host:80:$adr http://$host/
    

    或者用https;

    curl -D - --resolv $host:443:$adr --insecure https://$host/
    

    【讨论】:

    • 感谢@lgekman。很高兴知道 curl 可以选择解析 ip。这也是公认的答案。
    猜你喜欢
    • 1970-01-01
    • 2013-09-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多