跳到主要內容

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")

windows 上 wireshark 抓不到剛插入的 USB 網卡

有時後會遇到新插入 USB 網卡後,打開 Wireshark 沒看到這張網卡 https://osqa-ask.wireshark.org/questions/12192/usb-to-ethernet-adapter-doesnt-show-under-interfaces 根據這篇 wireshark 官網的連結,這是 windows 上的限制,通常是要 reboot 才會出現新網卡 可以試試看文章中下方提到的步驟 net stop npf net start npf tshark -D

利用 Bokeh + Python 速成網頁統計圖

最近剛好有需求在想要如何將透過 rest api get 回來的資料做成統計表 原本想從 Chrome plugin 找,不過似乎沒找到相關的工具 無意間發現這個 Bokeh 是個可以速成又簡單的工具 只要幾行 code ,就能畫出各種統計圖 <measurement> <server> 192.168.10.240 </server> <cpu> 0 </cpu> <memory> 75 </memory> </measurement> <measurement> <server> 192.168.10.131 </server> <cpu> 5 </cpu> <memory> 91 </memory> 原本透過 rest api get 的資料,在 Chrome 只能如上這樣顯示,看起來十分不清楚 經過處理後,可以直接輸出成 html ,並且顯示精美的統計圖 讓 web 前後端都沒碰過的我,也能夠方便的在 html 上產生這種統計圖 參考網址: Bokeh 官網 http://bokeh.pydata.org/en/latest/ Python 上前端!利用 Bokeh 與 Python 製作網頁互動視覺化 http://blog.infographics.tw/2016/04/interactive-visualization-with-bokeh-and-python/