Как использовать команду сборки AWS IAM Role for Packer внутри конвейера Jenkins с использованием Kubernetes / Docker Slave - PullRequest
0 голосов
/ 19 апреля 2019

Я использую Jenkins Pipeline и Packer для создания AMI внутри учетной записи AWS.

  • Jenkins использует кластер Kubernetes в качестве подчиненного (используя облачный плагин, который позволяет мне настраивать шаблон модуля настройки докера),

  • У меня есть конвейер, который извлекает git-проект с шаблоном упаковщика и запускает команду проверки упаковщика, что успешно. Затем он запускает сборщик пакетов, и я получаю следующую ошибку:

[1; 31mBuild 'Amazon Linux 2 Classic' допустил ошибку: не найдены действительные источники учетных данных для AWS Builder. Дополнительные сведения о предоставлении учетных данных для AWS Builder см. В https://www.packer.io/docs/builders/amazon.html#specifying-amazon-credentials. [0m

Я также использую Kube2iam для предоставления ролей в моих подчиненных контейнерах.

В моем шаблоне упаковщика я не определяю учетные данные aws, так как не хочу его использовать, кроме роли. Знаете ли вы, если у меня есть что-то сделать внутри шаблона упаковщика, чтобы указать роль для использования?

С наилучшими пожеланиями,

Tony.

1 Ответ

0 голосов
/ 19 апреля 2019

Насколько я понимаю, вы запускаете Jenkins в кластере Kubernetes, работающем на экземплярах AWS EC2?Если это так, агенты Jenkins, выполняющие сборку, должны иметь возможность считывать доступные роли из метаданных экземпляра, на котором они работают.

В этом случае процесс будет состоять в том, чтобы назначить желаемую роль IAM экземплярам.и Kubernetes должен быть в состоянии справиться с этим.

...