20170731自動化部署ansiable(一)

2021-08-04 15:20:11 字數 3163 閱讀 4001

1、安裝python

# tar xvzf python-2.7.8.tgz

# cd python-2.7.8

# ./configure --prefix=/usr/local

# make 

# make install

## 將python標頭檔案拷貝到標準目錄,以避免編譯ansible時,找不到所需的標頭檔案

# cd /usr/local/include/python2.7

# cp -a ./* /usr/local/include/

## 備份舊版本的python,命名為python2.6,並符號鏈結新版本的python

# cd /usr/bin

# mv python python.2.6

# ln -s /usr/local/bin/python2.7 /usr/local/bin/python

# rm -f /usr/bin/python && cp /usr/local/bin/python2.7 /usr/bin/python

######這裡我並沒有修改,但是也能正常執行,不影響後面的操作

## 修改yum指令碼,使其指向舊版本的python,已避免其無法執行

# vim /usr/bin/yum

#!/usr/bin/python  -->  #!/usr/bin/python2.6

2、setuptools模組安裝

3、pycrypto模組安裝

# tar xvzf pycrypto-2.6.1.tar.gz

# cd pycrypto-2.6.1

# python setup.py install

4、pyyaml模組安裝

# tar xvzf yaml-0.1.5.tar.gz

# cd yaml-0.1.5

# ./configure --prefix=/usr/local

# make

# make install

# tar xvzf pyyaml-3.11.tar.gz

# cd pyyaml-3.11

# python setup.py install

5、jinja2模組安裝

# tar xvzf markupsafe-0.9.3.tar.gz

# cd markupsafe-0.9.3

# python setup.py install

# tar xvzf jinja2-2.7.3.tar.gz

# cd jinja2-2.7.3

# python setup.py install

6、paramiko模組安裝

# tar xvzf ecdsa-0.11.tar.gz

# cd ecdsa-0.11

# python setup.py install

# tar xvzf paramiko-1.15.1.tar.gz

# cd paramiko-1.15.1

# python setup.py install

7、******json模組安裝

# tar xvzf ******json-3.6.5.tar.gz

# cd ******json-3.6.5

# python setup.py install

8、ansible安裝

# tar xvzf ansible-1.7.2.tar.gz

# cd ansible-1.7.2

# python setup.py install

9、ssh免金鑰登入設定

## 生成公鑰/私鑰

# ssh-keygen -t rsa -p ''     這裡會提醒輸入,預設回車就可以了

## 寫入信任檔案(將/root/.ssh/id_rsa.pub分發到其他伺服器,並在所有伺服器上執行如下指令):

# cat /root/.ssh/id_rsa.pub >> /root/.ssh/authorized_keys

# chmod 600 /root/.ssh/authorized_keys

免密登入的另外乙個方法,親測可用:

$ # 生成ssh key

$ ssh-keygen

$ # 拷貝ssh key到遠端主機,ssh的時候就不需要輸入密碼了

$ ssh-copy-id remoteuser@remoteserver            #這裡的remoteuser和remoteserver都是遠端主機的使用者名稱和ip,[email protected],第一希會提示輸入密碼

$ # ssh的時候不會提示是否儲存key

$ ssh-keyscan remote_servers >> ~/.ssh/known_hosts                   #remote_servers 是遠端主機的ip     

10、拷貝,生成ansible配置檔案

a 配置檔案/etc/ansible/ansible.cfg

# mkdir -p /etc/ansible

#cp   ansible-1.7.2/examples/ansible.cfg   /etc/ansible/

b 配置檔案/etc/ansible/hosts

# vim   /etc/ansible/hosts

[test]

10.10.3.104 #這裡放置的是可以ssh同的ip

192.168.60.127   

測試1:跳轉到遠端主機進行操作

ping 10.10.3.104   #可以通

ssh user@hostname   例如[email protected] 測試

# ansible test -m command -a 'uptime'

## 用來測試遠端主機的執行狀態

# ansible test -m ping

參看所有的引數

ansible-doc -l

注意:安裝ansiable的報錯

2.1、安裝時候報錯解決

安裝ansible的時候提示不能安裝,原因在於ansible是屬於第三方源 (epel)庫的一部分,因此要先安裝epel

yum install epel-release

yum repolist

yum install ansible

最後顯示complete!則安裝成功。

mysql自動化部署方案 什麼是自動化部署?

自動化部署將可交付產品,快速且安全地交付使用者使用的一套系統和工具。系統會自動構建 測試並準備 變更,以便將其發布到指定環境的過程,包括開發環境 預發布環境 生產環境等。自動化部署工具介紹 簡要介紹 該工具是資料庫自動化部署調優工具,支援mysql 8.0.17 8.0.18和postgresql ...

自動化部署job

bin sh the discription of start.sh echo e the script function 1 deploy the tomcat server if files exist.echo e 2 restart the tomcat server if files no...

自動化部署指令碼

usr bin env python coding utf 8 import sys,os import subprocess import re import shlex import time filename sys.argv 0 absdir os.path.abspath os.path....