Как выполнить развертывание в AWS Kubernetes из DevOps Azure - PullRequest
0 голосов
/ 06 июля 2019

Я использую Azure DevOps для обработки PBI, репозиториев, PRS и сборок, но вся моя инфраструктура, включая Kubernetes, управляется AWS.

Там нет документации, ни "правильного и простого способа""Как развернуть на AWS EKS с помощью задач Azure DevOps.

Я нашел это решение , это хорошее решение, но было бы здорово узнать, как вы, ребята, решаете его, или если естьбольше подходов.

Ответы [ 2 ]

0 голосов
/ 08 июля 2019

Другой вариант - использовать аутентификацию на основе kubeconf, где файл kubeconf можно получить с помощью следующей команды CLI AWS:

aws eks --region region update-kubeconfig --name cluster_name --kubconfig ~/.kube/AzureDevOpsConfig
0 голосов
/ 06 июля 2019

После исследования, попытки и неудачи я нашел другой способ сделать это, не возиться со скриптами оболочки.

Вам просто нужно применить следующее к Kubernetes, он создаст ServiceAccount и свяжет егодля пользовательской роли эта роль будет иметь права на создание / удаление развертываний и модулей (настройте их для разрешений служб).

deploy-robot-conf.yaml

apiVersion: v1
kind: ServiceAccount
metadata:
  name: deploy-robot
automountServiceAccountToken: false
---
apiVersion: v1
kind: Secret
metadata:
  name: deploy-robot-secret
  annotations:
    kubernetes.io/service-account.name: deploy-robot
type: kubernetes.io/service-account-token
---
kind: Role
apiVersion: rbac.authorization.k8s.io/v1
metadata:
  name: deploy-robot-role
  namespace: default
rules: # ## Customize these to meet your requirements ##
- apiGroups: ["apps"]
  resources: ["deployments"]
  verbs: ["create", "delete"]
- apiGroups: [""]
  resources: ["pods"]
  verbs: ["create", "delete"]
---
kind: RoleBinding
apiVersion: rbac.authorization.k8s.io/v1
metadata:
  name: global-rolebinding
  namespace: default
subjects:
- kind: ServiceAccount
  name: deploy-robot
  namespace: default
roleRef:
  kind: Role
  name: deploy-robot-role
  apiGroup: rbac.authorization.k8s.io

Это будет иметь минимальные разрешения, необходимые для развертывания Azure DevOps в кластере.

Примечание: Пожалуйста, настройте правила в ресурсе роли для удовлетворения ваших потребностей, чтобыРазрешения ресурсов для служб экземпляра.

Затем перейдите к своему выпуску и создайте соединение службы Kubernetes:

Kubernetes Service Connection

Заполните поля и следуйте инструкциямшаги, необходимые для получения секрета от учетной записи службы, помните, что это deploy-robot , если вы не изменили файл yaml.

Kubernetes Service Connection

А потомПросто используйте ваше соединение Kubernetes:

Release with Kubernetes Connection

...