Ansible簡單學習

最近做項目,機器比較多,自己還是沿用shell的for i in {1…20}這樣的蠢方法,旁邊的大佬用ansible已經爽的飛起。
故決定使用Ansible來提高自己的工作效率,達到摸魚的目的…

附上一個建議去學習的鏈接:Ansible學習

建立連接

  1. 先在部署機器上創建祕鑰,用於免認證
 ssh-agent bash
 ssh-add ~/.ssh/id_rsa
  1. 編輯文件/etc/ansible/hosts
[sitonholy]
192.168.1.10 ansible_ssh_user=user ansible_ssh_port=22 ansible_ssh_pass=ubuntu ansible_su_pass=ubuntu
  1. 使用ping測試來連通性
ansible all -m ping

會反饋以下信息回來,pong

192.168.1.10 | SUCCESS => {
    "ansible_facts": {
        "discovered_interpreter_python": "/usr/bin/python"
    }, 
    "changed": false, 
    "ping": "pong"
}
  1. 測試遠程執行命令
ansible scm -a  "uname -r"
  1. 取消公鑰認證,如果某臺主機的公鑰變化,可能會有提示,我們把它關閉掉
    編輯文件/etc/ansible/ansible.cfg
[defaults]
host_key_checking = False

做一個小實驗,安裝Docker

  1. 配置Ansible_host /etc/ansible/hosts
192.168.1.10
  1. 配置國內加速源,拷貝部署機daemon.json文件到客戶機的/etc/docker/daemon.json

daemon.json文件內容

{  
  "registry-mirrors": ["https://z9ok86c7.mirror.aliyuncs.com"],
  "insecure-registries": ["192.168.1.20:80"]
}
  1. 編寫ansible-playbook.yml腳本
- hosts: sitonholy
  remote_user: user
  sudo: yes
  sudo_user: root
  tasks:
    - name: mkdir
      shell: mkdir -p /etc/docker
    - name: copy daemon.json
      template: src=/home/user/daemon.json dest=/etc/docker/daemon.json
    - name: install docker
      apt: update_cache=yes
      apt:
        name: "{{item}}"
        state: installed
      with_items:
        - apt-transport-https
        - ca-certificates
        - curl
        - software-properties-common
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章