Point Ansible to .pem файл для динамического набора узлов EC2 - PullRequest
0 голосов
/ 06 июня 2019

Я довольно новичок в Ansible. Я получил: UNREACHABLE! => {"changed": false, "msg": "Failed to connect to the host via ssh: Permission denied (publickey).", "unreachable": true} на последнем шаге, когда я пытаюсь этот Ansible playbook

---
- name: find EC2 instaces
  hosts: localhost
  connection: local
  gather_facts: false

  vars:
    ansible_python_interpreter: "/usr/bin/python3"
    ansible_ssh_common_args: "-o StrictHostKeyChecking=no"
    aws_region: "us-west-2"
    vpc_subnet_id: "subnet-xxx"
    ec2_filter:
      "tag:Name": "airflow-test"
      "tag:Team": 'data-science'
      "tag:Environment": 'staging'
      "instance-state-name": ["stopped", "running"]
  vars_files:
    - settings/vars.yml
  tasks:
    - name: Find EC2 Facts
      ec2_instance_facts:
        region: "{{ aws_region }}"
        filters:
          "{{ ec2_filter }}"

      register: ec2

    - name: Add new instance to host group
      add_host:
        hostname: "{{ item.public_dns_name }}"
        groupname: launched
      loop: "{{ ec2.instances }}"

    - name: Wait for the instances to boot by checking the ssh port
      wait_for:
        host: "{{  item.public_dns_name  }}"
        port: 22
        sleep: 10
        timeout: 120
        state: started
      loop: "{{ ec2.instances }}"

- name: install required packages on instances
  hosts: launched
  become: True
  gather_facts: True
  vars:
    ansible_ssh_common_args: "-o StrictHostKeyChecking=no"

  tasks:
    - name: ls
      command: ls

Я знаю, что мне нужно указать Ansible на файл .pem, я пытался добавить ansible_ssh_private_key_file к файлу инвентаризации, но, учитывая, что узлы динамические, не уверен, как это сделать.

1 Ответ

0 голосов
/ 06 июня 2019

Добавление ansible_ssh_user решило проблему

- name: install required packages on instances
  hosts: launched
  become: True
  gather_facts: True
  vars:
    ansible_ssh_common_args: "-o StrictHostKeyChecking=no"
    ansible_ssh_user: "ec2-user"
  tasks:
    - name: ls
      command: ls
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...