Hulpartikel overzicht

Hulpartikel

Kubernetes alpha: een loadbalancer aanmaken

Wanneer jouw Kubernetes-project een loadbalancer nodig heeft, kun je een service van het type 'LoadBalancer' aanmaken. Er wordt dan door het TransIP Kubernetes-platform automatisch een loadbalancer (op basis van ons HA-IP Pro platform) aangemaakt. Ook jouw Kubernetes Control Plane maakt gebruik van HA-IP Pro.

In deze handleiding laten we zien hoe je een loadbalancer aanmaakt via Kubectl en welke arguments je daaraan mee kunt geven.

Het Kubernetes-platform bevindt zich momenteel in een gesloten alpha-stadium. Wil je op de hoogte blijven van ontwikkelingen? Meld je dan aan op deze pagina.


Een loadbalancer aanmaken

 

Wanneer je een service host, kun je die service exposen via HA-IP door een service van het type LoadBalancer aan te maken. Vervang in het voorbeeld hieronder 'servicenaam' door de naam van jouw service (bijvoorbeeld 'webserver') en 'portnr' door het poortnummer dat door die service gebruikt wordt (bijvoorbeeld 80).

kubectl expose deploy servicenaam --port=portnr --type=LoadBalancer service/servicenaam

Je krijgt een bevestiging te zien die er als volgt uitziet:

service/servicenaam exposed

De loadbalancer zie je ook terug wanneer je de status van je service controleert met het commando:

kubectl get service/servicenaam

Je output ziet er dan ongeveer als volgt uit:

NAME         TYPE           CLUSTER-IP      EXTERNAL-IP                      PORT(S)        AGE
webserver    LoadBalancer   10.101.123.45   89-41-123-123.haip.transip.net   80:30058/TCP   13s

Het kan even duren voor de Cloud Control Manager de LoadBalancer heeft aangemaakt. Tot die tijd blijft het externe IP-adres zichtbaar.


Loadbalancer arguments

 

Wanneer je een service exposed werkt die automatisch, maar je kan het gedrag van je loadbalancer verder aanpassen door annotations in te stellen voor je service. De volgende opties zijn beschikbaar:

De beschikbare annotaties zijn dezelfde als degene die beschikbaar zijn voor HA-IP Pro.

  • service.beta.kubernetes.io/transip-loadbalancer-ptr: Stelt een Reverse DNS, of PTR-record in voor je HA-IP. Indien niet ingesteld wordt een standaard waarde gebruikt.
  • service.beta.kubernetes.io/transip-loadbalancer-ipsetup: Controleert hoe verschillende IP protocol families geforward worden. Op dit moment zijn de enige opties ipv6to4 (default) en noipv6 voor respectievelijk het doorsturen van IPv6 verkeer naar een IPv4-adres, of het uitschakelen van IPv4-ondersteuning. Dual-stack clusters worden momenteel niet ondersteund.
  • service.beta.kubernetes.io/transip-loadbalancer-protocol: Controleert het door HA-IP gebruikte protocol (default tcp). Beschikbare opties zijn tcp, http, proxy, https en http2.
  • service.beta.kubernetes.io/transip-loadbalancer-mode: Stel de loadbalancing methode van de onderliggende HA-IP in (default roundrobin). Beschikbare opties zijn roundrobin, source en cookie.
  • service.beta.kubernetes.io/transip-loadbalancer-tls-mode: Bepaalt de minimaal ondersteunde TLS versie (default tls12). Beschikbare opties zijn tls10, tls11 en tls12.
  • service.beta.kubernetes.io/transip-loadbalancer-cookie: Wanneer je als loadbalancing-methode 'cookie' gebruikt, bepaalt dit de naam van de cookie.
  • service.beta.kubernetes.io/transip-loadbalancer-ssl-mode: Bij gebruik van HTTP protocol modes, bepaalt deze optie of verkeer naar de nodes in het K8s-cluster SSL gebruiken of niet (default off). Beschikbare opties zijn off, on (controleert o SSL maar zonder controle van certificaten) en strict (SSL-controle met certificaat-controle)
  • service.beta.kubernetes.io/transip-loadbalancer-healthcheck-interval: Bepaalt de interval voor de health checks die via TCP of HTTP worden uitgevoerd. De default en minimum waarde is 2.
  • service.beta.kubernetes.io/transip-loadbalancer-healthcheck-path: Stel een adres in dat gebruik wordt voor health checks bij gebruik van de HTTP mode. De defaults waarde is / en de ingestelde optie moet altijd beginnen met een /.
  • service.beta.kubernetes.io/transip-loadbalancer-healthcheck-port: Overschrijft de poort waarop health checks worden uitgevoerd. Het opgeven van een geconfigureerde poort op de service vertaalt zich automatisch naar de bijbehorende poort op de node in het cluster (zie ook de output onder 'PORT(S)' in de vorige paragraaf. Wanneer deze optie niet geconfigureerd is, wordt de eerste (of enige) poort van de betreffende service gebruikt. Deze optie is alleen relevant voor de HTTP modus.
  • service.beta.kubernetes.io/transip-loadbalancer-ignore: Markeert deze service om genegeerd te worden door de Cloud Controller Manager (default false). Dit is vooral nuttig wanneer je migreert van een controller naar een andere controller.  type of controller to another. Waardes kunnen zijn: 1, t, T, TRUE, true, True, 0, f, F, FALSE, false en False.

Heb je ook een goed idee?

Stuur jouw idee in! Met genoeg stemmen komt jouw idee op onze wishlist!

Heeft dit artikel je geholpen?

Maak een account aan of log in om een beoordeling achter te laten.

Reacties

Maak een account aan of log in om een reactie te plaatsen.

Kom je er niet uit?

Ontvang persoonlijke hulp van onze supporters

Neem contact op