[PYTHON] Installieren Sie ansible aus dem Quellcode

In der stabilen Version von ansible ist dies fehlgeschlagen, selbst wenn ich das von awscli verwendete Profil in ec2 module festgelegt habe. Übrigens funktioniert ec2_group module einwandfrei. Ich habe die Entwicklungsversion ausprobiert und es hat funktioniert, aber es hat gut funktioniert, aber es hat gut funktioniert, aber es war [hacking / env-setup](https: /) in Installationsverfahren auf der offiziellen Website. /github.com/ansible/ansible/blob/devel/hacking/env-setup) fügt so viele Umgebungsvariablen wie möglich hinzu und ist etwas schwierig zu handhaben. Deshalb habe ich eine virtualenv-Umgebung erstellt und sie mit setup.py installiert .. Die Ausführungsumgebung ist OS X Yosemite + MacPorts. Sie können den Befehl virtualenv-2.7 durch virtualenv ersetzen.

virtualenv-2.7 env
source env/bin/activate
pip install --upgrade pip
pip install paramiko PyYAML Jinja2 httplib2
pip install boto awscli
git clone git://github.com/ansible/ansible.git --recursive
python setup.py install
cd ..
rehash
which ansible

Es ist nur ein Hobby, awscli zu diesem Zeitpunkt zu setzen. Wenn Sie zu virtualenv herauskommen, mit welchem Ansible, ist es OK

/Users/hoge/dev/unkoproject/server/infra/env/bin/ansible

Erstellen Sie als Nächstes ein Profil mit awscli.

aws configure --profile toilet

Verwenden Sie danach local_action entsprechend und führen Sie es aus.

echo "localhost ansible_python_interpreter=`which python`" > hosts
vi unko.yml
ansible-playbook -i hosts unko.yml

unko.yml hat folgenden Inhalt.

- name: Unko
  hosts: 127.0.0.1
  connection: local
  tasks:
    - name: Create Security Group
      local_action:
        module: ec2_group
        name: unko_group
        description: Security Group for Unko
        region: ap-northeast-1
        profile: toilet
        rules:
          - proto: tcp
            from_port: 22
            to_port: 22
            cidr_ip: 0.0.0.0/0
          - proto: tcp
            from_port: 80
            to_port: 80
            cidr_ip: 0.0.0.0/0
          - proto: tcp
            from_port: 443
            to_port: 443
            cidr_ip: 0.0.0.0/0
          - proto: tcp
            from_port: 25
            to_port: 25
            cidr_ip: 0.0.0.0/0

    - name: Unko Web Server Instance
      local_action:
        module: ec2
        region: ap-northeast-1
        keypair: ToiletKey
        group: unko_group
        instance_type: t2.micro
        image: ami-936d9d93
        count: 1
        wait: yes
        profile: toilet
      register: ec2

    - name: Add Web Server instance to host group
      local_action: add_host hostname={{ item.public_ip }} groupname=unko
      with_items: ec2.instances

    - name: Add tag to instances
      local_action: ec2_tag resource={{ item.id }} region=ap-northeast-1 state=present profile=toilet
      with_items: ec2.instances
      args:
        tags:
          Name: Unko

    - name: Wait for SSH to become available
      pause: minutes=1

Ich wünschte, ich hätte etwas mehr Sinn für Namen.

Recommended Posts

Installieren Sie ansible aus dem Quellcode
Installieren Sie Python von der Quelle mit Ansible
Installieren Sie Python von der Quelle
Installieren Sie Apache 2.4.41 von der Quelle
Installieren Sie PostgreSQL aus dem Quellcode unter CentOS
Installieren von Apache Maven (von der Quelle)
Installation von Ansible
Kompilieren und installieren Sie Git aus dem Quellcode.
Von conda-forge installieren
Fluss vom Quellcode zum Erstellen des Ausführungsformats
Installieren Sie vim7.3 (+ python2.4) von der Quelle (kompatibel mit Gundo.vim)
Erstellen Sie PostgreSQL aus dem Quellcode
Installieren Sie Ansible auf einem Mac
[Python] Lesen des Django-Quellcodes Ansicht ab Null ①
Entfernen Sie einzeilige Kommentare einschließlich Japanisch aus dem Quellcode in Python
Skript zur Überprüfung des Quellcode-Zeichencodes
Stoppen Sie Omxplayer vom Python-Code
Installieren Sie pyenv von Homebrew, installieren Sie Python von pyenv
Die Installation von pip verhindert, dass der Proxy installiert wird
Setzen Sie Postfix 2.11 mit ansible in die Quelle
Code Wars Kata ab Null
Führen Sie Python-Code über die C # -GUI aus
Führen Sie Ansible über Python mithilfe der API aus
Migrieren Sie von VS Code zu PyCharm
[Python] Lesen Sie den Flask-Quellcode
Ansible Playbook zum Installieren und Konfigurieren von `pyenv`
Holen Sie sich eine Adresse aus einer Postleitzahl
Installieren Sie Python mit Mac vs Code
Jinja2 Quellcode Formatierung mit Atom-Verschönerung
Anzahl Quellcodezeilen (SLOC)
Installieren Sie die neueste Version von Apache httpd 2.4 von der Quelle unter Cent OS 8