Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/kubernetes/5.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
为Kubernetes命名空间设置部署锁?_Kubernetes_Locking_Gitlab_Bitbucket Pipelines - Fatal编程技术网

为Kubernetes命名空间设置部署锁?

为Kubernetes命名空间设置部署锁?,kubernetes,locking,gitlab,bitbucket-pipelines,Kubernetes,Locking,Gitlab,Bitbucket Pipelines,我想使用多个服务执行系统测试。在测试期间,我希望防止对给定名称空间进行部署,以便拥有稳定的环境。有可能有这样的锁吗 我的用例是CI/CD流: 我将使用bitbucket/gitlab管道,部署一个服务。然后,我想在名称空间内的多个服务之间执行系统测试。在此系统测试期间,我希望防止部署,以使测试更加稳定。您可以使用一个有限的名称空间 --- apiVersion: v1 kind: ServiceAccount metadata: name: user namespace: mynames

我想使用多个服务执行系统测试。在测试期间,我希望防止对给定名称空间进行部署,以便拥有稳定的环境。有可能有这样的锁吗

我的用例是CI/CD流:

我将使用bitbucket/gitlab管道,部署一个服务。然后,我想在名称空间内的多个服务之间执行系统测试。在此系统测试期间,我希望防止部署,以使测试更加稳定。

您可以使用一个有限的名称空间

---
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

我如何以编程方式设置释放这样的锁?简单的方法是调用
kubectl delete rolebinding
如果愿意,也可以直接调用kubeapi服务。在一些编程语言SOK中有客户机库,这听起来很有希望。我已经更新了我的问题。我将使用管道。因此,在测试之前,我需要获取
,完成后,需要释放