A list of supported providers:
- Amazon Web Services
- Google Cloud Platform
- Microsoft Azure
- OpenStack
- Huawei Cloud
- VMware Cloud DirectorExperimental
- VMware vSphere
- Yandex Cloud
- zVirtExperimental
Configuring incoming traffic balancing in clusters on cloud platforms involves creating an Ingress controller with specified LoadBalancer parameters. Based on these settings, the cloud provider automatically creates an external load balancer. In the cluster, a Service resource is created through which the external load balancer routes traffic to applications.
Example of creating an Ingress controller for the OpenStack provider
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
Example of creating a ClusterIP-type Service
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