Saltstackシリーズのひとつ――インストール編


最近、暴雪中国区の技術を持っている人と話をしています.saltをテストしていますが、現在はpuppetを使っています.サーバーの数も1000台以上になります.なぜ彼らはsaltをテストし、別の方法を考えているのか、saltの一定の優位性があるに違いない.
実は私はpuppetの名声に対してとっくに1年余り耳にして、まだ研究したことがありませんが...同類のオープンソース製品saltstackの存在も知られている.しかし、puppetはrubyが書き、saltstackはpythonが書き、総合的にsaltを研究することを選んだ.
国内のブログはいろいろパクリとか、いろいろ引っ越しとか..本当に役に立つドキュメントと資料がいくつか見つかりません.相変わらず、公式サイト+qq群共有の資料は、両方の管理がそろっているでしょう.(salt初体験は私にrabbitmqほど苦痛ではありません....2日近く公式の英語ドキュメントを見て、saltの仕事のモードについて初歩的な理解がありました)多くは言わないで、直接私たちの今日のテーマに入って、saltインストール編:
一)ubuntu取付
  • 倉庫を追加
  • sudo add-apt-repository ppa:saltstack/salt

    ヒント:
    add-apt-repository: command not found?

    次のように入力します.
    sudo apt-get install python-software-properties

    注意:ubuntu 12から.10(Raring Ringtail)、add-apt-repositoryはソフトウェア-properies-commonパッケージで見つけることができ、base installの一部でもあります.
    2.apt-getの更新
    倉庫を追加したら、パッケージ管理データベースを更新する必要があります.
    sudo apt-get update

    3.aptgetインストールsalt-master,salt-minion,salt-syndic
    sudo apt-get install salt-master       #  
    sudo apt-get install salt-minion       #  
    sudo apt-get install salt-syndic       #   

    二)centos取付
  • epelソース
  • をインストール
    # cd /usr/local/src/ 
    # wget http://mirrors.sohu.com/fedora-epel/6/x86_64/epel-release-6-8.noarch.rpm
    # rpm -ivh epel-release-6-8.noarch.rpm

    2.python-jinjia 2のインストール
    # wget http://apt.sw.be/redhat/el6/en/x86_64/rpmforge/RPMS/rpmforge-release-0.5.3-1.el6.rf.x86_64.rpm
    # rpm -Uvh rpmforge-release-0.5.3-1.el6.rf.x86_64.rpm

    3.依存パッケージのインストール
    # yum install python-jinja2

    4.saltstack-master,saltstack-minionのインストール
    # yum -y install salt-master enablerepr=epel-testing
    # yum -y install salt-minion enablerepr=epel-testing

    三)配置
  • minion端子
  • /etc/salt/minionプロファイルでは、多くの構成オプションが表示されますが、masterを起動するだけでは簡単です.デフォルトでは、salt-minionはデフォルトの接続「salt」のDNS名を除去し、minionが正常に接続できる場合、他の構成を変更する必要はありません.そうでなければ、masterのipアドレスを手動で指定する必要があります.
    - #master: salt
    + master: 10.0.0.1                           # :          ,     。  salt       ,   master ip
    + id: salt-minion1.org                       #             ,        ,          

    2.マスター端子
    salt-masterのデフォルトは、4505および4506ポートおよびすべてのセグメントをリスニングします./etc/salt/masterで特定のipを指定する必要があります.
        - #interface: 0.0.0.0
        + interface: 10.0.0.1                         #         ,   ip   master        ip

    3.saltを起動する
    service salt-master start
    service salt-minion start

    4.troubleshootingの方法
    最も簡単なtroubleshooting方法は、対応するdeamonを起動した後、log levelを設定することです.コードは以下の通りです.
    salt-master --log-level=debug

    5. Key Managerment
    [root@ salt]# salt-key -L
    Accepted Keys:
    Unaccepted Keys:
    192.168.139.128-centos
    192.168.139.130-ubuntu
    Rejected Keys:

    新しい2台のminion端のkeyが見えます.しかし、unacceptedなので、関連keysを受け入れる必要があります(実は/etc/salt/masterにauto_acceptを設定することもできますが、これはあなたたち自身の状況次第です~)
     salt-key -A

    では、もう一度観察してみましょう.
    [root@ salt]# salt-key -L
    Accepted Keys:
    192.168.139.128-centos
    192.168.139.130-ubuntu
    Unaccepted Keys:
    Rejected Keys:

    6.コマンドテストの送信
    ここでは、最も簡単な組み込み命令testを使用することができます.ping
    [root@ salt]# salt '*' test.ping
    192.168.139.128-centos:
        True
    192.168.139.130-ubuntu:
        True

    四)iptables
    saltのiptablesはmasterで策略をすればいいだけで、OSによって追加方法が異なる可能性があります.
    ここにはmaster端子の例があります(loopbackに特に注意する必要があります):
    # Allow Minions from these networks
    -I INPUT -s 10.1.2.0/24 -p tcp -m multiport --dports 4505,4506 -j ACCEPT
    -I INPUT -s 10.1.3.0/24 -p tcp -m multiport --dports 4505,4506 -j ACCEPT
    # Allow Salt to communicate with Master on the loopback interface
    -A INPUT -i lo -p tcp -m multiport --dports 4505,4506 -j ACCEPT
    # Reject everything else
    -A INPUT -p tcp -m multiport --dports 4505,4506 -j REJECT

    注意:ubuntuであれば、/etc/ufw/applicationsに行く必要があります.d/salt.ufwに1本追加:
        
    ufw allow salt

    次にncを用いて,下連通性を検出することができる.(もしなかったらyum install ncで)
        
    [root@ ~]# nc -v -z 192.168.139.131 4505
    Connection to 192.168.139.131 4505 port [tcp/*] succeeded!
    [root@ ~]# nc -v -z 192.168.139.131 4506
    Connection to 192.168.139.131 4506 port [tcp/*] succeeded!

    ここまでのインストール編は完了しており、WebUIの統合や簡単なhttp自動化yum構成インストール、ソースコードインストールなどが続く.後で更新するのは速くありません.私もpythonを学ぶことに着手しますから.saltが一番魅力的なのはslsです.