ansible是用來處理大批量重複性操作的工具,只需要在一台機器上就可以遠端控制所有機器,但前提是必須保證每台機器之間ssh可以相互免密登入。關於ansible的安裝和環境準備請參考ansible環境的準備。
免密安裝機器172.18.18.120
172.18.18.121
172.18.18.122
配置所有免密機器使用者名稱及密碼[ssh]
172.18.18.120 ansible_ssh_user=root ansible_ssh_pass=123456
172.18.18.121 ansible_ssh_user=root ansible_ssh_pass=123456
172.18.18.122 ansible_ssh_user=root ansible_ssh_pass=123456
編寫yml執行檔案- hosts: ssh
gather_facts: no
tasks:
- name: enforce env
shell: source /etc/profile
run_once: true
- name: close ssh check
#關閉初次訪問提示詢問
shell: sed -i "s/^.*stricthostkeychecking.*$/ stricthostkeychecking no/g" /etc/ssh/ssh_config
- name: delete /root/.ssh/
file: path=/root/.ssh/ state=absent
- name: generating public/private rsa key pair
#生成公鑰和私鑰
shell: ssh-keygen -t rsa -b 2048 -n '' -f /root/.ssh/id_rsa
- name: view id_rsa.pub
#將公鑰設定成變數
shell: cat /root/.ssh/id_rsa.pub
register: sshinfo
- set_fact: sshpub=}
- name: add ssh record
#合併各個節點公鑰
local_action: shell echo } >> }/roles/templates/authorized_keys.j2
- name: copy authorized_keys.j2 to all
#分發到各個節點上
template: src=}/roles/templates/authorized_keys.j2 dest=/root/.ssh/authorized_keys mode=0600
tags:
- install ssh
執行免密安裝ansible-playbook /opt/ansible/sshkey.yml
一 Ansible入門篇
ansible是乙個自動化運維的工具 基於python語言編寫,因此機器需要具備python環境。通過ssh的連線方式進行自動化部署,ansible優先使用openssh,在使用python模組裡的paramiko作為ssh工具 優點 1.入門快速,簡單上手 2.基於python語言 3.無 基於s...
BREW SDK入門篇(二)
在第一部分,所有的必須專案設定都是由brew應用程式嚮導來管理。但我們仍然需要提供乙個可執行檔案以便在除錯階段執行.dll檔案,同時還要確保brew能夠找到應用程式的.dll檔案。為了滿足第乙個要求,我們需要為brew emulator.exe提供路徑。為了滿足第二個要求,我們要確保鏈結程式將hel...
BREW SDK入門篇(二)
在第一部分,所有的必須專案設定都是由brew應用程式嚮導來管理。但我們仍然需要提供乙個可執行檔案以便在除錯階段執行.dll檔案,同時還要確保brew能夠找到應用程式的.dll檔案。為了滿足第乙個要求,我們需要為brew emulator.exe提供路徑。為了滿足第二個要求,我們要確保鏈結程式將hel...