具有多个命名空间的 Kubernetes 集群上下文
Kubernetes Cluster Context with Multiple Namespaces
我有一个庞大的管道,其中包含具有多个权限级别的不同开发人员组。(使用 Jenkins Kubernetes 插件。)
例如 QA 团队和 Developer 团队在 kubernetes 集群中有不同的服务帐户。
所以我需要创建一些与 kubernetes 集群的连接,但每个连接我都会使用命名空间名称更改集群的上下文。
我想在 kubernetes 上下文中使用多个命名空间。
那是我自己的 kubernetes 上下文文件。
- context:
cluster: minikube
namespace: user3
user: minikube
如何使用 kubernetes api 调用或在 yaml 文件中处理这个问题?
那是我的示例服务帐户 yaml 文件。
apiVersion: v1
kind: ServiceAccount
metadata:
name: dev
kind: Role
apiVersion: rbac.authorization.k8s.io/v1beta1
metadata:
name: dev
rules:
- apiGroups: [""]
resources: ["pods"]
verbs: ["create","delete","get","list","patch","update","watch"]
- apiGroups: [""]
resources: ["pods/exec"]
verbs: ["create","delete","get","list","patch","update","watch"]
- apiGroups: [""]
resources: ["pods/log"]
verbs: ["get","list","watch"]
- apiGroups: [""]
resources: ["secrets"]
verbs: ["get"]
apiVersion: rbac.authorization.k8s.io/v1beta1
kind: RoleBinding
metadata:
name: dev
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: Role
name: dev
subjects:
- kind: ServiceAccount
name: dev
如果您希望一个 jenkins 使用不同的服务帐户与 kubernetes API 对话,您需要在配置中创建多个 Jenkins "clouds",每个都有不同的凭据。然后在您的管道中设置 "cloud" 选项以选择正确的
我有一个庞大的管道,其中包含具有多个权限级别的不同开发人员组。(使用 Jenkins Kubernetes 插件。)
例如 QA 团队和 Developer 团队在 kubernetes 集群中有不同的服务帐户。
所以我需要创建一些与 kubernetes 集群的连接,但每个连接我都会使用命名空间名称更改集群的上下文。
我想在 kubernetes 上下文中使用多个命名空间。 那是我自己的 kubernetes 上下文文件。
- context:
cluster: minikube
namespace: user3
user: minikube
如何使用 kubernetes api 调用或在 yaml 文件中处理这个问题? 那是我的示例服务帐户 yaml 文件。
apiVersion: v1
kind: ServiceAccount
metadata:
name: dev
kind: Role
apiVersion: rbac.authorization.k8s.io/v1beta1
metadata:
name: dev
rules:
- apiGroups: [""]
resources: ["pods"]
verbs: ["create","delete","get","list","patch","update","watch"]
- apiGroups: [""]
resources: ["pods/exec"]
verbs: ["create","delete","get","list","patch","update","watch"]
- apiGroups: [""]
resources: ["pods/log"]
verbs: ["get","list","watch"]
- apiGroups: [""]
resources: ["secrets"]
verbs: ["get"]
apiVersion: rbac.authorization.k8s.io/v1beta1
kind: RoleBinding
metadata:
name: dev
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: Role
name: dev
subjects:
- kind: ServiceAccount
name: dev
如果您希望一个 jenkins 使用不同的服务帐户与 kubernetes API 对话,您需要在配置中创建多个 Jenkins "clouds",每个都有不同的凭据。然后在您的管道中设置 "cloud" 选项以选择正确的