【问题标题】:How do I configure DNS to a kubernetes ingress?如何将 DNS 配置到 Kubernetes 入口?
【发布时间】:2021-08-08 11:35:26
【问题描述】:

我已经购买了 3 个 VPS 并且有类似的 IP 地址

   172.168.1.146
   72.168.43.245
   98.156.56.123

我有一个入口控制器

我已经安装了 metallb,它可以对流量进行负载平衡并将其发送到任何 IP 地址。

现在如何为我的 Kubernetes 集群端点提供静态 IP?

我应该购买一个虚拟 IP 并将其配置为 metallb 吗?如果有怎么办?

我是否应该在以上所有节点中配置keepalived并配置一个虚拟IP。在这种情况下,我可以为所有节点配置相同的虚拟 IP 吗?不会有IP冲突吗?如果其中一个节点死亡,虚拟 IP 会自动分配给另一个活着的节点吗?如果是这样,自动将 IP 地址分配给另一个活动节点的通常持续时间是多少?

【问题讨论】:

    标签: kubernetes kubernetes-ingress traefik-ingress metallb


    【解决方案1】:

    MetalLB 目前处于测试阶段。阅读有关项目maturity 的信息,并确保您通过仔细阅读官方文档来了解自己。

    MetalLB 可以使用简单的 Kubernetes 清单或 Helm 进行部署。本示例的其余部分假设 MetalLB 是按照 Installation 指令部署的。 MetalLB 需要一个 IP 地址池才能获得 ingress-nginx 服务的所有权。该池可以在名为 config 的 ConfigMap 中定义,该 ConfigMap 位于与 MetalLB 控制器相同的命名空间中。此 IP 池必须专用于 MetalLB 使用,您不能重复使用 Kubernetes 节点 IP 或 DHCP 服务器分发的 IP。

    给定如下3节点Kubernetes集群(以添加外部IP为例

    $ kubectl get node
    NAME     STATUS   ROLES    EXTERNAL-IP
    host-1   Ready    master   203.0.113.1
    host-2   Ready    node     203.0.113.2
    host-3   Ready    node     203.0.113.3
    

    在创建以下 ConfigMap 后,MetalLB 获得池中 IP 地址之一的所有权,并相应地更新 ingress-nginx 服务的 loadBalancer IP 字段。

    apiVersion: v1
    kind: ConfigMap
    metadata:
      namespace: metallb-system
      name: config
    data:
      config: |
        address-pools:
        - name: default
          protocol: layer2
          addresses:
          - 203.0.113.10-203.0.113.15
    

    【讨论】:

      【解决方案2】:

      您在 MetalLB 配置文件中包含 IP。或者真的只是一个,因为这就是它所需要的。 https://metallb.universe.tf/configuration/#layer-2-configuration

      apiVersion: v1
      kind: ConfigMap
      metadata:
        namespace: metallb-system
        name: config
      data:
        config: |
          address-pools:
          - name: default
            protocol: layer2
            addresses:
            - 192.168.1.240-192.168.1.250 
      

      这适用于 L2 模式,这更可能是您想要的,但您应该向上游网络确认无偿 ARP 将 1) 工作并且 2) 不会让您被禁止进入网络。从“您刚刚设置的随机 VPS”的基线来看,这些都不能保证。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2019-09-30
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-02-05
        • 2018-05-28
        相关资源
        最近更新 更多