Я думаю, это мой первый вопрос о SO.
Эта проблема сводит меня с ума, и я не знаю, что делать или искать прямо сейчас.
Я пытаюсь настроитьКластер k8s в DigitalOcean с HELM и Traefik.
Я следовал руководству по этому сообщению в блоге
Я открыл билет на DO, чтобы получить некоторую помощь для действительногоСертификат SSL / HTTTS, и он, кажется, работает.
НО, когда у меня есть действующий сертификат, я получил «502 Bad Gateway Сервер вернул неверный или неполный ответ».для каждого настроенного доменного имени.
Когда я отключаю SSL и удаляю сертификат, все работает, я могу получить доступ к каждому хосту, но вы знаете ... сертификат не плох!:)
Более того, когда я активирую SSL / HTTPS на helm-values.yaml, я получаю странные журналы!
Вот выдержка, я даже не знаю, что здесь происходит!
{"level":"debug","msg":"Received Kubernetes event kind *v1.Endpoints","time":"2019-06-17T23:44:55Z"}
{"level":"debug","msg":"Skipping Kubernetes event kind *v1.Endpoints","time":"2019-06-17T23:44:55Z"}
{"level":"debug","msg":"http: TLS handshake error from 10.244.0.1:38666: tls: first record does not look like a TLS handshake","time":"2019-06-17T23:44:55Z"}
10.244.2.1 - - [17/Jun/2019:23:44:55 +0000] "GET / HTTP/1.0" 302 5 "-" "-" 3209 "entrypoint redirect for http" "/" 0ms
10.244.0.1 - - [17/Jun/2019:23:44:55 +0000] "GET / HTTP/1.0" 302 5 "-" "-" 3210 "entrypoint redirect for http" "/" 0ms
10.244.0.1 - - [17/Jun/2019:23:44:55 +0000] "GET / HTTP/1.0" 302 5 "-" "-" 3211 "entrypoint redirect for http" "/" 0ms
10.244.2.1 - - [17/Jun/2019:23:44:55 +0000] "GET / HTTP/1.0" 302 5 "-" "-" 3212 "entrypoint redirect for http" "/" 0ms
{"level":"debug","msg":"Received Kubernetes event kind *v1.Endpoints","time":"2019-06-17T23:44:55Z"}
{"level":"debug","msg":"Skipping Kubernetes event kind *v1.Endpoints","time":"2019-06-17T23:44:55Z"}
10.135.133.233 - - [17/Jun/2019:23:44:55 +0000] "GET / HTTP/1.0" 302 5 "-" "-" 3213 "entrypoint redirect for http" "/" 0ms
10.244.2.1 - - [17/Jun/2019:23:44:56 +0000] "GET / HTTP/1.0" 302 5 "-" "-" 3214 "entrypoint redirect for http" "/" 0ms
10.244.0.1 - - [17/Jun/2019:23:44:56 +0000] "GET / HTTP/1.0" 302 5 "-" "-" 3215 "entrypoint redirect for http" "/" 0ms
10.244.0.1 - - [17/Jun/2019:23:44:56 +0000] "GET / HTTP/1.0" 302 5 "-" "-" 3216 "entrypoint redirect for http" "/" 0ms
10.244.2.1 - - [17/Jun/2019:23:44:57 +0000] "GET / HTTP/1.0" 302 5 "-" "-" 3217 "entrypoint redirect for http" "/" 0ms
{"level":"debug","msg":"Received Kubernetes event kind *v1.Endpoints","time":"2019-06-17T23:44:57Z"}
{"level":"debug","msg":"Skipping Kubernetes event kind *v1.Endpoints","time":"2019-06-17T23:44:57Z"}
10.135.162.241 - - [17/Jun/2019:23:44:57 +0000] "GET / HTTP/1.0" 302 5 "-" "-" 3218 "entrypoint redirect for http" "/" 0ms
{"level":"debug","msg":"Received Kubernetes event kind *v1.Endpoints","time":"2019-06-17T23:44:57Z"}
{"level":"debug","msg":"Skipping Kubernetes event kind *v1.Endpoints","time":"2019-06-17T23:44:57Z"}
10.135.162.241 - - [17/Jun/2019:23:44:57 +0000] "GET / HTTP/1.0" 302 5 "-" "-" 3219 "entrypoint redirect for http" "/" 0ms
10.135.133.233 - - [17/Jun/2019:23:44:58 +0000] "GET / HTTP/1.0" 302 5 "-" "-" 3220 "entrypoint redirect for http" "/" 0ms
10.244.0.1 - - [17/Jun/2019:23:44:58 +0000] "GET / HTTP/1.0" 302 5 "-" "-" 3221 "entrypoint redirect for http" "/" 0ms
10.244.2.1 - - [17/Jun/2019:23:44:58 +0000] "GET / HTTP/1.0" 302 5 "-" "-" 3222 "entrypoint redirect for http" "/" 0ms
10.244.0.1 - - [17/Jun/2019:23:44:58 +0000] "GET / HTTP/1.0" 302 5 "-" "-" 3223 "entrypoint redirect for http" "/" 0ms
10.244.2.1 - - [17/Jun/2019:23:44:58 +0000] "GET / HTTP/1.0" 302 5 "-" "-" 3224 "entrypoint redirect for http" "/" 0ms
10.135.133.233 - - [17/Jun/2019:23:44:58 +0000] "GET / HTTP/1.0" 302 5 "-" "-" 3225 "entrypoint redirect for http" "/" 0ms
10.244.2.1 - - [17/Jun/2019:23:44:59 +0000] "GET / HTTP/1.0" 302 5 "-" "-" 3226 "entrypoint redirect for http" "/" 0ms
10.244.0.1 - - [17/Jun/2019:23:44:59 +0000] "GET / HTTP/1.0" 302 5 "-" "-" 3227 "entrypoint redirect for http" "/" 0ms
{"level":"debug","msg":"Received Kubernetes event kind *v1.Endpoints","time":"2019-06-17T23:44:59Z"}
{"level":"debug","msg":"Skipping Kubernetes event kind *v1.Endpoints","time":"2019-06-17T23:44:59Z"}
{"level":"debug","msg":"Received Kubernetes event kind *v1.Endpoints","time":"2019-06-17T23:44:59Z"}
{"level":"debug","msg":"Skipping Kubernetes event kind *v1.Endpoints","time":"2019-06-17T23:44:59Z"}
10.244.0.1 - - [17/Jun/2019:23:44:59 +0000] "GET / HTTP/1.0" 302 5 "-" "-" 3228 "entrypoint redirect for http" "/" 0ms
10.244.2.1 - - [17/Jun/2019:23:45:00 +0000] "GET / HTTP/1.0" 302 5 "-" "-" 3229 "entrypoint redirect for http" "/" 0ms
10.135.162.241 - - [17/Jun/2019:23:45:00 +0000] "GET / HTTP/1.0" 302 5 "-" "-" 3230 "entrypoint redirect for http" "/" 0ms
10.135.162.241 - - [17/Jun/2019:23:45:00 +0000] "GET / HTTP/1.0" 302 5 "-" "-" 3231 "entrypoint redirect for http" "/" 0ms
Logs from 6/17/19 11:44 PM to 6/17/19 11:45 PM UTC
Я много чего пробовал, прямо сейчас я явно не эксперт в k8s!
Вот модифицированная версия моего helm-values.yaml
:
ssl:
enabled: true
enforced: true
insecureSkipVerify: false
permanentRedirect: false
debug:
enabled: true
accessLogs:
enabled: true
acme:
enabled: true
staging: true
logging: true
email: email@dontworry.co
challengeType: "dns-01"
dnsProvider:
name: digitalocean
digitalocean:
DO_AUTH_TOKEN: "MY_DO_AUTH_TOKEN"
persistence:
enabled: true
domains:
enabled: true
domainsList:
- main: "*.mydomain.cloud"
service:
annotations:
service.beta.kubernetes.io/do-loadbalancer-certificate-id: "A_CERTIFICATE_ID_VALID"
service.beta.kubernetes.io/do-loadbalancer-protocol: "https"
service.beta.kubernetes.io/do-loadbalancer-algorithm: "round_robin"
service.beta.kubernetes.io/do-loadbalancer-tls-ports: "443"
metrics:
prometheus:
enabled: false
rbac:
enabled: true
replicas: 1
dashboard:
enabled: true
domain: traefik.mydomain.cloud
auth:
basic:
traefik: # generated with : htpasswd -c traefik traefik
ingress:
annotations:
kubernetes.io/ingress.class: traefik
И здесь один Ingress используется для доступа к моему API:
---
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
annotations:
kubernetes.io/ingress.class: traefik
traefik.frontend.rule.type: PathPrefixStrip
name: domain-network
spec:
rules:
- host:
http:
paths:
- path: /
backend:
serviceName: domain-service-gateway
servicePort: http
Конечно, domain-service-gateway
- это служба, незащищенный порт - 80.
Доступен весь кластербез настроек SSL / HTTPS, но при включении ... 502 плохой шлюз!
Это должно работать, но я думаю, что я упускаю что-то важное здесь.
Я надеюсь, что боги StackOverflow услышатмои молитвы:)
Большое спасибо за то, что прочитал все и попытался помочь мне!