±à¼ÍƼö: |
±¾ÎÄÀ´Ô´
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 ÎļþÖС£Éú³ÉÃÜÔ¿ºó£¬»¹ÐèÒª½«Ö®¿½±´µ½Ô¶³ÌÖ÷»úÉÏÈ¥£¬ÔËÐÐÏÂÃæÃüÁ
×¢Ò⣺ÔËÐÐ 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 À´°²×°£º
¶ÔÓÚÆäËû·¢Ðа棬Çë²Î¼û 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 ³¢ÊÔͨ¹ý 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 ·þÎñÆ÷À´´æ´¢ÕâЩËùÓо籾¡£ |