J'utilise Traefik ( v2.0 ) comme passerelle d'entrée pour mon cluster EKS. L'entrée Traefik fonctionne bien.
Maintenant, je dois ajouter la prise en charge de https pour mon entrée à l'aide d'un certificat auto-signé. Pour cela, j'ai:
kubectl create secret tls tlssecret --key="eks.tls.key" --cert="eks.tls.crt"
/auth
) ...Après ce déploiement, lorsque je parcoure l'url d'entrée, il me présente toujours le TRAEFIK DEFAULT CERT, pas mon certificat auto-signé.
S'il vous plaît laissez-moi savoir ce que je fais de mal ici? Y a-t-il une autre façon de le faire?
3 Réponses :
Essayez de monter le secret sur votre conteneur pour qu'il soit identifié par le service traefik. De plus, configurez IngressRoute avec la configuration ci-dessous.
tls: certificates: - certFile: /path/to/domain.cert keyFile: /path/to/domain.key
J'espère que cela t'aides.
Enfin, cela a fonctionné comme ci-dessous:
traefik-conf.yml:
apiVersion: traefik.containo.us/v1alpha1 kind: IngressRoute metadata: name: pulseingressroutetls namespace: pulse spec: entryPoints: - websecure tls: secretname: traefik-cert routes: ...
J'ai changé de contrôleur d'entrée comme ci-dessous:
spec: serviceAccountName: traefik-ingress-controller containers: - name: traefik image: traefik:v2.0 volumeMounts: - name: config mountPath: /etc/traefik/traefik.yml subPath: traefik.yml - name: ssl mountPath: /ssl ports: - name: web containerPort: 80 - name: websecure containerPort: 443 - name: admin containerPort: 8080 volumes: - name: ssl secret: secretName: traefik-cert - name: config configMap: name: traefik-conf
Voies d'entrée:
apiVersion: v1 kind: ConfigMap metadata: name: traefik-conf namespace: pulse data: traefik.yml: | api: dashboard: true insecure: true global: checkNewVersion: false sendAnonymousUsage: false ping: {} entryPoints: websecure: address: ":443" web: address: ":80" providers: kubernetesCRD: {} file: filename: /etc/traefik/traefik.yml watch: true tls: stores: default: defaultCertificate: certFile: /ssl/tls.pem keyFile: /ssl/tls.key options: default: minVersion: VersionTLS12 sniStrict: false certificates: - certFile: /ssl/tls.pem keyFile: /ssl/tls.key
La solution acceptée de NumeroUno fonctionne réellement, mais j'ai quelques remarques mineures:
certFile: /ssl/tls.pem
doit être certFile: /ssl/tls.crt
tlssecret
, pas de traefik-cert
.