Перечень поддерживаемых провайдеров:

Настройка балансировки входящего трафика в кластерах на облачных платформах включает в себя создание Ingress-контроллера с указанием параметров LoadBalancer. На их основе облачный провайдер автоматически создаёт внешний балансировщик нагрузки. В кластере при этом создаётся ресурс Service, через который трафик от внешнего балансировщика будет направляться к приложениям.

Пример создания Ingress-контроллера для провайдера OpenStack

apiVersion: deckhouse.io/v1
kind: IngressNginxController
metadata:
  name: main
spec:
  ingressClass: nginx
  inlet: LoadBalancerWithProxyProtocol
  loadBalancerWithProxyProtocol:
    annotations:
      loadbalancer.openstack.org/proxy-protocol: "true"
      loadbalancer.openstack.org/timeout-member-connect: "2000"
  nodeSelector:
    node-role.deckhouse.io/frontend: ""
  tolerations:
  - effect: NoExecute
    key: dedicated.deckhouse.io
    operator: Equal
    value: frontend

Пример создания сервиса с типом ClusterIP

apiVersion: v1
kind: Service
metadata:
  name: backend-resolver-cluster-ip
spec:
  ports:
  - name: http
    port: 8000
    protocol: TCP
  selector:
    app: lab-4-backend
  type: ClusterIP

Пример создания внутреннего балансировщика для VK Cloud

Этот пример подходит, когда нужно создать балансировщик только внутри сети облака (без внешнего адреса).

apiVersion: deckhouse.io/v1
kind: IngressNginxController
metadata:
  name: nginx
spec:
  ingressClass: nginx
  inlet: LoadBalancer
  loadBalancer:
    annotations:
      service.beta.kubernetes.io/openstack-internal-load-balancer: "true"
  nodeSelector:
    node.deckhouse.io/group: worker