如何将DNS配置为kubernetes入口?

如何将DNS配置为kubernetes入口?,kubernetes,kubernetes-ingress,traefik-ingress,metallb,Kubernetes,Kubernetes Ingress,Traefik Ingress,Metallb,我已经购买了3个VP,IP地址如下 172.168.1.146 72.168.43.245 98.156.56.123 我有一个入口控制器 我已经安装了metallb,它可以平衡流量并将其发送到任何IP地址 现在,如何为kubernetes集群端点提供静态IP 我应该购买虚拟IP并将其配置为metallb吗?如果是,怎么做 或 我应该在上述所有节点中配置keepalived并配置虚拟IP吗。在这种情况下,我可以为所有节点配置相同的虚拟IP吗?不会有知识产权冲突吗?如果其中一个

我已经购买了3个VP,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包括在MetalLB配置文件中。或者只是一个,因为这就是它所需要的


这是L2模式,更可能是你想要的,但你应该向你的网络上游确认,免费的ARP将1)起作用,2)不会让你被禁止进入网络。这两项都不能从“您刚刚设置的随机VPS”基线中得到保证。

MetalLB目前处于测试阶段。阅读有关该项目的信息,并确保通过彻底阅读官方文件来了解自己

MetalLB可以使用简单的Kubernetes舱单或头盔部署。本示例的其余部分假设MetalLB是按照说明部署的。 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
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