Кластер k8s, работающий локально на Minkube, должен иметь учетные данные AWS для доступа к ресурсам на AWS - PullRequest
0 голосов
/ 10 апреля 2019

В процессе разработки - я запускаю кластер k8s на моей машине разработки внутри Minikube, запускаю несколько сервисов.

Сервисы должны получать доступ к ресурсам AWS, например, к корзине S3.Для этого - модули должны как-то получать учетные данные AWS.

Какие есть варианты аутентификации модулей с пользователем AWS?я должен передать aws_access_key_id и aws_secret_access_key в docker env?

Как это будет работать на производстве (внутри k8s на EKS)?Роль узла передается в стручки?

1 Ответ

2 голосов
/ 10 апреля 2019

Хороший способ локальной аутентификации - создать Kubernetes Secret, содержащий учетные данные AWS. Затем вы можете ссылаться на секрет в переменных среды развертывания вашей службы, например ::10000

name: AWS_ACCESS_KEY
valueFrom:
  secretKeyRef:
    name: my-aws-secret
    key: access-key    

В EKS все модули могут получить доступ к роли из узла. Это, конечно, не идеально для производственной ситуации, так как, скорее всего, вам нужен более ограниченный набор разрешений для конкретного модуля. Вы можете проверить kube2iam как проект, который вы можете использовать для ограничения возможностей AWS одного модуля.

...