带有限空间访问权限的大三角帆

时间:2018-09-20 17:20:05

标签: kubernetes spinnaker spinnaker-halyard

我正在尝试使用kubernetes设置大三角帆并出现错误:用户无法列出名称空间。

我无权访问集群范围内的列表名称空间。是否可以在群集范围内设置和应用半配置而不访问列表名称空间?如果是,请让我知道步骤。

下面我提到该命令以供参考:

hal deploy apply
+ Get current deployment
  Success
- Prep deployment
  Failure
Problems in default.provider.kubernetes.my-k8s-account:
! ERROR Unable to communicate with your Kubernetes cluster: Failure
  executing: GET at: https://<company>/api/v1/namespaces. Message:
  Forbidden! User apc doesn't have permission. namespaces is forbidden: User
  "system:anonymous" cannot list namespaces at the cluster scope..
? Unable to authenticate with your Kubernetes cluster. Try using
  kubectl to verify your credentials.

- Failed to prep Spinnaker deployment

$ kubectl get ns
No resources found.
Error from server (Forbidden): namespaces is forbidden: User "ds:uid:2319639648" cannot list namespaces at the cluster scope

关于, 阿贾兹

2 个答案:

答案 0 :(得分:1)

简短回答:否。

您可以尝试让您的管理员为您提供对有权访问已读取名称空间的ClusterRole + RoleBinding的访问权限。

类似这样的东西:

kind: ClusterRole
apiVersion: rbac.authorization.k8s.io/v1
metadata:
  name: namespace-reader
rules:
- apiGroups: [""]
  resources: ["namespaces"]
  verbs: ["get", "watch", "list"]

---
kind: ClusterRoleBinding
apiVersion: rbac.authorization.k8s.io/v1
metadata:
  name: read-all-namespaces
subjects:
- kind: User
  name: your-user
  apiGroup: rbac.authorization.k8s.io
roleRef:
  kind: ClusterRole
  name: namespace-reader
  apiGroup: rbac.authorization.k8s.io

答案 1 :(得分:1)

您可以在没有ClusterRole的情况下进行操作。 经过测试,按预期工作。

请参见instruction

Configure Spinnaker to install in Kubernetes

重要:默认情况下,这将限制您的Spinnaker部署到指定的名称空间。如果您希望能够部署到其他名称空间,请添加第二个云提供程序目标或删除--namespaces标志。

使用Halyard hal命令行工具将Halyard配置为在Kubernetes集群中安装Spinnaker

hal config deploy edit \
  --type distributed \
  --account-name ${ACCOUNT_NAME} \
  --location ${NAMESPACE}