Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/kubernetes/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在IBM Cloud Kubernetes服务中使用IBM应用程序ID时不会触发身份验证过程_Kubernetes_Ibm Cloud_Kubernetes Ingress_Ibm Appid - Fatal编程技术网

在IBM Cloud Kubernetes服务中使用IBM应用程序ID时不会触发身份验证过程

在IBM Cloud Kubernetes服务中使用IBM应用程序ID时不会触发身份验证过程,kubernetes,ibm-cloud,kubernetes-ingress,ibm-appid,Kubernetes,Ibm Cloud,Kubernetes Ingress,Ibm Appid,我正在尝试使用此功能: 我已经按照文档中的步骤进行了操作,但是没有触发身份验证过程。不幸的是,我没有看到任何错误,也不知道还能做什么 这是我的示例服务(nginx.yaml): 这是我的示例服务(ingres.yaml)。将“niklas-heidloff-4”替换为您的群集名称,“niklas-heidloff appid”替换为您的应用程序ID服务实例的名称 apiVersion: extensions/v1beta1 kind: Ingress metadata: name: ingr

我正在尝试使用此功能:

我已经按照文档中的步骤进行了操作,但是没有触发身份验证过程。不幸的是,我没有看到任何错误,也不知道还能做什么

这是我的示例服务(nginx.yaml):

这是我的示例服务(ingres.yaml)。将“niklas-heidloff-4”替换为您的群集名称,“niklas-heidloff appid”替换为您的应用程序ID服务实例的名称

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: ingress-with-app-id
  annotations:   
    ingress.bluemix.net/appid-auth: "bindSecret=binding-niklas-heidloff-appid namespace=default requestType=web"
spec:
  tls:
  - hosts:
    - niklas.niklas-heidloff-4.us-south.containers.appdomain.cloud
    secretName: niklas-heidloff-4
  rules:
  - host: niklas.niklas-heidloff-4.us-south.containers.appdomain.cloud
    http:
      paths:
      - path: /
        backend:
          serviceName: nginx
          servicePort: 80
以下是复制样本的步骤:

首先,按照文档中的描述,在Dallas创建一个至少有两个工作节点的新集群。请注意,为集群获取公共IP可能需要一些额外的时间

然后创建一个应用程序ID服务实例

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: ingress-with-app-id
  annotations:   
    ingress.bluemix.net/appid-auth: "bindSecret=binding-niklas-heidloff-appid namespace=default requestType=web"
spec:
  tls:
  - hosts:
    - niklas.niklas-heidloff-4.us-south.containers.appdomain.cloud
    secretName: niklas-heidloff-4
  rules:
  - host: niklas.niklas-heidloff-4.us-south.containers.appdomain.cloud
    http:
      paths:
      - path: /
        backend:
          serviceName: nginx
          servicePort: 80
然后调用以下命令(将“niklas-heidloff-4”替换为集群名称):


在此之后,我可以打开“”,但未触发身份验证过程,并且页面在未进行身份验证的情况下打开

我尝试了中提到的步骤,这就是它对我的作用

ingress.yaml

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: myingress
  annotations:
    ingress.bluemix.net/appid-auth: "bindSecret=binding-appid-ks namespace=default requestType=web serviceName=nginx idToken=false"
spec:
  tls:
    - hosts:
        - test.vidya-think-cluster.us-south.containers.appdomain.cloud
      secretName: vidya-think-cluster
  rules:
    - host: test.vidya-think-cluster.us-south.containers.appdomain.cloud
      http:
        paths:
          - path: /
            backend:
              serviceName: nginx
              servicePort: 80
我在App ID service-
http://test.vidya-think-cluster.us-south.containers.appdomain.cloud/appid_callback

现在,当您尝试在
http://test.vidya-think-cluster.us-south.containers.appdomain.cloud/
您应该看到重定向到应用程序ID

看起来
idToken=false
是一个强制参数,因为运行
kubectl descripe myingres


错误:未能应用ingress.bluemix.net/appid-auth注释。错误注释格式错误:注释ingress.bluemix.net/appid auth的一个必填字段无效/缺失

我在本教程中看到的唯一区别是ingress auth包含了服务名称:谢谢Henrik。我也尝试过使用服务名称,但没有成功。
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: myingress
  annotations:
    ingress.bluemix.net/appid-auth: "bindSecret=binding-appid-ks namespace=default requestType=web serviceName=nginx idToken=false"
spec:
  tls:
    - hosts:
        - test.vidya-think-cluster.us-south.containers.appdomain.cloud
      secretName: vidya-think-cluster
  rules:
    - host: test.vidya-think-cluster.us-south.containers.appdomain.cloud
      http:
        paths:
          - path: /
            backend:
              serviceName: nginx
              servicePort: 80