У меня есть развертывание Kibana K8s в IBM Cloud. Он предоставляется через службу ClusterIP k8s, вход K8s, и доступен для одного пользователя Cloud Directory, аутентифицированного через IBM Cloud App ID.
Kubernetes правильно перенаправляет на экран входа в систему App ID. Проблема в том, что развертывание Kibana недоступно после успешной аутентификации AppID. Я получаю 301 постоянно перемещенных в цикле.
То же развертывание k8s, что и выше, предоставляется через NodePort k8s и работает нормально.
Та же настройка, что и выше, работает правильно для простого приложения hello-world с аутентификацией.
Я следовал этому учебнику .
В настройках аутентификации идентификатора приложения URL-адрес перенаправления:
https://our -области / приложение / kibana / appid_callback
Вот части определений k8, которые имеют отношение:
---
kind: Service
apiVersion: v1
metadata:
name: kibana-sec
namespace: default
labels:
app: kibana-sec
spec:
type: ClusterIP
ports:
- name: http
protocol: TCP
port: 8080
targetPort: 5601
selector:
app: kibana-sec
---
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
annotations:
ingress.bluemix.net/redirect-to-https: "True"
ingress.bluemix.net/appid-auth: "bindSecret=<our-bindSecret> namespace=default requestType=web serviceName=kibana-sec"
...
spec:
rules:
- host: <our-domain>
http:
paths:
...
- backend:
serviceName: kibana-sec
servicePort: 8080
path: /app/kibana/
tls:
- hosts:
- <our-domain>
secretName: <our-secretName>
status:
loadBalancer:
ingress:
- ip: <IPs>
- ip: <IPs>
Для нашего сервиса нет аннотации "ingress.bluemix.net/rewrite-path".