Обучение k8s + istio здесь. Я установил 2 узла + 1 мастер-кластер с kops
. У меня есть Istio в качестве контроллера доступа. Я пытаюсь настроить OID C Auth для фиктивной nginx службы. У меня супер странная ошибка. Я понятия не имею, откуда она.
Итак, у меня есть
- Сервис Keycloak
- Nginx Сервис
Служба keycloak
работает на keycloak.example.com
Служба nginx
работает на example.com
Для AWS существует Classi c ELB. Существуют DNS-записи Route53 для
ALIAS example.com dualstack.awdoijawdij.amazonaws.com
ALIAS keycloak.example.com dualstack.awdoijawdij.amazonaws.com
Когда я настраивал службу keycloak, и была только эта служба, у меня не было проблем. Но когда я добавил фиктивную службу nginx, я начал получать ее.
Я бы использовал firefox до go для keycloak.example.com и получил 404. Если я сделаю жесткую ссылку sh, затем страница загружается.
Тогда я go отправлюсь на example.com и получу 404. Если я сделаю полную ссылку sh, то страница загрузится.
Если я сделаю полную ссылку sh на одной странице, затем, когда я go перехожу на другую страницу, мне придется выполнить полную перезагрузку, или я получу 404. Как будто какая-то запись DNS переключается между этими двумя вещами всякий раз, когда я выполняю жесткую ссылку sh. Я понятия не имею, как отладить это.
Если я
Тогда все хорошо. Похоже, проблема возникает только в браузере.
Я пытался открыть страницы в режиме инкогнито, но проблема сохраняется.
Может кто-нибудь помочь мне отладить это?
apiVersion: apps/v1
kind: Deployment
metadata:
name: nginx-deployment
labels:
app: nginx
spec:
replicas: 2
selector:
matchLabels:
app: nginx
template:
metadata:
labels:
app: nginx
spec:
containers:
- name: nginx
image: nginx:latest
ports:
- containerPort: 80
---
apiVersion: v1
kind: Service
metadata:
name: nginx
spec:
ports:
- port: 80
name: http
protocol: TCP
selector:
app: nginx
---
apiVersion: networking.istio.io/v1beta1
kind: Gateway
metadata:
name: nginx-gateway
spec:
selector:
istio: ingressgateway
servers:
- port:
number: 80
name: http
protocol: HTTP
tls:
httpsRedirect: true
hosts:
- "example.com"
- port:
number: 443
name: https
protocol: HTTPS
tls:
mode: SIMPLE
credentialName: ingress-cert
hosts:
- "example.com"
---
apiVersion: networking.istio.io/v1beta1
kind: VirtualService
metadata:
name: nginx
spec:
hosts:
- "example.com"
gateways:
- nginx-gateway
http:
- route:
- destination:
port:
number: 80
host: nginx
---
apiVersion: networking.istio.io/v1beta1
kind: Gateway
metadata:
name: keycloak-gateway
spec:
selector:
istio: ingressgateway
servers:
- port:
number: 80
name: http
protocol: HTTP
tls:
httpsRedirect: true
hosts:
- "keycloak.example.com"
- port:
number: 443
name: https
protocol: HTTPS
tls:
mode: SIMPLE
credentialName: ingress-cert
hosts:
- "keycloak.example.com"
---
apiVersion: networking.istio.io/v1beta1
kind: VirtualService
metadata:
name: keycloak
spec:
hosts:
- "keycloak.example.com"
gateways:
- keycloak-gateway
http:
- route:
- destination:
port:
number: 80
host: keycloak-http