Home
Packages
Forums
Wiki
GitLab
Security
AUR
Download
コンテンツにスキップ
メインメニュー
メインメニュー
サイドバーに移動
非表示
案内
メインページ
目次
コミュニティに貢献
最近の出来事
おまかせ表示
特別ページ
交流
ヘルプ
貢献
最近の更新
最近の議論
新しいページ
統計
リクエスト
ArchWiki
検索
検索
表示
アカウント作成
ログイン
個人用ツール
アカウント作成
ログイン
Ansibleのソースを表示
ページ
議論
日本語
閲覧
ソースを閲覧
履歴を表示
ツール
ツール
サイドバーに移動
非表示
操作
閲覧
ソースを閲覧
履歴を表示
全般
リンク元
関連ページの更新状況
ページ情報
表示
サイドバーに移動
非表示
←
Ansible
あなたには「このページの編集」を行う権限がありません。理由は以下の通りです:
この操作は、次のグループに属する利用者のみが実行できます:
登録利用者
。
このページのソースの閲覧やコピーができます。
[[Category:システム管理]] [[en:Ansible]] [http://docs.ansible.com/ docs.ansible.com] より: :''Ansible は IT 自動化ツールです。システムを設定し、ソフトウェアをデプロイして、継続的なデプロイや休止期間を挟まないローリングアップデートなど高度な IT 業務をオーケストラレートできます。'' == インストール == 制御マシン (サーバーあるいはマスター) に {{Pkg|ansible}} パッケージを[[インストール]]してください。{{Pkg|python}} も必要です (Python バージョン 2.6, 2.7, 3.5 以上がサポートされています)。 自動デプロイや設定作業を適用したい管理マシン (クライアントあるいはスレーブ) には通信手段 (通常は [[SSH]]) をインストールしてください。[[SSH_鍵#リモートサーバーに公開鍵をコピー|ssh 鍵の設定]]をすることで Ansible が使いやすくなりますが、必須ではありません。 == 基本的な使い方 == === インベントリ === {{ic|/etc/ansible/ansible.cfg}} のデフォルト設定では、{{ic|/etc/ansible/hosts}} にインフラを定義します。3つのノードからなる小規模なクラスタを定義するインベントリの例: {{hc|/etc/ansible/hosts| [control] 192.168.12.1 [managed] 192.168.12.2 192.168.12.3 }} ファイルの中でノードごとに属性を割り当てることができます。詳しくは [http://docs.ansible.com/ansible/latest/intro_inventory.html 公式ドキュメント] を読んでください。 === Ping === インベントリ内のノードが稼働しているか確認するには: $ ansible all -m ping === Playbook === Playbook はインフラをデプロイ・設定するための強力なツールです。詳しくは [http://docs.ansible.com/ansible/latest/playbooks.html 公式ドキュメント] を読んでください。以下は全ての Arch Linux ノードでシステムアップグレードを実行する例です。まず YAML 形式の playbook ファイルを作成します (インデントは空白2つです): {{hc|syu.yml| --- - name: All hosts up-to-date hosts: control managed become: yes tasks: - name: full system upgrade pacman: update_cache: yes upgrade: yes }} そして playbook スクリプトを実行: # ansible-playbook --ask-become-pass syu.yml === Vault === [http://docs.ansible.com/ansible/latest/playbooks_vault.html#using-vault-in-playbooks vault] を使うことで機密データを playbook などに暗号化された状態で保存することができます。vault のパスワードはファイルに平文で保存できます。{{ic|echo myvaultpassword > vault_pass.txt}} で作成して、以下のように Ansible で使うことが可能です: # ansible-playbook site.yml --vault-id vault_pass.txt {{ic|varname}} という名前の変数の中身 {{ic|varcontent}} を暗号化するには、以下のコマンドを使用します: # ansible-vault encrypt_string --vault-id vault_pass.txt varcontent -n varname playbook に挿入できる暗号化された変数が直接出力されます。暗号化された変数は YAML ファイルの中で他の変数と一緒に混ぜて使うことができます: {{bc|<nowiki>notsecret: myvalue mysecret: !vault | $ANSIBLE_VAULT;1.1;AES256 66386439653236336462626566653063336164663966303231363934653561363964363833313662 6431626536303530376336343832656537303632313433360a626438346336353331386135323734 62656361653630373231613662633962316233633936396165386439616533353965373339616234 3430613539666330390a313736323265656432366236633330313963326365653937323833366536 3462 other_plain_text: othervalue</nowiki>}} == Tips and tricks == === ユーザーアカウントの作成 === Ansible はユーザーアカウントを管理することができ、新しいアカウントを作成することもできます。[http://docs.ansible.com/ansible/latest/user_module.html user モジュール] を使うことで playbook でアカウントを作成できます。任意でユーザーのパスワードを設定する {{ic|password}} 引数が使えます。モジュールに指定するときパスワードはハッシュ化する必要があります。[http://docs.ansible.com/ansible/latest/playbooks_filters.html#hash-filters ハッシュフィルタ] を使うことで Ansible の中でハッシュ化することが可能です: <nowiki>- user: name: madhead password: "{{ 'user_password' | password_hash('sha512', 'permsalt') }}" shell: /usr/bin/nologin</nowiki> {{Tip|The salt should be fixed and explicitely supplied as a second parameter of the hash function for the operation to be indempotent (can be repeated without changing the state of the system).}} ユーザーアカウントを作成するときは vault を使ってパスワードを暗号化することが推奨されています。[[#Vault]] を見てください。ただし、暗号化された変数は直接パイプで渡すことができないため、先に別の変数に渡してからパイプで渡す必要があります。 また、ハッシュ化は Ansible の外で行うことも可能です。以下のコマンドは ''user_password'' を MD5 と SHA512 でハッシュ化した値を返します: $ openssl passwd -1 user_password === Python の場所を Ansible に指定する === Ansible は管理対象のマシンに [[Python]] を必要とします。デフォルトでは Ansible はリモートシステム上の {{ic|/usr/bin/python}} が 2.X あるいは 3.X バージョンの Python (特に 2.6 以上) だと想定しています。 使用するモジュールが Python 2 を必要とする場合、Ansible のインベントリファイルで {{ic|ansible_python_interpreter}} 変数を設定して Python 2 の場所を Ansible に指定する必要があります。以下のようにホストグループを使って設定できます: {{hc|Inventory file| [archlinux] server1 server2 [debian] server3 [archlinux:vars] ansible_python_interpreter<nowiki>=</nowiki>/usr/bin/python2 }} Python の設定に関する詳細は [https://docs.ansible.com/ansible/python_3_support.html], [http://docs.ansible.com/faq.html#how-do-i-handle-python-pathing-not-having-a-python-2-x-in-usr-bin-python-on-a-remote-machine], [http://docs.ansible.com/intro_inventory.html#list-of-behavioral-inventory-parameters] にあります。 == 参照 == * [https://www.ansible.com/quick-start-video Ansible concept in 12 minutes] * [http://docs.ansible.com/ansible/latest/pacman_module.html pacman モジュールの詳細]
このページで使用されているテンプレート:
テンプレート:Bc
(
ソースを閲覧
)
テンプレート:Hc
(
ソースを閲覧
)
テンプレート:Ic
(
ソースを閲覧
)
テンプレート:Pkg
(
ソースを閲覧
)
テンプレート:Tip
(
ソースを閲覧
)
Ansible
に戻る。
検索
検索
Ansibleのソースを表示
話題を追加