Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-cloud-platform/3.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
将Traefik设置为GCP上的Kubernetes入口_Kubernetes_Google Cloud Platform_Traefik_Google Kubernetes Engine - Fatal编程技术网

将Traefik设置为GCP上的Kubernetes入口

将Traefik设置为GCP上的Kubernetes入口,kubernetes,google-cloud-platform,traefik,google-kubernetes-engine,Kubernetes,Google Cloud Platform,Traefik,Google Kubernetes Engine,我试图遵循以下Traefik用户指南: 《用户指南》和我的设置之间的关键区别在于,该指南假定我在Minikube上,而我正试图在Google云平台(GCP)上获得此设置。我是Kubernetes的新手,但我认为我对基本面有一个不错的把握 无论如何,关于上面的《用户指南》中介绍的基于角色的访问控制配置,我经常遇到以下错误: 服务器错误(禁止):创建“rbac.yml”时出错:cl usterroles.rbac.authorization.k8s.io“traefik入口控制器”被禁止:尝试授予额

我试图遵循以下Traefik用户指南:

《用户指南》和我的设置之间的关键区别在于,该指南假定我在Minikube上,而我正试图在Google云平台(GCP)上获得此设置。我是Kubernetes的新手,但我认为我对基本面有一个不错的把握

无论如何,关于上面的《用户指南》中介绍的基于角色的访问控制配置,我经常遇到以下错误:

服务器错误(禁止):创建“rbac.yml”时出错:cl usterroles.rbac.authorization.k8s.io“traefik入口控制器”被禁止:尝试授予额外权限:[PolicyRule{Resources:[“services”],APIGroups:[“”],动词:[“get”]}PolicyRule{Resource ces:[“服务”]、APIGroups:[“”]、动词:[“列表”]}PolicyRule{Resources:[“服务”]、APIGroups:[“”]、动词:[“监视”]}PolicyRule{Resources:[“端点”]、APIGroups:[“”]、动词:[“获取”]}PolicyRule{Res 资源:[“端点”]、APIGroups:[“”]、动词:[“列表”]}PolicyRule{Resources:[“端点”]、APIGroups:[“”]、动词:[“监视”]}PolicyRule{Resources:[“机密”]、APIGroups:[“”]、动词:[“获取”]}PolicyRule{ 资源:[“机密”],APIGroups:[“”],动词:[“列表”]}PolicyRule{Resources:[“机密”],APIGroups:[“”],动词:[“监视”]}PolicyRule{Resources:[“入口”],APIGroups:[“扩展”],动词:[“获取”]} PolicyRule{Resources:[“ingresses”],APIGroups:[“extensions”],动词:[“list”]}PolicyRule{Resources:[“ingresses”],APIGroups:[“extensions”],动词:[“watch”]}用户=&{evan@sherwood.io[系统:authenti cated]map[authenticator:[GKE]}ownerrules=[PolicyRule{Resources:[“selfsubjectaccessreviews”],APIgroup:[“authorization.k8s.io”],动词:[“create”]}PolicyRule{Resources:[“selfsubjectrulesreviews”], api组:[“authorization.k8s.io”],动词:[“create”]}PolicyRule{nonresourceURL:[“/api”“/api/”“/api/”“/healthz”“/swagger-2.0.0.pb-v1”“/swagger.json”“/swaggerapi”“/swaggerapi/*”/ 版本“],动词:[“获取”]}]ruleResolutionErrors=[]


我觉得我遇到了问题,但我不确定我需要做什么改变/做什么来克服这个问题。

正如您引用的文档所述,您需要提升您的用户权限,至少在允许RBAC规则更改所必需的程度上

实现这一点的最简单方法是添加一个ClusterRoleBinding,该Binding分配
集群管理员
权限。YAML将如下所示:

apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
  name: megacorp-cluster-admin
roleRef:
  apiGroup: rbac.authorization.k8s.io
  kind: ClusterRole
  name: cluster-admin
subjects:
- apiGroup: rbac.authorization.k8s.io
  kind: User
  name: john.doe@megacorp.com
YAML假设您在GKE注册的用户电子邮件地址是
john。doe@megacorp.com
。在
kubectl应用
ing该清单之后,应该应用相应的扩展Traefik的RBAC规则


请注意,
cluster admin
基本上是集群的根用户。如果您打算进一步限制权限,也可以选择更多的权限。

正如您引用的文档所述,您需要升级用户的权限,至少升级到允许RBAC规则更改所必需的程度

实现这一点的最简单方法是添加一个ClusterRoleBinding,该Binding分配
集群管理员
权限。YAML将如下所示:

apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
  name: megacorp-cluster-admin
roleRef:
  apiGroup: rbac.authorization.k8s.io
  kind: ClusterRole
  name: cluster-admin
subjects:
- apiGroup: rbac.authorization.k8s.io
  kind: User
  name: john.doe@megacorp.com
YAML假设您在GKE注册的用户电子邮件地址是
john。doe@megacorp.com
。在
kubectl应用
ing该清单之后,应该应用相应的扩展Traefik的RBAC规则

请注意,
cluster admin
基本上是集群的根用户。如果您打算进一步限制权限,也可以选择更多的权限