如评论中所述:
第一个指针是为 GKE 启用 IAP,您启用 IAP 并使用Backendconfig设置您的入口以将其定向到服务/pod。
然后你更新了你的问题,这里是故障排除BackendConfig
:
注意:GKE 版本 1.16.8-gke.3 及更高版本支持 cloud.google.com/v1 CRD API 版本。
所有较低的 GKE 版本都应使用 cloud.google.com/v1beta1。
由于您尝试使用 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 上的复制:
- 我首先尝试按照您的
backendconfig.yaml
示例部署为 v1:
$ kubectl apply -f backendconfig.yaml
error: unable to recognize "backendconfig.yaml": no matches for kind "BackendConfig" in version "cloud.google.com/v1"
$ 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
如果您仍有任何问题,请添加评论,我们将进一步挖掘。