0

我在 IBM Cloud 中有一个 Kibana 的 k8s 部署。它通过 ClusterIP k8s 服务(一个 k8s 入口)公开,并且可供通过 IBM Cloud App ID 认证的单个 Cloud Directory 用户访问。

Kubernetes 正确重定向到 App ID 登录屏幕。问题是成功 AppID 身份验证后无法访问 Kibana 部署。我在一个循环中得到301 Moved Permanently 。

与上面相同的 k8s 部署通过 k8s NodePort 公开并且工作正常。

与上述相同的设置适用于具有身份验证的简单 hello-world 应用程序。

我跟着这个教程

在 App ID Authentication Settings 中,重定向 URL 为: https://our-domain/app/kibana/appid_callback

以下是相关的 k8s 定义部分:

---
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”注释。

4

0 回答 0