【问题标题】:Kubernetes - service type LoadBalancer to use specific ip address every time deployed in AKSKubernetes - 服务类型 LoadBalancer 每次在 AKS 中部署时使用特定的 IP 地址
【发布时间】:2021-02-28 03:52:32
【问题描述】:

在 Azure 中,我使用 helm 部署服务(type=loadbalancer)

下面是清单文件

apiVersion: v1
kind: Service
metadata:
  name: {{ template "app.fullname" . }}-service-lb
  labels:
    app: {{ template "app.fullname" . }}-service-lb
  annotations:
    service.beta.kubernetes.io/azure-load-balancer-internal: "true"
spec:
  type: LoadBalancer
  ports:
    - port: {{.Values.appServPort}}
      nodePort: {{.Values.lbPort}}
      protocol: TCP
  selector:
    app: {{ template "app.fullname" . }}-service

是否可以告诉 kubernetes 集群每次都使用特定的 ip 作为外部 IP。每当我部署服务时?

/*-- 已编辑-- */

每次部署负载均衡服务时,都会分配一个新的External ip,在我的情况下想指定使用相同的ip,并假设该ip 地址不在网络内使用。

/*---- */

我的理解是Kubernetes集群每次部署都会分配一个外部IP,在manifest文件中没有指定。

有一个 Azure 文档详细介绍了如何在清单文件中使用静态 Ip 和 demo link

【问题讨论】:

  • 您是否尝试过按照文档中的建议进行操作?它应该是直截了当的。
  • 就我而言,我想使用非静态 IP 地址。比如说,想使用一个 ip 192.168.0.10 假设它没有在网络中使用。
  • 相同的 IP 地址 = Azure 中的静态 IP。您将创建一个静态 IP 并在 yaml 中指定地址。

标签: azure kubernetes kubernetes-service


【解决方案1】:

我只是引用docs

如果您想在内部负载中使用特定的 IP 地址 平衡器,将 loadBalancerIP 属性添加到负载平衡器 YAML 显现。在这种情况下,指定的 IP 地址必须位于 与 AKS 群集相同的子网,并且不得已分配给 一种资源。例如,您不应使用范围内的 IP 地址 为 Kubernetes 子网指定。

apiVersion: v1
kind: Service
metadata:
  name: internal-app
  annotations:
    service.beta.kubernetes.io/azure-load-balancer-internal: "true"
spec:
  type: LoadBalancer
  loadBalancerIP: 10.240.0.25
  ports:
  - port: 80
  selector:
    app: internal-app

【讨论】:

    猜你喜欢
    • 2018-07-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-02
    • 2023-02-10
    • 2019-01-30
    • 2021-02-27
    • 2018-08-11
    相关资源
    最近更新 更多