1、項目背景
公司最近在生產環境上線內網dns服務器,開源組件選的是powerdns。其中客戶端要安裝powerdns-recursor,那麼疑問來了,線上有100多臺server,如何高效快速安裝,就得我們運維考慮啦。由於線上之前有部署ansible來批量管理服務器,於是我這的方案就是ansible+定製好的rmp包powerdns-recursor+ansible-doc yum模塊。
2、構建本地yum倉庫
因爲我沒找到ansible安裝rpm包的模塊,所有隻能用yum模塊,因此先要構造本地yum倉庫,詳細參考我的另外一篇博客http://hanyun.blog.51cto.com/1060170/1660078
3、構建定製rpm包,後面找時間補上這塊的內容
4、前3步準備好以後,接下來安裝就很容易。
ansible ttp_www -m yum -a 'name=http://172.16.1.211:81/powerdns-recursor-3.7.3-0.el6.x86_64.rpm state=installed' --sudo
x.x.x.x | success >> {
"changed": true,
"msg": "",
"rc": 0,
"results": [
"Loaded plugins: downloadonly, fastestmirror\nLoading mirror speeds from cached hostfile\n * base: mirrors.zju.edu.cn\n * epel: ftp.cuhk.edu.hk\n * extras: mirrors.163.com\n * updates: mirrors.zju.edu.cn\nSetting up Install Process\nExamining /var/tmp/yum-root-Chl1dY/powerdns-recursor-3.7.3-0.el6.x86_64.rpm: powerdns-recursor-3.7.3-0.el6.x86_64\nMarking /var/tmp/yum-root-Chl1dY/powerdns-recursor-3.7.3-0.el6.x86_64.rpm to be installed\nResolving Dependencies\n--> Running transaction check\n---> Package powerdns-recursor.x86_64 0:3.7.3-0.el6 will be installed\n--> Finished Dependency Resolution\n\nDependencies Resolved\n\n================================================================================\n Package Arch Version Repository Size\n================================================================================\nInstalling:\n powerdns-recursor\n x86_64 3.7.3-0.el6 /powerdns-recursor-3.7.3-0.el6.x86_64 9.8 M\n\nTransaction Summary\n================================================================================\nInstall 1 Package(s)\n\nTotal size: 9.8 M\nInstalled size: 9.8 M\nDownloading Packages:\nRunning rpm_check_debug\nRunning Transaction Test\nTransaction Test Succeeded\nRunning Transaction\n\r Installing : powerdns-recursor-3.7.3-0.el6.x86_64 1/1 \n\r Verifying : powerdns-recursor-3.7.3-0.el6.x86_64 1/1 \n\nInstalled:\n powerdns-recursor.x86_64 0:3.7.3-0.el6 \n\nComplete!\n"
]
}
x.x.x.x | success >> {
"changed": true,
"msg": "http://ftp.cuhk.edu.hk/pub/linux/fedora-epel/6/x86_64/repodata/1391f50a2eef61cff2d1b2f05609edfb43368031e4a19ddf85bddda5847df910-primary.sqlite.bz2: [Errno 14] PYCURL ERROR 7 - \"couldn't connect to host\"\nTrying other mirror.\n",
"rc": 0,
"results": [
"Loaded plugins: downloadonly, fastestmirror\nLoading mirror speeds from cached hostfile\n * base: mirrors.pubyun.com\n * epel: ftp.cuhk.edu.hk\n * extras: mirrors.pubyun.com\n * updates: centos.ustc.edu.cn\nSetting up Install Process\nExamining /var/tmp/yum-root-4imk7e/powerdns-recursor-3.7.3-0.el6.x86_64.rpm: powerdns-recursor-3.7.3-0.el6.x86_64\nMarking /var/tmp/yum-root-4imk7e/powerdns-recursor-3.7.3-0.el6.x86_64.rpm to be installed\nResolving Dependencies\n--> Running transaction check\n---> Package powerdns-recursor.x86_64 0:3.7.3-0.el6 will be installed\n--> Finished Dependency Resolution\n\nDependencies Resolved\n\n================================================================================\n Package Arch Version Repository Size\n================================================================================\nInstalling:\n powerdns-recursor\n x86_64 3.7.3-0.el6 /powerdns-recursor-3.7.3-0.el6.x86_64 9.8 M\n\nTransaction Summary\n================================================================================\nInstall 1 Package(s)\n\nTotal size: 9.8 M\nInstalled size: 9.8 M\nDownloading Packages:\nRunning rpm_check_debug\nRunning Transaction Test\nTransaction Test Succeeded\nRunning Transaction\n\r Installing : powerdns-recursor-3.7.3-0.el6.x86_64 1/1 \n\r Verifying : powerdns-recursor-3.7.3-0.el6.x86_64 1/1 \n\nInstalled:\n powerdns-recursor.x86_64 0:3.7.3-0.el6 \n\nComplete!\n"
]
}