Ansibleの自動化された操作とメンテナンス(1)

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

おすすめ

転載: blog.csdn.net/zhangshaohuas/article/details/109638567