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.crttlssecret , pas de traefik-cert .