Anableによる自動化構成管理(22.04.13)

7108 ワード

スタティツクインベントリ


https://docs.ansible.com/ansible/latest/user_guide/intro_inventory.html#intro-inventory
デフォルトのインベントリファイル:/etc/ansible/hostsXの使用
デフォルトの在庫ファイルまたは:-iオプションの使用
ヘルメット:ini,yaml
iniフォーマットの例
key=value

[Section]
key=value
key
mail.example.com

[webservers]
foo.example.com
bar.example.com
three.example.com

[dbservers]
one.example.com
two.example.com
three.example.com
[ ]:インベントリグループ
ノードはグループに属する必要があります:False
all:
  hosts:
    mail.example.com:
  children:
    webservers:
      hosts:
        foo.example.com:
        bar.example.com:
    dbservers:
      hosts:
        one.example.com:
        two.example.com:
        three.example.com:
デフォルトグループ
  • all
  • ungrouped
  • に注意
    在庫原則の作成
    簡潔に...
    ホストをグループに分類
  • what
  • where
  • when
  • ホースの範囲
    [webservers]
    www[01:50].example.com
    192.168.100.[10:19]
    在庫変数
    [webservers]
    www[01:50].example.com A=100 B=200
    192.168.100.[10:19]
    在庫グループ変数
    [atlanta]
    host1
    host2
    
    [atlanta:vars]
    ntp_server=ntp.atlanta.example.com
    proxy=proxy.atlanta.example.com
    オーバーラップグループ
    [atlanta]
    host1
    host2
    
    [raleigh]
    host2
    host3
    
    [southeast:children]
    atlanta
    raleigh
    
    [usa:children]
    southeast

    在庫ファイルのチェック


    作成した在庫ファイル階層の確認
    ansible-inventory -i <INVENTORY_FILE> --graph
    JSON形式とホスト/グループ変数
    ansible-inventory -i <INVENTORY_FILE> --list
    ホストに設定されている変数の確認
    ansible-inventory -i <INVENTORY_FILE> --host <HOST>
    ホスト照合の検証
    ansible <HOST_PATTERN> -i <INVENTORY_FILE> --list-hosts

    プロファイル


    https://docs.ansible.com/ansible/latest/reference_appendices/config.html
    ファイルの場所の設定
    1. ANSIBLE_CONFIG  (environment variable if set)
    touch /tmp/ans.cfg
    export ANSIBLE_CONFIG=/tmp/ans.cfg
    ansible --version
    
    unset ANSIBLE_CONFIG
    ansible --version
  • ansible.cfg  (現在の作業ディレクトリ)
  • ~/.ansible.cfg  (ホーム)
  • /etc/ansible/ansible.cfg:プリファレンスファイル
  • 接続管理ノード


    SSH接続方法

  • パスワード検証
  • 鍵ペア検証
  • 権限の向上

  • su(X)
  • sudo
  • /etc/sudoers
    %wheel  ALL=(ALL)       ALL
  • %wheel:wheelグループ
  • ALL:全システム
  • (ALL):全ユーザ
  • ALL:すべてのコマンド
  • /etc/sudoers.d/vagrant
    %vagrant ALL=(ALL) NOPASSWD: ALL
  • NOPASWD:パスワードなしsudo
  • 変換可能*オプション


    SSH接続オプション

  • -u REMOTE USER,--user REMOTE USER:SSH接続アカウント(デフォルトは現在のユーザー)
  • -k,--ask-pass:オプションのSSHパスワードで検証
    -無効になっている場合-->SSH鍵検証
  • 許容できるデフォルト認証方法:SSHキー認証

    権限昇格オプション

  • -b,--になる:権限が上がる
    -オプションを無効にすると、-->権限は上昇しません
  • --become-method
    -sudo:デフォルト
    - su
  • --になります-user:どのユーザーですか?
    -root:デフォルト
  • -K,--ask-best-pass:sudoパスワードを尋ねる
    -無効にした場合-->パスワードなしsudo
  • ファイルの設定

    [defaults]
    remote_user=<SSH_USER>
    ask_pass=<True|False>
    host_key_checking=<True|False>
    
    [privilege_escalation]
    become=<True|False>
    become_ask_pass=<True|False>
    become_method=<sudo|su>
    become_user=<SUDO_USER>
  • ask passデフォルト:false
  • host key checkingデフォルト:true
  • bebeデフォルト:false
  • best ask passデフォルト:false
  • best methodデフォルト:sudo
  • anslible-configコマンド

  • ansible-configlist:すべての設定可能な項目を表示
  • ansible-configdump:すべての設定のデフォルト値と変更値を表示
  • ansible-configview:現在のアプリケーションのプロファイルの内容を表示