1.何が可能ですか:
Ansibleは、オープンソースの自動化プラットフォーム、構成管理ツール、自動化された運用および保守ツールです。
Pythonの開発に基づいて、ansibleは多くの操作および保守ツール(puppet、cfengine、chef、func、fabric)の利点を統合し、バッチシステム構成、バッチプログラム展開、バッチ実行コマンドなどの機能を実現します。
Ansibleはモジュールに基づいて機能し、バッチ展開の機能はありません。実際のバッチ展開はansibleによって実行されるモジュールであり、ansibleはフレームワークを提供するだけです。
ansibleの利点:
1-1。クロスプラットフォーム操作のサポート:ansibleは、物理、仮想、クラウド、およびコンテナー環境に適した、Linux、Windows、unix、およびネットワークデバイスのエージェントレスサポートを提供します
1-2。強力な読みやすさ:人的エラーを減らします。プレイブックの実行中に、ターゲットホストが正しい状態にある場合、変更は行われません。
1-3。完璧な説明アプリケーション:プレイブック(idempotent)
1-4。バージョンコントロールを簡単に管理:プレイブックはプレーンテキストであり、ソースコードと見なすことができます
1-5。動的リストをサポートする
1-6。オーケストレーションは他のシステムと簡単に統合できます:人形、ジェンキンス
1-7。コードとしてのインフラストラクチャ:コマンドを使用して簡単なタスクを完了できます
2. Ansibleインストール:
これは、AlibabaCloudが提供するネットワークウェアハウスからダウンロードする必要があります。
dnf install ansible -y 下载ansible
ansible --viersion 查看当前ansible版本信息
ansible的基本配置文件信息:
/etc/ansible/ansible.conf ##全局配置文件,默认很少修改
/etc/ansible/hosts ##全局主机清单清单文件
ansibleサービスのリモートリンクはsshに基づいているため、ホスト(サーバー)にansibleをインストールした後、ansibleクライアントホストとの公開鍵と秘密鍵、およびパスワードなしの接続を確立する必要があります。
3. Ansibleのビルドリスト:
清单就是ansible控制主机的列表
/etc/ansible/hosts ##默认全局清单文件,通常不编辑此清单,而是自建文件(自创用户下的ansible文件下的hosts)
#1.直接书写受管主机名或ip,每行一个
node1.westos.com
node2.westos.com
172.25.254.240
#2.设定受管主机的组[组名称]
#清单查看:
ansible 清单中组名称 [-i 清单文件] --list-hosts
ansible ungrouped --list-hosts
ansible all --list-hosts
#单层清单#
[list1]
node1.westos.com
node2.westos.com
[list2]
node2.westos.com
[list3]
172.25.254.240
次のように、ネストされた定義にすることもできます。serversグループの2つのサブグループは、webserversとdbserversです。
[webservers]
server1.westos.org
server2.westos.org
172.25.0.1
[dbservers]
node1.westos.org
node1.westos.org
[servers:children]
webservers
dbservers
キー接続方法を正しく確立し、対応するクライアントリストに書き込んだ後、次のことを簡単に確認できます。(sshはすべてのターゲットホストに接続します)
すべてはすべての
可能なテストを意味します-mpingはテストグループ内のクライアントをテストすることを意味します
主机规格的范围化操作#
#通过指定主机名称或IP的范围可以简化Ansible主机清单
#语法:
#[start:end]
[westostest]
172.25.254.[100:108]:22
如果需要更改端口,直接使用 “:端口号 ” 添加即可
4. ansibleでの操作例:
デフォルト:赤いフォントは実行エラーを表し、エラーが発生すると、次の命令は実行されません。
黄色のフォントは操作実行後の変更を表します。(正常に実行されました)
緑のフォントはコマンドの実行を表します。成功、エラーは発生せず、変更も行われませんでした。-
kはパスワードの要求、
-uは***ユーザー、
-mは使用するモジュールの名前
、5。ansibleコマンドで指定されたリストの正規表現:
* ##所有 注意: 在命令行中使用时(ad-hoc)要加“ ”,否则会变成当前目录中的所有;
##172.25.254.*
##westos*
: ##逻辑或
##westos1:linux
##172.25.254.100:172.25.254.200
:& ##逻辑与
##westos1:&linux
##主机即在westos1清单也在linux清单中
:! ##逻辑非 需要用单引号转译 !
##westos1:!linux
##在westos1中不在linux中
~ ##以关键字开头
~(str1|str2) ##以条件1或者条件2开头
6.Ansible構成ファイルパラメーターの詳細な説明:
キーポイント:
ansible :ansible-docモジュール名で各モジュールのパラメーターの詳細な説明を表示して、モジュールのパラメーター情報を表示します(ファイルの内容の最後に例を直接表示できます)
ansibleリストのグループ名-mmodule -u remote_user
6-1:構成ファイルの分類と優先順位:
/etc/ansible/ansible.cfg #基本配置文件,找不到其他配置文件此文件生效,优先级最低
~/.ansible.cfg #当前目录中没有ansible.cfg时,用户家目录中的此文件生效
./ansible.cfg #当前目录中的ansible文件优先级最高
6-2:一般的な構成パラメーター: