为 Kubernetes 命名空间设置部署锁?
Setting a deployment lock for Kubernetes namespace?
我想使用多项服务进行系统测试。在测试期间,我想防止对给定名称空间进行部署,以便拥有稳定的环境。有没有可能有这样的锁?
我的用例是CI/CD流程:
我将有 bitbucket / gitlab 管道,部署一个服务。然后我想在命名空间内的多个服务之间执行系统测试。在此系统测试期间,我想阻止部署以使测试更稳定。
您可以使用 RBAC with a Role 仅限于单个命名空间。
---
apiVersion: v1
kind: ServiceAccount
metadata:
name: user
namespace: mynamespace
---
kind: Role
apiVersion: rbac.authorization.k8s.io/v1beta1
metadata:
name: user-full-access
namespace: mynamespace
rules:
- apiGroups: ["", "extensions", "apps"]
resources: ["*"]
verbs: ["*"]
- apiGroups: ["batch"]
resources:
- jobs
- cronjobs
verbs: ["*"]
---
kind: RoleBinding
apiVersion: rbac.authorization.k8s.io/v1beta1
metadata:
name: mynamespace-user-view
namespace: mynamespace
subjects:
- kind: ServiceAccount
name: user
namespace: mynamespace
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: Role
name: user-full-access
我想使用多项服务进行系统测试。在测试期间,我想防止对给定名称空间进行部署,以便拥有稳定的环境。有没有可能有这样的锁?
我的用例是CI/CD流程:
我将有 bitbucket / gitlab 管道,部署一个服务。然后我想在命名空间内的多个服务之间执行系统测试。在此系统测试期间,我想阻止部署以使测试更稳定。
您可以使用 RBAC with a Role 仅限于单个命名空间。
---
apiVersion: v1
kind: ServiceAccount
metadata:
name: user
namespace: mynamespace
---
kind: Role
apiVersion: rbac.authorization.k8s.io/v1beta1
metadata:
name: user-full-access
namespace: mynamespace
rules:
- apiGroups: ["", "extensions", "apps"]
resources: ["*"]
verbs: ["*"]
- apiGroups: ["batch"]
resources:
- jobs
- cronjobs
verbs: ["*"]
---
kind: RoleBinding
apiVersion: rbac.authorization.k8s.io/v1beta1
metadata:
name: mynamespace-user-view
namespace: mynamespace
subjects:
- kind: ServiceAccount
name: user
namespace: mynamespace
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: Role
name: user-full-access