【问题标题】:Kubernetes Deployment Error from server (Forbidden): error when retrieving current configuration来自服务器的 Kubernetes 部署错误(禁止):检索当前配置时出错
【发布时间】:2019-01-19 06:54:18
【问题描述】:

我正在尝试将我的网络服务部署到 Google Container Engine:

这是我的 deployment.yaml:

apiVersion: extensions/v1beta1
kind: Deployment
metadata:
  name: handfree
  labels:
    app: handfree
spec:
  replicas: 3
  template:
    metadata:
      labels:
        app: handfree
    spec:
      containers:
      - name: handfree
        image: arycloud/mysecretrepo:latest
        imagePullPolicy: Always
        #Ports to expose
        ports:
        - name: api_port
          containerPort: 8000 

这是我的 service.yaml:

kind: Service
apiVersion: v1
metadata:
  #Service name
  name: judge
spec:
  selector:
    app: handfree
  ports:
    - protocol: TCP
      port: 8000
      targetPort: 8000
  type: LoadBalancer  

我在 Google Container Engine 上创建了一个集群大小为 4 和 8 个 vCPU 的集群,我已通过使用来自该集群的连接链接的命令成功获取凭据。

当我尝试运行 deployment.yml 时,它返回错误:

来自服务器的错误(禁止):检索当前配置时出错:default handfree deployment.yaml

来自服务器:“deployment.yaml” deployments.extensions “handfree”被禁止:用户“client”无法在命名空间“default”中获取 deployments.extensions:未知用户“client”。

我是 Kubernetes 世界的新手,请帮助我!

提前致谢!

【问题讨论】:

    标签: docker kubernetes google-kubernetes-engine kubernetes-deployment


    【解决方案1】:

    未知用户“客户”。

    表示没有RoleBindingClusterRoleBindingtype: Usersubjects:name:client

    解决方法是创建一个ClusterRoleBindingRoleBinding -- 取决于您是否希望client 能够访问每个 Namespace 或只是default -- 并指出它位于现有的(或创建的)RoleClusterRole。坏消息是,由于您当前的凭证无效,您需要追踪 cluster-admin 凭证才能进行此类更改。由于我没有使用过 GKE,因此无法指定具体步骤。

    我知道这些段落充满了行话,对此我很抱歉 - 这是一个复杂的话题。有几个 RBAC 汇总,包括 recent one from GitLabCNCF webinarone from Sysdig,以及(当然)the kubernetes docs

    【讨论】:

      猜你喜欢
      • 2018-11-30
      • 2020-09-15
      • 1970-01-01
      • 1970-01-01
      • 2018-08-21
      • 1970-01-01
      • 2021-08-24
      • 1970-01-01
      • 2014-05-28
      相关资源
      最近更新 更多