Ansible實(shí)現(xiàn)Nginx負(fù)載均衡客戶請(qǐng)求至后端Tomcat服務(wù)器集群

搭建環(huán)境

  • 安裝Ansible
yum -y install ansible
  • 配置主機(jī)清單
 vim /etc/ansible/hosts
定義主機(jī)清單
  • 檢查主機(jī)清單是否添加成功
[root@Client ansible]#ansible all --list-hosts
  hosts (3):
    host1.centos7
    host2.centos7
    host3.centos7
[root@Client ansible]#ansible lb --list-hosts
  hosts (1):
    host1.centos7
[root@Client ansible]#ansible tc --list-hosts
  hosts (2):
    host2.centos7
    host3.centos7
[root@Client ansible]#
  • 基于ssh做無(wú)密鑰認(rèn)證
[root@Client ansible]#ssh-keygen -t rsa -P ''
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa): 
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
02:6e:ab:d7:9a:35:54:25:7b:e6:2d:f7:c8:d8:aa:c1 root@Client.centos7
The key's randomart image is:
+--[ RSA 2048]----+
|        . .      |
|         +       |
|    .   o o      |
|   . . . + .     |
|    o o S o o    |
|   . o o   * o   |
|    ..o E . + .  |
|   ..o.. . .     |
|  ..o.  ...      |
+-----------------+
[root@Client ansible]#ssh-copy-id -i ~/.ssh/id_rsa.pub root@host1
The authenticity of host 'host1 (192.168.10.11)' can't be established.
ECDSA key fingerprint is 9a:7d:a7:45:06:e0:7f:f2:d5:9c:35:05:8c:c2:f7:e9.
Are you sure you want to continue connecting (yes/no)? yes
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), 
to filter out any that are already installed
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now 
it is to install the new keys
root@host1's password: 

Number of key(s) added: 1

Now try logging into the machine, with:   "ssh 'root@host1'"
and check to make sure that only the key(s) you wanted were added.

[root@Client ansible]#ssh-copy-id -i ~/.ssh/id_rsa.pub root@host2
...
[root@Client ansible]#ssh-copy-id -i ~/.ssh/id_rsa.pub root@host3
...
  • 測(cè)試 ssh 鏈接
  • 執(zhí)行簡(jiǎn)單的ansible命令測(cè)試能否管控遠(yuǎn)程主機(jī)
[root@Client ansible]#ansible all -m shell -a "ifconfig ens33" 
  • 同步時(shí)間

創(chuàng)建角色

需要?jiǎng)?chuàng)建三個(gè)角色分別為nginxtomcat 以及 jdk

  • 編寫playbook劇本nt.yml :
  • 編寫nginx角色的tasks :
  • 編寫nginx角色的配置文件 :
  • 編寫nginx角色的handlers :
  • 測(cè)試一下nginx角色能否成執(zhí)行:
  • 在lb主機(jī)上查看進(jìn)程和端口是否存在:

  • 編輯tomcat角色的tasks :

  • 編寫jdk角色的tasks :
  • 編寫jdk角色的files/java.sh :
  • 編寫jdk角色的vars/main.yml :

完善我們的劇本nt.yml

執(zhí)行我們的劇本

[root@Client ansible]#ansible-playbook nt.yml   

PLAY [lb] **********************************************************************

TASK [setup] *******************************************************************
ok: [host1.centos7]

TASK [nginx : install nginx] ***************************************************
ok: [host1.centos7]

TASK [nginx : install conf] ****************************************************
ok: [host1.centos7]

TASK [nginx : start nginx] *****************************************************
ok: [host1.centos7]

PLAY [tc] **********************************************************************

TASK [setup] *******************************************************************
ok: [host3.centos7]
ok: [host2.centos7]

TASK [jdk : install openjdk] ***************************************************
changed: [host2.centos7]
changed: [host3.centos7]

TASK [jdk : install evn file] **************************************************
changed: [host3.centos7]
changed: [host2.centos7]

TASK [tomcat : install package] ************************************************
changed: [host3.centos7] => (item=[u'tomcat', u'tomcat-admin-webapps', u'tomcat-webapps', u'tomcat-docs-webapp'])
changed: [host2.centos7] => (item=[u'tomcat', u'tomcat-admin-webapps', u'tomcat-webapps', u'tomcat-docs-webapp'])

TASK [tomcat : start tomcat] ***************************************************
changed: [host3.centos7]
changed: [host2.centos7]

PLAY RECAP *********************************************************************
host1.centos7              : ok=4    changed=0    unreachable=0    failed=0   
host2.centos7              : ok=5    changed=4    unreachable=0    failed=0   
host3.centos7              : ok=5    changed=4    unreachable=0    failed=0   

[root@Client ansible]#

最終測(cè)試

在瀏覽器里輸入www.grh.io

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市晓避,隨后出現(xiàn)的幾起案子碴开,更是在濱河造成了極大的恐慌,老刑警劉巖替劈,帶你破解...
    沈念sama閱讀 218,755評(píng)論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡骂倘,警方通過(guò)查閱死者的電腦和手機(jī)婿禽,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,305評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門赏僧,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人扭倾,你說(shuō)我怎么就攤上這事淀零。” “怎么了膛壹?”我有些...
    開封第一講書人閱讀 165,138評(píng)論 0 355
  • 文/不壞的土叔 我叫張陵驾中,是天一觀的道長(zhǎng)唉堪。 經(jīng)常有香客問(wèn)我,道長(zhǎng)肩民,這世上最難降的妖魔是什么唠亚? 我笑而不...
    開封第一講書人閱讀 58,791評(píng)論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮持痰,結(jié)果婚禮上灶搜,老公的妹妹穿的比我還像新娘。我一直安慰自己工窍,他們只是感情好割卖,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,794評(píng)論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著移剪,像睡著了一般究珊。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上纵苛,一...
    開封第一講書人閱讀 51,631評(píng)論 1 305
  • 那天剿涮,我揣著相機(jī)與錄音,去河邊找鬼攻人。 笑死取试,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的怀吻。 我是一名探鬼主播瞬浓,決...
    沈念sama閱讀 40,362評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼蓬坡!你這毒婦竟也來(lái)了猿棉?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,264評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤屑咳,失蹤者是張志新(化名)和其女友劉穎萨赁,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體兆龙,經(jīng)...
    沈念sama閱讀 45,724評(píng)論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡杖爽,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,900評(píng)論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了紫皇。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片慰安。...
    茶點(diǎn)故事閱讀 40,040評(píng)論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖聪铺,靈堂內(nèi)的尸體忽然破棺而出化焕,到底是詐尸還是另有隱情,我是刑警寧澤铃剔,帶...
    沈念sama閱讀 35,742評(píng)論 5 346
  • 正文 年R本政府宣布锣杂,位于F島的核電站脂倦,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏元莫。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,364評(píng)論 3 330
  • 文/蒙蒙 一蝶押、第九天 我趴在偏房一處隱蔽的房頂上張望踱蠢。 院中可真熱鬧,春花似錦棋电、人聲如沸茎截。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,944評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)企锌。三九已至,卻和暖如春于未,著一層夾襖步出監(jiān)牢的瞬間撕攒,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,060評(píng)論 1 270
  • 我被黑心中介騙來(lái)泰國(guó)打工烘浦, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留抖坪,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,247評(píng)論 3 371
  • 正文 我出身青樓闷叉,卻偏偏與公主長(zhǎng)得像擦俐,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子握侧,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,979評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容

  • 一.ansible (1) ansible: ansible是一款新出現(xiàn)的自動(dòng)化運(yùn)維系統(tǒng)蚯瞧,基于python開發(fā)并集...
    楠人幫閱讀 1,943評(píng)論 0 8
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn)品擎,斷路器埋合,智...
    卡卡羅2017閱讀 134,659評(píng)論 18 139
  • ansible介紹ansible常用模塊使用playbooktemplates,模板條件測(cè)試和循環(huán)迭代roles孽查,...
    哈嘍別樣閱讀 1,411評(píng)論 0 3
  • 1. 什么是Ansible饥悴,它有什么用? Ansible它是個(gè)集配置管理和應(yīng)用部署于一體的自動(dòng)化運(yùn)維工具盲再。 應(yīng)用情...
    午覺不眠Orz閱讀 1,521評(píng)論 0 0
  • 行程安排: DAY1 西安古城墻——回民街 DAY2 大雁塔——西安交響樂公演 DAY3 秦始皇陵兵馬俑 常規(guī)費(fèi)用...
    小丸子愛吃魚呀閱讀 372評(píng)論 2 1