Voor de CHP omgeving hebben we een extra controller draaien die automatisch routes van LetsEncrypt certificaten voorziet.
Dit kan gedaan worden door in de yaml configuratie van de route onder metadata → annotations het label “kubernetes.io/tls-acme”: “true” toe te voegen.

Vereisten om hier gebruik van te maken is dat het DNS record al naar de CHP omgeving staat.

Via de CLI

Om dit voor een route aan te zetten dien je eerst de naam van de route op te zoeken, dit kan onder andere via de commandline:

$ oc get -n <project> routes
NAME        HOST/PORT                           PATH      SERVICES   PORT       TERMINATION   WILDCARD
route-name  subdomain.example.com                         nginx      8080-tcp                 None

Vervolgens kun je gewapend met de route name de route labelen voor LetsEncrypt via het volgende commando:

$ oc get -n <project> route <route-name> -o json \
    | jq --argjson obj '{ "kubernetes.io/tls-acme": "true" }' '.metadata.annotations += $obj' \
    | oc replace -f -

Na het labelen van de route kun je, na ~30 seconden, via de commandline zien dat de route voorzien is van certificaten onder het 'TERMINATION' kopje:

$ oc get -n <project> routes
NAME        HOST/PORT                           PATH      SERVICES   PORT       TERMINATION     WILDCARD
route-name  subdomain.example.com                         nginx      8080-tcp   edge/Redirect   None

Via webconsole

Ga in de webconsole naar je project en ga daar naar Routes onder Applications

Kies vervolgens in het volgende scherm de route die je wilt laten voorzien van LetsEncrypt Certificaten.

Vervolgens in het volgende scherm kies je voor Edit YAML onder de knop Actions

Voeg aan de YAML configuratie het volgende toe onder metadata

  annotations:
    kubernetes.io/tls-acme: 'true'

En druk vervolgens op Save

  • chp/handleiding/letsencrypt.txt
  • Last modified: 2019/05/28 10:47
  • (external edit)