Äú¿ÉÒÔ¾èÖú£¬Ö§³ÖÎÒÃǵĹ«ÒæÊÂÒµ¡£

1Ôª 10Ôª 50Ôª





ÈÏÖ¤Â룺  ÑéÖ¤Âë,¿´²»Çå³þ?Çëµã»÷Ë¢ÐÂÑéÖ¤Âë ±ØÌî



  ÇóÖª ÎÄÕ ÎÄ¿â Lib ÊÓÆµ iPerson ¿Î³Ì ÈÏÖ¤ ×Éѯ ¹¤¾ß ½²×ù Model Center   Code  
»áÔ±   
   
 
     
   
 ¶©ÔÄ
  ¾èÖú
ʹÓà Ansible ÈÃÄãµÄϵͳ¹ÜÀí×Ô¶¯»¯
 
  2138  次浏览      27
 2019-8-7
 
±à¼­ÍƼö:
±¾ÎÄÀ´Ô´ Steve Ovens £¬ÔÚ±¾ÎÄÖУ¬ÎÒ»áÏòÄãÑÝʾÈçºÎÉèÖù¤¾ßÀ´¼ò»¯¹ÜÀí¶ą̀»úÆ÷£¬Ï£Íû¶ÔÄúµÄѧϰÓÐËù°ïÖú¡£

ÄãÊÇ·ñÏ뾫½øÄãµÄϵͳ¹ÜÀíÄÜÁ¦ºÍ Linux ¼¼ÄÜ£¿Ò²ÐíÄãµÄ±¾µØ¾ÖÓòÍøÉÏÅÜÁËһЩ¶«Î÷£¬¶øÄãÓÖÏëÈÃÉú»î¸üÇáËÉÒ»µã--ÄǸÃÔõô°ìÄØ£¿ÔÚ±¾ÎÄÖУ¬ÎÒ»áÏòÄãÑÝʾÈçºÎÉèÖù¤¾ßÀ´¼ò»¯¹ÜÀí¶ą̀»úÆ÷¡£

Ô¶³Ì¹ÜÀí¹¤¾ßÓкܶ࣬SaltStack¡¢Puppet¡¢Chef£¬ÒÔ¼° Ansible ¶¼ÊǺÜÁ÷ÐеÄÑ¡Ôñ¡£ÔÚ±¾ÎÄÖУ¬ÎÒ½«Öصã·ÅÔÚ Ansible Éϲ¢»á½âÊÍËüÊÇÈçºÎ°ïµ½ÄãµÄ£¬²»¹ÜÄãÊÇÓÐ 5 ̨»¹ÊÇ 1000 ̨ÐéÄâ»ú¡£

ÈÃÎÒÃÇ´Ó¶à»ú£¨²»¹ÜÕâЩ»úÆ÷ÊÇÐéÄâµÄ»¹ÊÇÎïÀíµÄ£©µÄ»ù±¾¹ÜÀí¿ªÊ¼¡£ÎÒ¼ÙÉèÄãÖªµÀÒª×öʲô£¬Óлù´¡µÄ Linux ¹ÜÀí¼¼ÄÜ£¨ÖÁÉÙÒªÓÐÄÜÕÒ³öÖ´ÐÐÿ¸öÈÎÎñ¾ßÌå²½ÖèµÄÄÜÁ¦£©¡£ÎÒ»áÏòÄãÑÝʾÈçºÎʹÓÃÕâÒ»¹¤¾ß£¬¶øÊÇ·ñʹÓÃËüÓÉÄã×Ô¼º¾ö¶¨¡£

ʲôÊÇ Ansible£¿

Ansible µÄÍøÕ¾ÉϽ«Ö®½âÊÍΪ ¡°Ò»¸ö³¬¼¶¼òµ¥µÄ IT ×Ô¶¯»¯ÒýÇæ£¬¿ÉÒÔ×Ô¶¯½øÐÐÔÆ¹©¸ø¡¢ÅäÖùÜÀí¡¢Ó¦Óò¿Êð¡¢·þÎñÄÚ²¿±àÅÅ£¬ÒÔ¼°ÆäËûºÜ¶à IT ÐèÇ󡣡± ͨ¹ýÔÚÒ»¸ö¼¯ÖеÄλÖö¨ÒåºÃ·þÎñÆ÷¼¯ºÏ£¬Ansible ¿ÉÒÔÔÚ¶à¸ö·þÎñÆ÷ÉÏÖ´ÐÐÏàͬµÄÈÎÎñ¡£

Èç¹ûÄã¶Ô Bash µÄ for Ñ­»·ºÜÊìϤ£¬Äã»á·¢ÏÖ Ansible ²Ù×÷¸úÕâºÜÀàËÆ¡£Çø±ðÔÚÓÚ Ansible ÊÇÄ»µÈµÄidempotent¡£Í¨Ë×À´Ëµ¾ÍÊÇ Ansible Ò»°ãÖ»ÓÐÔÚȷʵ»á·¢Éú¸Ä±äʱ²ÅÖ´ÐÐËùÇëÇóµÄ¶¯×÷¡£±ÈÈ磬¼ÙÉèÄãÖ´ÐÐÒ»¸ö Bash µÄ for Ñ­»·À´Îª¶à¸ö»úÆ÷´´½¨Óû§£¬ÏñÕâÑù×Ó£º

for server in serverA serverB serverC; do ssh ${server} "useradd myuser"; done

Õâ»áÔÚ serverA¡¢serverB£¬ÒÔ¼° serverC ÉÏ´´½¨ myuser Óû§£»È»¶ø²»¹ÜÕâ¸öÓû§ÊÇ·ñ´æÔÚ£¬Ã¿´ÎÔËÐÐÕâ¸ö for Ñ­»·Ê±¶¼»áÖ´ÐÐ useradd ÃüÁî¡£Ò»¸öÄ»µÈµÄϵͳ»áÊ×Ïȼì²éÓû§ÊÇ·ñ´æÔÚ£¬Ö»ÓÐÔÚ²»´æÔÚµÄÇé¿öϲŻáÈ¥´´½¨Ëü¡£µ±È»£¬Õâ¸öÀý×Ӻܼòµ¥£¬µ«ÊÇÄ»µÈ¹¤¾ßµÄºÃ´¦½«»áËæ×Åʱ¼äµÄÍÆÒÆ±äµÃÔ½·¢Ã÷ÏÔ¡£

Ansible ÊÇÈçºÎ¹¤×÷µÄ£¿

Ansible »á½« Ansible playbooks ת»»³Éͨ¹ý SSH ÔËÐеÄÃüÁÕâÔÚ¹ÜÀíÀà UNIX »·¾³Ê±ÓкܶàÓÅÊÆ£º

¾ø´ó¶àÊýÀà UNIX »úÆ÷ĬÈ϶¼¿ªÁË SSH¡£

ÒÀÀµ SSH Òâζ×ÅÔ¶³ÌÖ÷»ú²»ÐèÒªÓдúÀí¡£

´ó¶àÊýÇé¿ö϶¼ÎÞÐè°²×°¶îÍâµÄÈí¼þ£¬Ansible ÐèÒª 2.6 »ò¸üа汾µÄ Python¡£¶ø¾ø´ó¶àÊý Linux ·¢ÐаæÄ¬È϶¼°²×°ÁËÕâÒ»°æ±¾£¨»òÕ߸üа汾£©µÄ Python¡£

Ansible ÎÞÐèÖ÷½Úµã¡£Ëû¿ÉÒÔÔÚÈκΰ²×°ÓÐ Ansible ²¢ÄÜͨ¹ý SSH ·ÃÎʵÄÖ÷»úÉÏÔËÐС£

ËäÈ»¿ÉÒÔÔÚ cron ÖÐÔËÐÐ Ansible£¬µ«Ä¬ÈÏÇé¿öÏ£¬Ansible Ö»»áÔÚÄãÃ÷È·ÒªÇóµÄÇé¿öÏÂÔËÐС£

ÅäÖÃ SSH ÃÜÔ¿ÈÏÖ¤

ʹÓà Ansible µÄÒ»ÖÖ³£Ó÷½·¨ÊÇÅäÖÃÎÞÐèÃÜÂëµÄ SSH ÃÜÔ¿µÇ¼ÒÔ·½±ã¹ÜÀí¡££¨¿ÉÒÔʹÓà Ansible Vault À´ÎªÃÜÂëµÈÃô¸ÐÐÅÏ¢Ìṩ±£»¤£¬µ«Õâ²»ÔÚ±¾ÎĵÄÌÖÂÛ·¶Î§Ö®ÄÚ£©¡£ÏÖÔÚÖ»ÐèҪʹÓÃÏÂÃæÃüÁîÀ´Éú³ÉÒ»¸ö SSH ÃÜÔ¿£¬ÈçʾÀý 1 Ëùʾ¡£

[09:44 user ~]$ ssh-keygen
Generating public/private rsa key pair¡£
Enter file in which to save the key (/home/user/.ssh/id_rsa):
Created directory '/home/user/.ssh'¡£
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/user/.ssh/id_rsa¡£
Your public key has been saved in /home/user/.ssh/id_rsa.pub¡£
The key fingerprint is:
SHA256:TpMyzf4qGqXmx3aqZijVv7vO9zGnVXsh6dPbXAZ+LUQ user@user-fedora
The key's randomart image is:
+---[RSA 2048]----+
| |
| |
| E |
| o . .¡£|
| . + S o+¡£|
| . .o * . .+ooo|
| . .+o o o oo+¡£*|
|¡£.ooo* o¡£* .*+|
| . o+*BO.o+ .o|
+----[SHA256]-----+

ʾÀý 1 £ºÉú³ÉÒ»¸ö SSH ÃÜÔ¿

ÔÚʾÀý 1 ÖУ¬Ö±½Ó°´Ï»سµ¼üÀ´½ÓÊÜĬÈÏÖµ¡£ÈκηÇÌØÈ¨Óû§¶¼ÄÜÉú³É SSH ÃÜÔ¿£¬Ò²Äܰ²×°µ½Ô¶³ÌϵͳÖÐÈκÎÓû§µÄ SSH µÄ authorized_keys ÎļþÖС£Éú³ÉÃÜÔ¿ºó£¬»¹ÐèÒª½«Ö®¿½±´µ½Ô¶³ÌÖ÷»úÉÏÈ¥£¬ÔËÐÐÏÂÃæÃüÁ

ssh-copy-id root@servera

×¢Ò⣺ÔËÐÐ Ansible ±¾ÉíÎÞÐè root ȨÏÞ£»È»¶øÈç¹ûÄãʹÓÃ·Ç root Óû§£¬ÄãÐèҪΪҪִÐеÄÈÎÎñÅäÖúÏÊ浀 sudo ȨÏÞ¡£

ÊäÈë servera µÄ root ÃÜÂ룬ÕâÌõÃüÁî»á½«ÄãµÄ SSH ÃÜÔ¿°²×°µ½Ô¶³ÌÖ÷»úÉÏÈ¥¡£°²×°ºÃ SSH ÃÜÔ¿ºó£¬ÔÙͨ¹ý SSH µÇ¼Զ³ÌÖ÷»ú¾Í²»ÔÙÐèÒªÊäÈë root ÃÜÂëÁË¡£

°²×° Ansible

Ö»ÐèÒªÔÚʾÀý 1 ÖÐÉú³É SSH ÃÜÔ¿µÄÄÇ̨Ö÷»úÉϰ²×° Ansible¡£ÈôÄãʹÓõÄÊÇ Fedora£¬ÊäÈëÏÂÃæÃüÁ

sudo dnf install ansible -y

ÈôÔËÐеÄÊÇ CentOS£¬ÄãÐèҪΪ EPEL ²Ö¿âÅäÖöîÍâµÄ°ü£º

sudo yum install epel-release -y

È»ºóÔÙʹÓà yum À´°²×° Ansible£º

sudo yum install ansible -y

¶ÔÓÚ»ùÓÚ Ubuntu µÄϵͳ£¬¿ÉÒÔ´Ó PPA Éϰ²×° Ansible£º

sudo apt-get install software-properties-common -y
sudo apt-add-repository ppa:ansible/ansible
sudo apt-get update
sudo apt-get install ansible -y

ÈôÄãʹÓõÄÊÇ macOS£¬ÄÇÃ´ÍÆ¼öͨ¹ý Python PIP À´°²×°£º

sudo pip install ansible

¶ÔÓÚÆäËû·¢Ðа棬Çë²Î¼û Ansible °²×°Îĵµ ¡£

Ansible ʹÓÃÒ»¸ö INI ·ç¸ñµÄÎļþÀ´×·×ÙÒª¹ÜÀíµÄ·þÎñÆ÷£¬ÕâÖÖÎļþ±»³ÆÖ®Îª¿â´æÇåµ¥Inventory¡£Ä¬ÈÏÇé¿öϸÃÎļþλÓÚ /etc/ansible/hosts¡£±¾ÎÄÖУ¬ÎÒʹÓÃʾÀý 2 ÖÐËùʾµÄ Ansible ¿â´æÇåµ¥À´¶ÔËùÐèµÄÖ÷»ú½øÐвÙ×÷£¨ÎªÁ˼ò½àÆð¼ûÒѾ­½øÐÐÁ˲üô£©£º

[arch]
nextcloud
prometheus
desktop1
desktop2
vm-host15
[fedora]
netflix
[centos]
conan
confluence
7-repo
vm-server1
gitlab
[ubuntu]
trusty-mirror
nwn
kids-tv
media-centre
nas
[satellite]
satellite
[ocp]
lb00
ocp_dns
master01
app01
infra01

ʾÀý 2 £º Ansible Ö÷»úÎļþ

ÿ¸ö·Ö×éÓÉÖÐÀ¨ºÅºÍ×éÃû±êʶ£¨ÏñÕâÑù [group1] )£¬ÊÇÓ¦ÓÃÓÚÒ»×é·þÎñÆ÷µÄÈÎÒâ×éÃû¡£Ò»Ì¨·þÎñÆ÷¿ÉÒÔ´æÔÚÓÚ¶à¸ö×éÖУ¬Ã»ÓÐÈκÎÎÊÌâ¡£ÔÚÕâ¸ö°¸ÀýÖУ¬ÎÒÓиù¾Ý²Ù×÷ϵͳ½øÐеķÖ×飨arch¡¢ubuntu¡¢centos¡¢fedora£©£¬Ò²Óиù¾Ý·þÎñÆ÷¹¦ÄܽøÐеķÖ×飨ocp¡¢satellite£©¡£Ansible Ö÷»úÎļþ¿ÉÒÔ´¦Àí±ÈÕ⸴ÔӵĶàµÄÇé¿ö¡£ÏêϸÄÚÈÝ£¬Çë²ÎÔÄ ¿â´æÇåµ¥Îĵµ¡£

ÔËÐÐÃüÁî

½«ÄãµÄ SSH ÃÜÔ¿¿½±´µ½¿â´æÇåµ¥ÖÐËùÓзþÎñÆ÷ÉϺó£¬Äã¾Í¿ÉÒÔ¿ªÊ¼Ê¹Óà Ansible ÁË¡£Ansible µÄÒ»Ïî»ù±¾¹¦ÄܾÍÊÇÔËÐÐÌØ¶¨ÃüÁî¡£Ó﷨Ϊ£º

ansible -a "some command"

ÀýÈ磬¼ÙÉèÄãÏëÉý¼¶ËùÓÐµÄ CentOS ·þÎñÆ÷£¬¿ÉÒÔÔËÐУº

ansible centos -a 'yum update -y'

×¢Ò⣺²»ÊDZØÐëÒª¸ù¾Ý·þÎñÆ÷²Ù×÷ϵͳÀ´½øÐзÖ×éµÄ¡£ÎÒÏÂÃæ»áÌáµ½£¬Ansible Facts ¿ÉÒÔÓÃÀ´ÊÕ¼¯ÕâÒ»ÐÅÏ¢£»È»¶ø£¬ÈôʹÓà Facts µÄ»°£¬ÔòÔËÐÐÌØ¶¨ÃüÁî»á±äµÃºÜ¸´ÔÓ£¬Òò´Ë£¬Èç¹ûÄãÔÚ¹ÜÀíÒì¹¹»·¾³µÄ»°£¬ÄÇôΪÁË·½±ãÆð¼û£¬ÎÒÍÆ¼ö´´½¨Ò»Ð©¸ù¾Ý²Ù×÷ϵͳÀ´»®·ÖµÄ×é¡£

Õâ»á±éÀú centos ×éÖеÄËùÓзþÎñÆ÷²¢°²×°ËùÓеĸüС£Ò»¸ö¸ü¼ÓÓÐÓõÄÃüÁîÓ¦¸ÃÊÇ Ansible µÄ ping Ä£¿éÁË£¬¿ÉÒÔÓÃÀ´ÑéÖ¤·þÎñÆ÷ÊÇ·ñ×¼±¸ºÃ½ÓÊÜÃüÁîÁË£º

ansible all -m ping

Õâ»áÈà Ansible ³¢ÊÔͨ¹ý SSH µÇ¼¿â´æÇåµ¥ÖеÄËùÓзþÎñÆ÷¡£ÔÚʾÀý 3 ÖпÉÒÔ¿´µ½ ping ÃüÁîµÄ²¿·ÖÊä³ö½á¹û¡£

nwn | SUCCESS => {
"changed":false£¬
"ping":"pong"
}
media-centre | SUCCESS => {
"changed":false£¬
"ping":"pong"
}
nas | SUCCESS => {
"changed":false£¬
"ping":"pong"
}
kids-tv | SUCCESS => {
"changed":false£¬
"ping":"pong"
}
...

ʾÀý 3 £ºAnsible ping ÃüÁîÊä³ö

ÔËÐÐÖ¸¶¨ÃüÁîµÄÄÜÁ¦ÓÐÖúÓÚÍê³É¿ìËÙÈÎÎñ£¨LCTT Òë×¢£ºÓ¦¸ÃÖ¸µÄÄÇÖÖÒ»´ÎÐÔÈÎÎñ£©£¬µ«ÊÇÈç¹ûÎÒÏëÔÚÒÔºóÒ²ÄÜÒÔͬÑùµÄ·½Ê½ÔËÐÐͬÑùµÄÈÎÎñÄǸÃÔõô°ìÄØ£¿Ansible playbooks ¾ÍÊÇÓÃÀ´×öÕâ¸öµÄ¡£

¸´ÔÓÈÎÎñʹÓà Ansible playbooks

Ansible ¾ç±¾playbook ¾ÍÊǰüº¬ Ansible Ö¸ÁîµÄ YAML ¸ñʽµÄÎļþ¡£ÎÒÕâÀï²»´òËã½²½âÀàËÆ Roles ºÍ Templates ÕâЩ±È½Ï¸ßÉîµÄÄÚÈÝ¡£ÓÐÐËȤµÄ»°£¬ÇëÔĶÁ Ansible Îĵµ¡£

ÔÚǰһÕ½ڣ¬ÎÒÍÆ¼öÄãʹÓà ssh-copy-id ÃüÁîÀ´´«µÝÄãµÄ SSH ÃÜÔ¿£»È»¶ø£¬±¾ÎĹØ×¢ÓÚÈçºÎÒÔÒ»ÖÖÒ»Öµġ¢¿ÉÖØ¸´ÐԵķ½Ê½À´Íê³ÉÈÎÎñ¡£Ê¾Àý 4 ÑÝʾÁËÒ»ÖÖÒÔÚ¤µÈµÄ·½Ê½£¬¼´Ê¹ SSH ÃÜÔ¿ÒѾ­´æÔÚÓÚÄ¿±êÖ÷»úÉÏÒ²Äܱ£Ö¤ÕýÈ·ÐÔµÄʵÏÖ·½·¨¡£

---
- hosts:all
gather_facts:false
vars:
ssh_key:'/root/playbooks/files/laptop_ssh_key'
tasks:
- name:copy ssh key
authorized_key:
key:"{{ lookup('file'£¬ssh_key) }}"
user:root

ʾÀý 4£ºAnsible ¾ç±¾ ¡°push ssh keys.yaml¡±

- hosts: ÐбêʶÁËÕâ¸ö¾ç±¾Ó¦¸ÃÔÚÄǸöÖ÷»ú×éÉÏÖ´ÐС£ÔÚÕâ¸öÀý×ÓÖУ¬Ëü»á¼ì²é¿â´æÇåµ¥ÀïµÄËùÓÐÖ÷»ú¡£

gather_facts: ÐÐÖ¸Ã÷ Ansible ÊÇ·ñÈ¥ËÑË÷ÿ¸öÖ÷»úµÄÏêϸÐÅÏ¢¡£ÎÒÉÔºó»á×öÒ»´Î¸üÏêϸµÄ¼ì²é¡£ÏÖÔÚΪÁ˽Úʡʱ¼ä£¬ÎÒÃÇÉèÖà gather_facts Ϊ false¡£

vars: ²¿·Ö£¬¹ËÃû˼Ò壬¾ÍÊÇÓÃÀ´¶¨Òå¾ç±¾ÖÐËùÓñäÁ¿µÄ¡£ÔÚʾÀý 4 µÄÕâ¸ö¼ò¶Ì¾ç±¾ÖÐÆäʵ²»ÊDZØÒªµÄ£¬µ«Êǰ´¹ßÀýÎÒÃÇ»¹ÊÇÉèÖÃÁËÒ»¸ö±äÁ¿¡£

×îºóÓÉ tasks: ±ê×¢µÄÕâ¸ö²¿·Ö£¬ÊÇ´æ·ÅÖ÷ÌåÖ¸ÁîµÄµØ·½¡£Ã¿¸öÈÎÎñ¶¼ÓÐÒ»¸ö -name:¡£Ansbile ÔÚÔËÐо籾ʱ»áÏÔʾÕâ¸öÃû×Ö¡£

authorized_key: ÊǾ籾ËùʹÓà Ansible Ä£¿éµÄÃû×Ö¡£¿ÉÒÔͨ¹ýÃüÁî ansible-doc -a À´²éѯ Ansible Ä£¿éµÄÏà¹ØÐÅÏ¢£» ²»¹ýͨ¹ýÍøÂçä¯ÀÀÆ÷²é¿´ Îĵµ ¿ÉÄܸü·½±ãһЩ¡£authorized_key Ä£¿é ÓкܶàºÜºÃµÄÀý×Ó¿ÉÒԲο¼¡£ÒªÔËÐÐʾÀý 4 Öеľ籾£¬Ö»ÒªÔËÐÐ ansible-playbook ÃüÁî¾ÍÐÐÁË£º

ansible-playbook push_ssh_keys.yaml

Èç¹ûÊǵÚÒ»´ÎÌí¼Ó SSH ÃÜÔ¿£¬SSH »áÌáʾÄãÊäÈë root Óû§µÄÃÜÂë¡£

ÏÖÔÚ SSH ÃÜÔ¿ÒѾ­´«Êäµ½·þÎñÆ÷ÖÐÈ¥ÁË£¬¿ÉÒÔÀ´×öµãÓÐȤµÄÊÂÁË¡£

ʹÓà Ansible ÊÕ¼¯ÐÅÏ¢

Ansible Äܹ»ÊÕ¼¯Ä¿±êϵͳµÄ¸÷ÖÖÐÅÏ¢¡£Èç¹ûÄãµÄÖ÷»úÊýÁ¿ºÜ¶à£¬ÄÇËü»áÌØ±ðµÄºÄʱ¡£°´Îҵľ­Ñ飬ÿ̨Ö÷»ú´ó¸ÅÒª»¨¸ö 1 µ½ 2 ÃëÖÓ£¬ÉõÖÁ¸ü³¤Ê±¼ä£»È»¶øÓÐʱÊÕ¼¯ÐÅÏ¢ÊÇÓкô¦µÄ¡£¿¼ÂÇÏÂÃæÕâ¸ö¾ç±¾£¬Ëü»á½ûÖ¹ root Óû§Í¨¹ýÃÜÂëÔ¶³ÌµÇ¼ϵͳ£º

---
- hosts:all
gather_facts:true
vars:
tasks:
- name:Enabling ssh-key only root access
lineinfile:
dest:/etc/ssh/sshd_config
regexp:'^PermitRootLogin'
line:'PermitRootLogin without-password'
notify:
- restart_sshd
- restart_ssh
handlers:
- name:restart_sshd
service:
name:sshd
state:restarted
enabled:true
when:ansible_distribution == 'RedHat'
- name:restart_ssh
service:
name:ssh
state:restarted
enabled:true
when:ansible_distribution == 'Debian'

ʾÀý 5£ºËø¶¨ root µÄ SSH ·ÃÎÊ

ÔÚʾÀý 5 ÖÐ sshd_config ÎļþµÄÐÞ¸ÄÊÇÓÐÌõ¼þ µÄ£¬Ö»ÓÐÔÚÕÒµ½Æ¥ÅäµÄ·¢ÐаæµÄÇé¿öϲŻáÖ´ÐС£ÔÚÕâ¸ö°¸ÀýÖУ¬»ùÓÚ Red Hat µÄ·¢ÐаæÓë»ùÓÚ Debian µÄ·¢Ðаæ¶Ô SSH ·þÎñµÄÃüÃûÊDz»Ò»ÑùµÄ£¬ÕâÒ²ÊÇʹÓÃÌõ¼þÓï¾äµÄÄ¿µÄËùÔÚ¡£ËäȻҲÓÐÆäËûµÄ·½·¨¿ÉÒÔ´ïµ½ÏàͬµÄЧ¹û£¬µ«Õâ¸öÀý×ӺܺÃÑÝʾÁË Ansible ÐÅÏ¢µÄ×÷Óá£ÈôÄãÏë²é¿´ Ansible ĬÈÏÊÕ¼¯µÄËùÓÐÐÅÏ¢£¬¿ÉÒÔÔÚ±¾µØÔËÐÐ setup Ä£¿é£º

ansible localhost -m setup |less

Ansible ÊÕ¼¯µÄËùÓÐÐÅÏ¢¶¼ÄÜÓÃÀ´×öÅжϣ¬¾Í¸úʾÀý 4 ÖÐ vars: ²¿·ÖËùÑÝʾµÄÒ»Ñù¡£Ëù²»Í¬µÄÊÇ£¬Ansible ÐÅÏ¢±»¿´³ÉÊÇÄÚÖà ±äÁ¿£¬ÎÞÐèÓÉϵͳ¹ÜÀíÔ±¶¨Òå¡£

¸ü½üÒ»²½

ÏÖÔÚ¿ÉÒÔ¿ªÊ¼Ì½Ë÷ Ansible ²¢´´½¨×Ô¼ºµÄ»ù±¾ÁË¡£Ansible ÊÇÒ»¸ö¸»ÓÐÉî¶È¡¢¸´ÔÓÐÔºÍÁé»îÐԵŤ¾ß£¬Ö»¿¿Ò»ÆªÎÄÕ²»¿ÉÄܾͰÑËü½²Í¸¡£Ï£Íû±¾ÎÄÄܹ»¼¤·¢ÄãµÄÐËȤ£¬¹ÄÀøÄãȥ̽Ë÷ Ansible µÄ¹¦ÄÜ¡£ÔÚÏÂһƪÎÄÕÂÖУ¬ÎÒ»áÔÙÁÄÁÄ Copy¡¢systemd¡¢service¡¢apt¡¢yum¡¢virt£¬ÒÔ¼° user Ä£¿é¡£ÎÒÃÇ¿ÉÒÔÔھ籾ÖÐ×éºÏʹÓÃÕâЩģ¿é£¬»¹¿ÉÒÔ´´½¨Ò»¸ö¼òµ¥µÄ Git ·þÎñÆ÷À´´æ´¢ÕâЩËùÓо籾¡£

 
   
2138 ´Îä¯ÀÀ       27
Ïà¹ØÎÄÕÂ

DevOpsתÐÍÈÚÈëµ½ÆóÒµÎÄ»¯
DevOps ÄÜÁ¦Ä£ÐÍ¡¢Ñݽø¼°°¸ÀýÆÊÎö
»ùÓÚ DevOps ÀíÄîµÄ˽ÓÐ PaaS ƽ̨ʵ¼ù
΢Èí¿ª·¢ÍŶӵÄDevOpsʵ¼ùÆôʾ
Ïà¹ØÎĵµ

DevOpsÇý¶¯Ó¦ÓÃÔËά±ä¸ïÓë´´ÐÂ
ÔËά¹ÜÀí¹æ»®
ÈçºÎʵÏÖÆóÒµÓ¦Óò¿Êð×Ô¶¯»¯
ÔËά×Ô¶¯»¯Êµ¼ù֮·
Ïà¹Ø¿Î³Ì

×Ô¶¯»¯ÔËά¹¤¾ß£¨»ùÓÚDevOps£©
»¥ÁªÍøÔËάÓëDevOps
MySQLÐÔÄÜÓÅ»¯¼°ÔËάÅàѵ
ITϵͳÔËά¹ÜÀí