Juil 19 2021

Comment Accéder à l’Interface Web ProxySQL sur Kubernetes

Publié par à 9:09 sous Docker,Kubernetes,Mysql

J’ai présenté dans un article précédent le chart Helm ProxySQL dans lequel j’expliquais comment configurer le pod à partir de requêtes SQL. Le chart inclus un ingress pour atteindre le serveur de stats sur le port 6080. Voici quelques détails pour le rendre fonctionnel.


L’ingress doit être activé dans le fichier Values et le serveur web ProxySQL demande aussi que la variable admin admin-web_enabled soit paramétrée.

ingress:
  enabled: true
  annotations:
    kubernetes.io/ingress.class: nginx
  hosts:
    - host: proxy.domaine.lan
      paths:
        - /

sqlqueries: |
  SET admin-web_enabled='true';
  LOAD ADMIN VARIABLES TO RUNTIME;
  -- autres requetes


Si vous le laissez tel quel, les connexions HTTP à l’interface web retourneront l’erreur suivante:
Error: received handshake message out of context
L’interface web ProxySQL n’accepte que les connexions HTTPS – même si les exemples fournis dans la documentation utilisent le HTTP – et il n’y a pas d’alternative.


L’ingress doit se connecter au backend avec le protocole HTTPS. Nginx permet de spécifier le protocole utilisé avec l’annotation backend-protocol. Vous avez toujours le choix de laisser l’accès à l’ingress depuis l’extérieur en HTTP, mais ne le faites pas sur une interface publique.

nginx.ingress.kubernetes.io/backend-protocol: "HTTPS"

No responses yet

Comments RSS

Leave a Reply