跳到主要內容

Ansible 學習筆記

按照範例操作中
  
    ## 安裝 ansible
    sudo apt-get install ansible

    ## Inventory, default 是 /etc/ansible/hosts
    ## 把所有 hosts 的 ip address 寫到 Inventory
    ## host 之後可以加一下 ansible-user 之類的參數來做變化
    vim /etc/ansible/hosts 

    ## 產生 ssh key,並且複製 Public key 到 ~/.ssh/authorized_keys
    ssh-keygen
    ssh-agent bash 
    ssh-add ~/.ssh/id_rsa
    cp ~/.ssh/id_rsa.pub ~/.ssh/authorized_keys 

    ## 把 public key 寫入其他的 remote host,所有 hosts 都要做
    cat ~/.ssh/id_rsa.pub | ssh user@hostname 'cat >> .ssh/authorized_keys'  

    sudo chmod 700 ~/.ssh/
    sudo chmod 600 ~/.ssh/*

    ## ping 測試,成功的話就表示 hosts 之間可以連通了,如下面的樣子
    ## 加 -vvvv 可以印出 debug message 
    ansible all -m ping 

        192.168.1.131 | success >> {
            "changed": false,
            "ping": "pong"
        }

        192.168.1.254 | success >> {
            "changed": false,
            "ping": "pong"
        }
    
  
Playbook 範例, 設定 dns server 到 8.8.8.8 ,並且做 apt-get install git 執行方式 ansible-playbook test_apt_module.yml 以下是 test_apt_module.yml 的內容 --- - name: Using Iteration (with_item) to install multiple packages hosts: - test_servers roles: - { role: resolv_conf, resolv_conf_file: /etc/resolv.conf, sudo: True } tasks: - name: install apt packages sudo: True apt: pkg={{ item }} update_cache=yes cache_valid_time=3600 force=yes with_items: - git


參考網址:
http://ryandlane.com/blog/2014/08/04/moving-away-from-puppet-saltstack-or-ansible/


https://nsrc.org/workshops/2016/sanog27/raw-attachment/wiki/Track2Virt/install-setup-ansible.htm

留言

這個網誌中的熱門文章

scapy + python 好用的封包產生器,快速生成 udp packet

範例:  往 192.168.10.10 打 udp packet , src ip 是 192.168.1.0 .. 遞增 1024,UDP dest port 是 8001~8010, UDP src port  是 10001 ~ 10010, payload 是 'hello world',packet 從 eth0 出去 import struct, socket from scapy.all import *  #在這邊用  all 速度會變慢一些 ip2int = lambda ipstr: struct.unpack('!I', socket.inet_aton(ipstr))[0] int2ip = lambda n: socket.inet_ntoa(struct.pack('!I', n)) src_ip_base="192.168.1.0" src_ip_list=[ int2ip(a+ip2int("192.168.1.0")) for a in range(1024)] payload='hello world' packet=Ether(dst="00:e0:4c:68:00:66",src="00:1e:8c:74:b9:47")/ \        IP(dst="192.168.10.10",src=src_ip_list)/ \        UDP(sport=[i+10001 for i in range(10)],dport=[i+8001 for i in range(10)])/ \        payload sendp(packet,iface="eth0")

Python 1900-01-01 到 1970-01-01 時間相減,用秒數呈現

最近剛好需要計算時間差之間的秒數,在 Shell 上可以用 date +%s 這指令輕易地算出 1970-01-01 到現在的秒數,不過在 1970-01-01 之前的就不知道怎麼用 Shell 處理,於是找了 Python 的 datetime module 來協助...筆記一下 import datetime t = datetime.datetime(1970, 1, 1, 0, 0) (t-datetime.datetime(1900,1,1)).total_seconds()