Ansibleの原則とインストールと展開

今日、運用と保守の自動化ツールであるAnsibleの学習を始めました。

1. Ansibleの原則

1.1 Ansibleとは

Ansibleは、ITシステムの構成管理、アプリケーションの展開、特定のタスクを統合するオープンソースのプラットフォーム/フレームワークです。Python言語に基づくコアモジュールには、jinja2、PyYAML、paramikoが含まれます。Ansibleを使用すると、エラーなしで繰り返し実行でき、クライアントにエージェントがなく、サーバーにデーモンプロセスがありません。Ansible機能:

  • Ansibleは、CMDB呼び出しやパブリッククラウドインターフェイス呼び出しなどのAPIインターフェイス呼び出しをサポートします

  • Ansibleは、モジュールとプラグインに基づいて機能するフレームワークです。

  • SSHに基づいて機能します。つまり、管理対象のエンドはSSH管理をサポートする必要があります

  • 自動化を実現するために、プレイブックを通じて強力な構成および状態管理を記述します

 

1.2 Ansibleの重要なコンポーネント

  • モジュール:Ansibleは複数の機能モジュールで構成されています

  • プレイブック:Ansibleプレイブック、yml構文を使用して特定の機能を完了するためにさまざまな汎用モジュールを呼び出す

  • 役割:Ansbiel役割。ansible-galaxyコマンドを使用して、サードパーティの役割の役割をダウンロードできます。

  • ansible-vault:ファイル暗号化ツール

  • ansilbe-console:コンソールに基づいてユーザーと対話する

  • ansible-doc:ヘルプドキュメント、-lすべてのモジュール、-s簡単なヘルプ

     

1.3 Ansible実行プロセスと原理の説明

  1. 構成ファイルをロードします。デフォルトは/etc/ansible/ansible.cfgです

  2. 対応するモジュールをロードする

  3. 一時的なpyファイルを作成し、ターゲットマシンの〜/ .ansible / tmpディレクトリに転送します

  4. + x権限をpyファイルに追加し、実行して結果を返す

  5. pyファイルを削除し、0をスリープ状態にして終了します

 

1.4 Ansible実行ステータスの説明

  • 緑:実行に成功、変更する必要はありません

  • 黄色:正常に実行されました。ターゲットホストを変更してください

  • 赤:実行に失敗しました

 

2. Ansibleインストールと構成

2.1 Ansibleをインストールする

CentOS 7.6を例にして、Ansibleをインストールします。

  [root @ ansible〜]#cat / etc / redhat-release 
    CentOS Linux release 7.6.1810(Core)
    [root @ ansible〜] 
    #uname -a Linux ansible 3.10.0-957.el7.x86_64#1 SMP Thu Nov 8 23:39:32 UTC 2018 x86_64 x86_64 x86_64 GNU / Linux 
#配置
    epel [root @ ansible〜]#cat /etc/yum.repos.d/epel-7.repo 
    [epel] 
name =エンタープライズLinux 7の追加パッケージ-$ basearch 
    baseurl = http://mirrors.aliyun.com/epel/7/$basearch 
    failovermethod = priority 
    enabled = 1 
    gpgcheck = 0 
    gpgkey = file:/// etc / pki / rpm-gpg / RPM-GPG-KEY -EPEL-7 
    [ epel- debuginfo]  
name = Enterprise Linux 7の追加パッケージ-$ basearch-デバッグ
    baseurl = http://mirrors.aliyun.com/epel/7/$basearch/debug 
    failovermethod = priority 
    enabled = 0 
    gpgkey = file:/// etc / pki / rpm-gpg / RPM-GPG-KEY-EPEL-7 
    gpgcheck = 0 
    [epel-source] 
name = Enterprise Linux 7の追加パッケージ-$ basearch-ソース
    baseurl = http://mirrors.aliyun.com/epel/7/SRPMS 
    failovermethod = priority 
    enabled = 0 
    gpgkey = file:/// etc / pki / rpm-gpg / RPM-GPG-KEY-EPEL-7 
    gpgcheck = 0 安装Ansible 
    [root @ ansible〜]#yum install ansible -y 
    查看既に安装版本[root @ ansible〜]#ansible --version 
    ansible 2.8.2構成
      ファイル= /etc/ansible/ansible.cfg 
      構成されたモジュール検索パス= [u '/ root / .ansible / plugins /モジュール '、u' / usr / share / ansible / plugins / modules ']
      ansible pythonモジュールの場所= /usr/lib/python2.7/site-packages/ansible 
      実行可能ファイルの場所= / usr / bin / ansible 
      pythonバージョン= 2.7.5(デフォルト、2018年10月30日、23:45:53)[GCC 4.8 .5 20150623(Red Hat 4.8.5-36)] 
    [root @ ansible yum.repos.d]#
    ansible-2.8.2-1.el7.noarch

  Ansible関連ドキュメントを表示

yum info ansible 
rpm -qa ansible 
rpm -ql ansibel | もっと少なく

 

2.2 Ansible設定ファイル

Ansibleの主な構成ファイルと機能は次のとおりです。

/ etc / ansible /├──ansible.cfg#Ansible 
    メイン構成ファイル
    ├──hosts 管理対象マシンのリストを定義するために使用└──ロール#このディレクトリは、ロールを定義するために使用されます

  Ansible設定ファイルの
/etc/ansible/ansible.cfg
主なパラメーターの説明

古いパラメーターを閉じるalarm deprecation_warnings = False#
    コマンドアラームを閉じる
command_warnings = False 
    #最初の接続を確認せず、次のプレイブックと連携して、パスワードなしのsshログインを実現します
host_key_checking = False#
    並列
フォーク数を設定= 40 
    ログを開くlog_path = / var / log / ansible.log 
    #sshタイムアウト時間
タイムアウト= 30

  

2.3ホストリスト

デフォルトのホストファイル/etc/ansible/hosts。操作対象のホストはホストリストに含まれている必要があります。

CDの/ etc / ansible 
Vimのホスト
    #パケット
[モンス] 
    エイリアス#設定ホスト
セファロ-ノードansible_ssh_host。1 = 172.16.93.1 
[クライアント] 
172.16.93.1:2222 
    #もサポートドメイン名とホスト名、IPへの最終的な解釈
    #通常のサポート式
[kvm_node_all] 
172.16.93。[6:9] 
    グループ化ホスト変数を設定[kvm_node_all:vars] 
ansible_ssh_user = root 
ansible_ssh_pass = Efly1234 
ansible_ssh_port = 22 
#自動
    意味変数my_name = zhangsan#ホスト
    継承関係、親の継承を継承しますすべての変数
[kvm_node_all:children] 
クライアント

  

2.4 Ansible監督と管理マシンが鍵認証を行う(オプション)

秘密鍵#発生
    SSH-keygenの
#は、次の2つの文書の後に生成されます
    [ansibleルート@〜]ツリー#/root/.ssh/ 
    /root/.ssh/ 
    ├──id_rsaと
    └──id_rsa.pub 
#公開鍵管理対象マシンに書き込む
    ssh-copy-id 192.168.199.52 
#または
    ssh-copy-id -i /root/.ssh/id_rsa.pub -p 22 [email protected]

  

おすすめ

転載: www.cnblogs.com/eflypro/p/12720400.html