目次
1:ansibleの紹介
- Ansibleは、Puppet、SaltStack、Chefと連携するInfrastructure as Codeツールであり、そのシンプルで使いやすい機能により、人々はそれを気に入っており、DevOpsの世界に位置しています。
- Ansibleは、コンピューターシステムを最も簡単な方法で公開、管理、および調整するためのツールを提供します。数分で実行できます。
- Ansibleは、マルチノード公開とリモートタスク実行をサポートするモデル駆動型構成マネージャーです。デフォルトでは、SSHがリモート接続に使用されます。管理対象ノードに追加のソフトウェアをインストールする必要はなく、さまざまなプログラミング言語を使用して拡張できます。
2:ansible機能
- モジュラー設計により、Ansibleは特定のモジュールを呼び出して特定のタスクを完了することができます。これはコアコンポーネントであり、短くて強力です。
- AnsibleはPython言語に基づいて実装され、Paramiko(python用のsshホスト関数ライブラリへの同時接続)、PyYAML、およびJinja2(テンプレート)の3つの主要モジュールによって実装されます。
- Ansibleの展開は、比較的シンプルでエージェントレスのクライアントレスツールです。
- マスタースレーブモードで作業する
- カスタムモジュール機能をサポート
- プレイブックスクリプトをサポートし、継続的なタスクが順番に完了します
3:ansible環境の展開
3.1:ansible作業モード
コントロールマシン(ホスト)がSSHを使用して管理対象ノードに接続でき、接続されたマシンにPythonがプリロードされている場合、Ansibleは機能します。
- コントロールマシンとは、私たちが主にAnsibleを操作するマシンを指します
- 管理対象ノードは、Ansibleによって操作されるマシンです。
3.2:ansibleインストール
制御マシンにAnsibleをインストールする必要があります
[root@localhost ~]# yum -y install epel-release
[root@localhost ~]# yum -y install ansible
3.3:ansible構成
Ansibleをインストールすると、Ansible構成ファイル(ansible.cfg)が/ etc / ansible /ディレクトリにあります。
[root@localhost ansible]# pwd
/etc/ansible
[root@localhost ansible]# ll
total 24
-rw-r--r-- 1 root root 19985 Oct 8 01:35 ansible.cfg
-rw-r--r-- 1 root root 1016 Oct 8 01:35 hosts
drwxr-xr-x 2 root root 6 Oct 8 01:35 roles
[root@localhost ansible]# cat ansible.cfg
inventory = /etc/ansible/hosts #这个参数表示资源清单inventory文件的位置
library = /usr/share/ansible #指向存放Ansible模块的目录,支持多个目录方式,只要用冒号(:)隔开就可以
forks = 5 #并发连接数,默认为5
sudo_user = root #设置默认执行命令的用户
remote_port = 22 #指定连接被管节点的管理端口,默认为22端口,建议修改,能够更加安全
host_key_checking = False #设置是否检查SSH主机的密钥,值为True/False。关闭后第一次连接不会提示配置实例
timeout = 60 #设置SSH连接的超时时间,单位为秒
log_path = /var/log/ansible.log #指定一个存储ansible日志的文件(默认不记录日志)
3.3.1:Ansibleホストリスト
在庫とは、単語自体に在庫、在庫、リストの意味があります。
ここでは、これをホストのリストと見なすことができ、これを使用して、各管理対象ノードのコード、IPアドレス、およびグループ情報を定義できます。
#定义一个主机组[组名]把地址或主机名加进去
[test]
10.159.232.1
10.159.232.233
10.159.232.234
コマンド「pwd」の一括実行
[root@localhost ansible]# ansible test -m command -a "pwd"
10.159.232.233 | CHANGED | rc=0 >>
/root
10.159.232.1 | CHANGED | rc=0 >>
/root
10.159.232.234 | CHANGED | rc=0 >>
/root