13_Ansible ロール、ディレクトリ構造の作成、ロールの依存関係、プレイブック参考資料: ファクト、with_item、jinja テンプレート、ロール role

16.Ansibleロール
16.1.AnsibleRolesの紹介
16.2.ディレクトリ構造の作成
16.3.AnsibleRolesの依存関係
17.その他参考資料
17.1.Playbook参考資料
17.2.Ansible事実
17.3.時の判断文
17.4.with_items
17.5.ansible jinjaテンプレート
17.6.ansibleロール役割
17.7. 変数 その他の参考資料

16.Ansible の役割

転載元: https://blog.csdn.net/weixin_48981270/article/details/117756914

16.1. Ansible ロールの概要

役割 Ansible であれ、saltstack であれ、ワンクリック デプロイメントを作成する場合、すべてのステップを 'スクリプト' ファイルに記述することは不可能です。異なる作業モジュールを分離して分離する必要があるのは間違いありません。ロールのディレクトリ構造はより明確であるため、ロールの公式推奨を使用する必要があります。

例: 以前、すべての基本的な最適化プロジェクトを作成するには、base.yml を作成することをお勧めしました。実際、すべてをその中に入れるのは非常に無味乾燥です。これらすべての関数と、それを使用する必要のあるユーザーをすべて分離してはどうでしょうか。それを呼び出すだけです。

提案: 役割ごとにタスクを 1 つだけ使用するのが最善です。これは呼び出しに便利であり、適切な分離を実現できます。(SOA)

16.2. ディレクトリ構造の作成

[root@node4 workspace]# mkdir nginx/{tasks,files,templates,vars,handlers,meta} -p
[root@node4 workspace]# ls
nginx
[root@node4 workspace]# tree nginx/
nginx/
|-- files
|-- handlers
|-- meta
|-- tasks
|-- templates
`-- vars

6 directories, 0 files
[root@node4 workspace]# ls
nginx
[root@node4 workspace]# rm -rf nginx
[root@node4 workspace]# ansible-galaxy init nginx    (使用命令的时候创建)
- Role nginx was created successfully
[root@node4 workspace]# ll
total 0
drwxr-xr-x 1 root root 4096 10月 27 18:45 nginx
[root@node4 workspace]# tree
.
`-- nginx
    |-- defaults
    |   `-- main.yml
    |-- files
    |-- handlers
    |   `-- main.yml
    |-- meta
    |   `-- main.yml
    |-- README.md
    |-- tasks
    |   `-- main.yml
    |-- templates
    |-- tests
    |   |-- inventory
    |   `-- test.yml
    `-- vars
        `-- main.yml

9 directories, 8 files

ディレクトリ構造の説明:

[root@m01 roles]# tree nginx
nginx					#项目目录名称
├── defaults			#默认的变量(优先级很低)
│   └── main.yml
├── files				#存放文件,使用copy模块时自动获取
├── handlers			#存放触发器的配置
│   └── main.yml
├── meta				#依赖的服务,执行该项目时先执行其他的项目
│   └── main.yml
├── README.md
├── tasks				#默认执行的playbook
│   └── main.yml
├── templates			#存放jinja2模板,使用template模块时自动获取
├── tests
│   ├── inventory
│   └── test.yml
└── vars				#存放变量
    └── main.yml

16.3. Ansible ロールの依存関係

rolesロールを使用するときに、他のロールを自動的にインポートできます。ロールの依存関係は、roles ディレクトリの meta/main.yml ファイルに保存されます。

例: wordpress をプッシュして解凍します。前提条件として、nginx と php をインストールし、wordpress ページを実行するサービスを実行する必要があります。このとき、wordpress のロールで nginx と php に依存するロールを定義できます。

[root@m01 roles]# vim /etc/ansible/roles/wordpress/meta/main.yml
dependencies:
  - {
    
     role: nginx }
  - {
    
     role: php }

メタディレクトリに main.yml ファイルが記述されている場合、Ansible はメタディレクトリの main.yml ファイルにある依存関係ファイルを自動的に実行し、上図のように、nginx と php のインストールを最初に実行します。

17. その他の参考文献

17.1. プレイブックの参照

https://blog.51cto.com/u_13630803/2154192
https://www.cnblogs.com/yanjieli/p/10969299.html

17.2.Ansible の事実

https://www.cnblogs.com/lxmhhy/p/6813953.html
https://blog.csdn.net/woshizhangliang999/article/details/105759379
https://www.cnblogs.com/zhanglianghaha/p/12776236。 html
https://www.cnblogs.com/nb-blog/p/10565658.html
https://www.codercto.com/a/60267.html

17.3. 判決時の判決文

https://blog.csdn.net/a13568hki/article/details/103874588
https://www.jianshu.com/p/b172100de444
http://www.linuxboy.net/ansiblejc/147138.html
https://www .cnblogs.com/gaoyuechen/p/7776373.html

17.4.with_items

http://www.linuxe.cn/post-279.html
https://blog.csdn.net/weixin_34116110/article/details/92813078

17.5. ansible jinja テンプレート

https://blog.csdn.net/weixin_48981270/article/details/117756914
https://www.cnblogs.com/yxh168/p/14822773.html
https://blog.csdn.net/weixin_43384009/article/details/ 105301811
https://www.cnblogs.com/yang-dan/p/12091656.html
https://www.jianshu.com/p/cceca6036a51
https://blog.csdn.net/hanguofei/article/details/102555314

17.6. ansible ロール ロール

https://www.pianshen.com/article/73421469885/
https://blog.csdn.net/woshizhangliang999/article/details/106005990
https://www.jianshu.com/p/157ed21bf47d
https://blog. 51cto.com/u_13769014/2122388
https://blog.51cto.com/steed/2436930
https://www.pianshen.com/article/4058846828/
http://t.zoukankan.com/nineep-p-9065874。 html

17.7. 変数に関するその他の参考資料

https://www.cnblogs.com/mauricewei/p/10054300.html
https://www.cnblogs.com/f-ck-need-u/p/7571974.html
https://www.cnblogs.com/ deny/p/12394956.html
https://www.zsythink.net/archives/2655/

おすすめ

転載: blog.csdn.net/toto1297488504/article/details/132235972