#http #kubernetes #https #istio #hsts
#http #kubernetes #https #istio #hsts
Вопрос:
Недавно мы настроили Istio в нашем кластере, и во время нашего тестирования все работало нормально. Теперь мы подключились к Istio, но теперь наши службы не подключаются к порту 80; HTTPS работает, но нам нужно перенаправить HTTP на HTTPS.
Вот наша конфигурация установки Istio:
apiVersion: install.istio.io/v1alpha1
kind: IstioOperator
spec:
profile: default
components:
ingressGateways:
- enabled: true
k8s:
env:
- name: ISTIO_META_ROUTER_MODE
value: sni-dnat
hpaSpec:
maxReplicas: 5
metrics:
- resource:
name: cpu
targetAverageUtilization: 80
type: Resource
minReplicas: 1
scaleTargetRef:
apiVersion: apps/v1
kind: Deployment
name: istio-ingressgateway
resources:
limits:
cpu: 2000m
memory: 1024Mi
requests:
cpu: 100m
memory: 128Mi
service:
type: LoadBalancer
externalTrafficPolicy: Local
ports:
- name: status-port
port: 15021
targetPort: 15021
- name: http2
port: 80
targetPort: 8080
- name: https
port: 443
targetPort: 8443
- name: tls
port: 15443
targetPort: 15443
strategy:
rollingUpdate:
maxSurge: 100%
maxUnavailable: 25%
name: istio-ingressgateway
Комментарии:
1. Какая у вас версия istio? Не могли бы вы добавить
kubectl describe
свой входной шлюз? Не могли бы вы добавить yamls вашего шлюза istio с перенаправлением http-https?
Ответ №1:
Как насчет проверки Service
, созданной вашим IstioOperator
CR in istio-ingressgateway
? Вы создали службу Ingress Gateway
с LoadBalancer
типом. Затем вам следует настроить правила маршрутизации LB для портов http и https, которые вы указали в yaml.
Например, если ваша служба настроена со всеми портами следующим образом, то вам лучше проверить, прослушивается ли http-порт или открыт на вашем уровне LB. В моем примере LoadBalancer
тип интегрирован с AWS, и ELB также создается со всеми указанными мной портами. Логически это то же самое с другими платформами, просто отличается от конфигурации LB, которая автоматизирована или требуется для ее настройки вручную.
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S)
loadbalancer-ingressgateway LoadBalancer 172.30.68.12 xxxxxx.ap-northeast-1.elb.amazonaws.com 15021:30053/TCP,80:31829/TCP,443:32661/TCP,15443:30937/TCP
Комментарии:
1. кажется, что-то не так со шлюзом. Новая установка работает с http, но в тот момент, когда я добавляю https, все идет наперекосяк. Не удается даже выполнить пинг локальных служб кластера