自動化運維伺服器,ansible操作

2021-10-01 17:50:05 字數 2669 閱讀 3966

分發金鑰,建立免密連線

向遠端伺服器節點拷貝檔案

通過ansible遠端操作mysql

yum install ansible -y

在沒有公網的內網中,可以

配置檔案修改vi /etc/ansible/hosts

配置檔案格式如下

配置檔案內容:

[test]

test-0002 ansible_ssh_host=192.168.100.2

test-0003 ansible_ssh_host=192.168.100.3

test-0004 ansible_ssh_host=192.168.100.4

[test2]

test-0005 ansible_ssh_host=192.168.100.5

[farthernode:children]

test

test2

[farthernode:vars]

ansible_ssh_user="root"

ansible_ssh_pass="root"

ansible_ssh_port="22"

[test]和[test2]為分組,test_0001為別名,可以不設定;

[farthernode:children]為分組父類,其中指定子分組,方便多群組管理,可選設定;

[farthernode:vars]配置使用者名稱和密碼以及埠,用來第一次生成秘鑰建立免密登入使用,建立免密後可以刪除該配置。

vi /etc/ansible/ansible.cfg

去掉注釋:inventory = /etc/ansible/hosts

// 表示取消首次連線提示

去掉注釋:host_key_checking = false

啟動ansible服務,設定開機自啟動

systemctl start ansible

systemctl enable ansible

1. 在ansible管理端進行金鑰生成

ssh-keygen -n '' -f /root/.ssh/id_rsa

2. 利用ansible命令傳送金鑰給其他節點:

ansible all -m copy -a "src=/root/.ssh/id_rsa.pub dest=/root/.ssh/authorized_keys"

1. 拷貝ansible伺服器home目錄下的 maxwell.zip 檔案到遠端伺服器的opt目錄下

ansible test_0001 -m copy -a "src=/home/maxwell.zip dest=/opt"

2. 拷貝檔案並賦權,給與指令碼執行許可權

ansible test_0001 -m copy -a "src=/home/start.sh dest=/opt mode=0755"

3. 把本地伺服器的壓縮包解壓到遠端伺服器

ansible test_0001 -m unarchive -a "src=/opt/maxwell.zip dest=/opt/ mode=0755"

4. 解壓遠端伺服器檔案,copy=no表示不從本地複製到遠端伺服器。

ansible test_0001-m unarchive -a "src=/opt/maxwell.zip dest=/opt/ mode=0755 copy=no"

5. 遠端執行伺服器上的自定義指令碼,啟動程式

ansible test_0001 -m shell -a "/opt/start.sh"

啟動所有節點的mysql服務,並設定為開機啟動

ansible all -m service -a 'enabled=true name=mysqld state=started'單獨啟動test_0001節點的mysql服務

ansible test_0001 -m service -a 'enabled=true name=mysqld state=started'使用指令碼遠端運算元據庫

指令碼示例:

建立指令碼vi /home/dropmaxwell.sh

pass=

"password"

mysql -uroot -p$pass

<<

eofdrop database maxwell;

eof

指令碼功能,刪除maxwell資料庫。使用ansible命令,批量拷貝到遠端伺服器

ansible all -m copy -a "src=/home/dropmaxwell.sh dest=/opt mode=0755"

遠端執行,刪除maxwell資料庫

ansible all -m shell -a "/opt/dropmaxwell.sh"

自動化運維ansible

sever1 172.25.60.1 server2 172.25.60.2 server3 172.25.60.3 etc ansible ansible.cfg 主配置檔案,配置ansible工作特性 etc ansible hosts 主機清單 etc ansible roles 存放角色的目...

ansible 自動化運維工具

ansible 自動化運維工具 批量管理 python開發 無客戶端 基於ssh服務 22 安裝 1.ansible包在擴充套件源,epel release yum y install epel release yum repolist 2.安裝,ansible yum y install ansi...

自動化運維ansible解析

name version capacity centos 7 3.10.0 693.el7.x86 64 1 smp tue aug 22 21 09 27 utc 2017 x86 64 x86 64 x86 64 gnu linux ansible 不需要安裝客戶端,通過sshd去通訊 基於模組...