Задать блокировку развертывания для пространства имен Kubernetes? - PullRequest
0 голосов
/ 23 сентября 2018

Я бы хотел провести системный тест, используя несколько сервисов.Во время тестирования я хотел бы предотвратить развертывание для данного пространства имен для обеспечения стабильной среды.Возможно ли иметь такую ​​блокировку?

Мой пример использования - поток CI / CD:

У меня будет конвейер bitbucket / gitlab, разверните сервис.Затем я хочу выполнить системные тесты среди нескольких служб в пространстве имен.Во время этого системного теста я хочу предотвратить развертывание, чтобы сделать тесты более стабильными.

1 Ответ

0 голосов
/ 23 сентября 2018

Вы можете использовать RBAC с ролью , ограниченной одним пространством имен.

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