日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
一篇讓你快速熟悉ansible和使用

#基本概述

ansible是一款開源自動(dòng)化工具,基于python paramiko模塊開發(fā),分布式,無需客戶端

官網(wǎng)網(wǎng)址:https://www.ansible.com

官方文檔:https://docs.ansible.com/ansible/latest/user_guide/become.html

#應(yīng)用場(chǎng)景

批量執(zhí)行和分發(fā)任務(wù)

#如:同時(shí)在1000臺(tái)服務(wù)器上安裝apache服務(wù),并在安裝后啟動(dòng)服務(wù)

#如:將某一個(gè)文件一次性拷貝到1000臺(tái)服務(wù)器上

#特點(diǎn)

部署簡(jiǎn)單,只需要在ansible控制端部署

默認(rèn)使用SSH協(xié)議進(jìn)行管理主從集中化管理配置簡(jiǎn)單,擴(kuò)展性強(qiáng)支持API及自定義模塊,可通過python擴(kuò)展通過playbooks劇本來定制強(qiáng)大的配置

#架構(gòu)圖

#安裝

1.設(shè)置epel倉庫(ansible倉庫默認(rèn)不在yum倉庫中,所以要啟用epel倉庫)

yum install epel-release -y

2.使用yum進(jìn)行安裝

yum install ansible -y

3.查看版本

Ansible --version

#ansible命令參數(shù)

 
 
 
  1. ansible - Define and run a single task 'playbook' against a set of hosts  
  2. #針對(duì)一組主機(jī)定義并運(yùn)行單個(gè)任務(wù)“劇本” 
  3. ansible命令語法:ansible [-i:主機(jī)文件] [-f:批次] [組名] [-m 模塊名稱] [-a:模塊參數(shù)] 

#ansible常用參數(shù)

 
 
 
  1. -v,–verbose               #  詳細(xì)模式,如果命令執(zhí)行成功,輸出詳細(xì)的結(jié)果 (-vv –vvv -vvvv) 
  2. -i PATH, -inventory=PATH  #  指定 host 文件的路徑,默認(rèn)是在 /etc/ansible/hosts inventory  [??nv?ntri]  庫存 -f NUM,-forks=NUM       # NUM 是指定一個(gè)整數(shù),默認(rèn)是 5 ,指定 fork 開啟同步進(jìn)程的個(gè)數(shù)。 
  3. -m NAME,-module-name=NAM    #   指定使用的 module 名稱,默認(rèn)使用 command模塊 
  4. -a,MODULE_ARGS              #指定 module 模塊的參數(shù) 
  5. -k,-ask-pass                #提示輸入 ssh 的密碼,而不是使用基于 ssh 的密鑰認(rèn)證 -sudo                       # 指定使用 sudo 獲得 root 權(quán)限 -K,-ask-sudo-pass           #提示輸入 sudo 密碼,與 -sudo 一起使用 -u USERNAME,-user=USERNAME  # 指定移動(dòng)端的執(zhí)行用戶 -C,–check                   #測(cè)試此命令執(zhí)行會(huì)改變什么內(nèi)容,不會(huì)真正的去執(zhí)行 

#ansible查看幫助

 
 
 
  1. ansible-doc -l           #列出所有的模塊列表 
  2. ansible-doc -s 模塊名    #查看指定模塊的參數(shù) 
  3. ansible-doc 模塊名 #查看指定模塊的詳細(xì)參數(shù) 
  4. #示例:ansible-doc yum | ansible-dco firewalld 

#基本使用

#實(shí)驗(yàn)拓?fù)鋱D

一:定義主機(jī)清單(有兩種方式:一種基于端口,用戶名密碼,一種基于SSH密鑰)

1、基于端口、用戶名、密碼定義清單

 
 
 
  1. 格式:ansible_ssh_port:指定ssh端口  ansible_ssh_user:指定用戶  ansible_ssh_pass:指定密碼 ssh_sudo_pass:指明sudo時(shí)候的密碼 

2、基于SSH密鑰來訪問定義清單

 
 
 
  1. 在ansible服務(wù)端生成秘鑰,并且復(fù)制公鑰到節(jié)點(diǎn)中 
  2. #ssh-keygen  一直回車#一鍵生成  ssh-keygen -f ~/.ssh/id_rsa -P '' -q 
  3. 使用ssh-copy-id命令復(fù)制ansible公鑰到節(jié)點(diǎn)  ssh-copy-id  root@192.168.186.142 
  4. ?#使用sshpass批量分發(fā)密鑰到服務(wù)器[root@game scripts]# cat scp_isa.sh  
  5. #!/bin/baship=(130 131 132 133) 
  6. for i in ${ip[@]} 
  7. do 
  8.     sshpass -p"Skills39" ssh-copy-id -i /root/.ssh/id_rsa.pub "-o StrictHostKeyChecking=no" root@192.168.228.$i  
  9. done?#服務(wù)端查看效果[root@game ~]# cat /root/.ssh/known_hosts  
  10. 192.168.228.130 ecdsa-sha2-nistp256 AAAAE2VjZHNhL.....AuHi+n9iVPC0Of9D/MKK8lWuGHg= 
  11. 192.168.228.131 ecdsa-sha2-nistp256 AAAAE2VjZHNh...d8FX4mqoYCp43E2knM9t8YAZGg/k08= 
  12. 192.168.228.132 ecdsa-sha2-nistp256 AAAAE2VjZHNhL....y6U2tCs+SU/Sg+rGR8E76lqC316Q= 
  13. 192.168.228.133 ecdsa-sha2-nistp256 AAAAE2....iTuiJ+0VNOYrhh2gqW36XJVlW1+p6pj2dbo= 
  14. ?#服務(wù)端測(cè)試面密鑰登錄ssh 192.168.228.130 
  15. ?#配置清單#/etc/ansible/hosts  [db-server]  192.168.186.142 
  16.   192.168.186.135 
  17. #網(wǎng)段范圍寫法  [all]  192.168.228.[130:133] 
  18.     #如果寫主機(jī)名,需要在/etc/hosts里面寫  [a]  k8s-master#/etc/hosts[root@game ~]# cat /etc/hosts 
  19. 192.168.228.130 k8s-master 

二:在ansible服務(wù)端運(yùn)行命令

 
 
 
  1. #提示: 
  2. #首次運(yùn)行如果不進(jìn)行什么修改的話會(huì)提出警告,可以按照將deprecation改為False[DEPRECATION WARNING]: The TRANSFORM_INVALID_GROUP_CHARS settings is set to allow bad characters in group names by default,  
  3. this will change, but still be user configurable on deprecation. This feature will be removed in version 2.10. Deprecation  
  4. warnings can be disabled by setting deprecation_warnings=False in ansible.cfg. 
  5. [WARNING]: Invalid characters were found in group names but not replaced, use -vvvv to see details 
  6. #[root@k8s-master ~]# vim /etc/ansible/ansible.cfg 
  7. deprecation_warnings=False 

1、使用ping檢查k8s-node節(jié)點(diǎn)機(jī)器的連通性

 
 
 
  1. [root@k8s-master ~]# ansible k8s-node -m ping 
  2. #提示:也可以指定hosts文件,但是默認(rèn)就是讀取那個(gè)文件,所以不指定也是可以的 # ansible -i /etc/ansible/hosts k8s-node -m ping192.168.86.133 | SUCCESS => { 
  3.     "ansible_facts": { 
  4.         "discovered_interpreter_python": "/usr/bin/python" 
  5.     },     "changed": false,  
  6.     "ping": "pong" 
  7. }192.168.86.132 | SUCCESS => { 
  8.     "ansible_facts": { 
  9.         "discovered_interpreter_python": "/usr/bin/python" 
  10.     },     "changed": false,  
  11.     "ping": "pong" 

2、檢查ansible節(jié)點(diǎn)的運(yùn)行時(shí)間

 
 
 
  1. [root@k8s-master ~]# ansible k8s-node -m command -a 'uptime' 
  2. 192.168.86.133 | CHANGED | rc=0 >> 
  3.  23:16:34 up 5 min,  2 users,  load average: 0.00, 0.03, 0.03 
  4. 192.168.86.132 | CHANGED | rc=0 >> 
  5.  23:16:34 up 31 min,  2 users,  load average: 0.00, 0.01, 0.04 

3、檢查節(jié)點(diǎn)的內(nèi)核版本

 
 
 
  1. [root@k8s-master ~]# ansible k8s-node -a 'uname -r' 
  2. 192.168.86.132 | CHANGED | rc=0 >> 
  3. 3.10.0-1062.el7.x86_64 
  4. 192.168.86.133 | CHANGED | rc=0 >> 
  5. 3.10.0-1062.el7.x86_64 

當(dāng)前文章:一篇讓你快速熟悉ansible和使用
文章路徑:http://www.dlmjj.cn/article/djdgpip.html