如何在GCP Kubernetes引擎中通过IAP将用户请求基于用户ID路由到特定的docker容器上

问题描述 投票:2回答:1

我正在尝试为GCP Kubernetes Engine提出一个hello-world原型,使用IAP为特定用户分配一个容器,并将这个用户的所有请求只路由到这个容器。这是为了在一个完全隔离的环境中保护用户敏感信息。

我按照@wilrof的建议 "为GKE启用IAP",在为BackendConfig添加iap块时卡住了,如下所示。

apiVersion: cloud.google.com/v1  
kind: BackendConfig  
metadata:  
  name: config-default
  namespace: my-namespace  
spec:
  iap:
    enabled: true
    oauthclientCredentials:
      secretName: my-secret

当我运行 "kubectl apply -f backendconfig.yaml "时,它抱怨说在版本 "cloud.google.comv1 "中没有匹配的种类 "BackendConfig"。我将第一行改为cloud.google.comv1beta1,然后它说没有找到命名空间 "my-namepace"。不知道该从哪里下手。

google-kubernetes-engine google-iap
1个回答
0
投票

正如评论中提到的。

第一个指针是 启用GKE的IAP,您可以启用IAP并使用 后台配置 来设置你的摄取量引导到servicepod。


然后你更新了你的问题,这里是故障处理的问题。BackendConfig:

说明:: GKE 版本 1.16.8-gke.3 及以上版本支持 cloud.google.comv1 CRD API 版本。

所有较低的 GKE 版本都应该使用 cloud.google.comv1beta1。

  • 由于您尝试使用v1运行,并得到了 no matches for kind "BackendConfig" in version "cloud.google.com/v1" 我猜你运行的版本比1.16.8-gke.3老。

  • 至于这个错误 namespaces "my-namespace" not found,确保你的工作命名空间被称为 "my-namespace",记得kubernetes的默认命名空间是 default.


在v1.15.11-gke.12上转载。

  • 我首先尝试以你的V1版本部署。backendconfig.yaml 例。
$ kubectl apply -f backendconfig.yaml 
error: unable to recognize "backendconfig.yaml": no matches for kind "BackendConfig" in version "cloud.google.com/v1"
  • 改为 v1beta1 并应用。
$ cat backendconfig.yaml 
apiVersion: cloud.google.com/v1beta1
kind: BackendConfig  
metadata:  
  name: config-default
  namespace: my-namespace  
spec:
  iap:
    enabled: true
    oauthclientCredentials:
      secretName: my-secret

$ kubectl apply -f backendconfig.yaml 
Error from server (NotFound): error when creating "backendconfig.yaml": namespaces "my-namespace" not found
  • 检查当前配置的命名空间
owilliam@owilliam:~/GKE/backendconfig$ kubectl get namespaces
NAME              STATUS   AGE
default           Active   5m35s
kube-node-lease   Active   5m37s
kube-public       Active   5m37s
kube-system       Active   5m37s
  • 我将创建一个命名空间 my-namespace 并尝试再次申请。
$ kubectl create namespace my-namespace
namespace/my-namespace created

$ kubectl apply -f backendconfig.yaml 
backendconfig.cloud.google.com/config-default created

如果你仍有任何问题,请添加评论,我们将进一步挖掘。

© www.soinside.com 2019 - 2024. All rights reserved.