Как развернуть приложения в кластерах с выделением доступа разработчикам?

План действий:

  1. Развернуть кластер;
  2. Нарезать неймспейсы;
  3. Назначить права доступа;
  4. Создать проекты в Argo CD.

Штурвал позволяет выполнить эти шаги в ручном (из интерфейса или консоли) и автоматическом режимах (команды, встроенные в пайплайны). Далее для каждого шага будут даны варианты использования.

Из графического интерфейса

Из консоли

Создать кластеры с помощью API .

Для создания неймспейса используйте команду:

kubectl create namespace my-namespace

Для назначения прав доступа используйте команду:

kubectl create rolebinding admin --clusterrole=admin --user=user1 --user=user2 --group=group1

Для создания проекта в ArgoCD cоздайте манифест argoproj.yaml и примените его в неймспейсе по инструкции ниже:

apiVersion: argoproj.io/v1alpha1
kind: AppProject
metadata:
  name: namespacename
  namespace: shturval-cd
spec:
  clusterResourceBlacklist:
    - group: '*'
      kind: '*'
  destinations:
    - namespace: namespacename
      server: https://kubernetes.default.svc

Создать проект в ArgoCD:

kubectl apply -f argoproj.yaml
# получаем ingress для argocd 
kubectl get ingress -n shturval-cd
# устанавливаем аннотацию в namespace что проект создан
kubectl annotate namespace \
namespacename arocd-project=https://argocd.apps.namespace-ingress.shturval.link/applications\?proj\=namespacename