Насколько я вижу, вы должны исправить вашу виртуальную службу.
Я подготовил небольшой пример с helm и keycloak helm chart .
Сохраните это как keycloak.yaml, здесь вы можете настроить свой пароль keycloak.
keycloak:
service:
type: ClusterIP
password: mykeycloakadminpasswd
persistence:
deployPostgres: true
dbVendor: postgres
Установить keycloak со штурвалом и значениями, подготовленными выше.
helm upgrade --install keycloak stable/keycloak -f keycloak.yml
Создание шлюза и виртуальной службы
apiVersion: networking.istio.io/v1alpha3
kind: Gateway
metadata:
name: keycloak-gateway
spec:
selector:
istio: ingressgateway # use istio default controller
servers:
- port:
number: 80
name: http
protocol: HTTP
hosts:
- "*"
---
apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
name: keycloak
spec:
hosts:
- "*"
gateways:
- keycloak-gateway
http:
- match:
- uri:
prefix: /auth
- uri:
prefix: /keycloak
rewrite:
uri: /auth
route:
- destination:
host: keycloak-http
port:
number: 80
виртуальная служба route.host
- это имя kubernetes keycloak pod служба .
kubectl get sv c
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
keycloak-http ClusterIP 10.0.14.36 <none> 80/TCP 22m
Вы должны иметь возможность подключиться к keycloak через ваш ingress_gateway_ip / keycloak или ingress_gateway_ip / auth и войти с учетными данными keycloak, в моем примере это login: keycloak
и password: mykeycloakadminpasswd
.
Обратите внимание , что вам нужно добавить префикс для / auth, так как это веб-клавиатура по умолчанию, чтобы делать все. Префикс Keycloak просто переписать сюда / auth.