1. 程式人生 > >Esxi中手動實踐出來的自動化運維方法----日常批量管理操作好助手(Ansible)

Esxi中手動實踐出來的自動化運維方法----日常批量管理操作好助手(Ansible)

    在Linux的世界,Ansible是實現自動化運維的常用好工具,通過它可以很好地批理執行命令,實現高效對大量伺服器的管理,極大提高運維效率(當然現在WINDOS下也可以實用Ansible進行批量管理實現運維自動化,不過相對應用較少)。
   由於公司裡有許多ESXI伺服器,而時常我也會用SSH上去進行除錯管理,而且部分操作應用也是相同的,有時想想能用一個統計的入口進行管理該有多好,於是首先也想到了Ansible工具,於是產生了實踐的想法,一開始我也不知道能否成功,不過不去試試怎麼知道呢,知識海那麼大,唯有去試試,^.^,實踐證明它是支援的,而且自從我在Esxi上用Ansible管理後,對Esxi伺服器操作中,大大方便了我的日常管理,SO EASY,這裡分享下操作過程吧。

         1、安裝
           找一臺裝有Linux的伺服器直接YUM 安裝Ansible 即可(一般在跳板機吧/堡壘機)
              yum install ansible -y

Esxi中手動實踐出來的自動化運維方法----日常批量管理操作好助手(Ansible)
安裝好後檢視下:
Esxi中手動實踐出來的自動化運維方法----日常批量管理操作好助手(Ansible)
2、配置Ansible配置檔案: vim /etc/ansible/hosts
Esxi中手動實踐出來的自動化運維方法----日常批量管理操作好助手(Ansible)

         在配置檔案中加入以下ESXI主機組,如果有多個組別就分多個組別按照以下方法加上即可。
         [esxi]
   192.168.26.199
   192.168.26.200
   192.168.26.205

         3、生成祕鑰:(通常堡壘機上生成)    ssh-keygen -t rsa
             ![](http://i2.51cto.com/images/blog/201812/05/0b607aa00de2389dc76e3df92bad6a45.jpg?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)

![](http://i2.51cto.com/images/blog/201812/05/6a1e359a055de29c6e7c9f1bb99c286c.jpg?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
       4、把生成的公鑰放到ESXI主機上的/etc/ssh/keys-root/authorized_keys檔案中即可。
            cat  /etc/ssh/keys-root/authorized_keys

            ![](http://i2.51cto.com/images/blog/201812/05/e7dabe644a638fd10e75e018a2efc210.jpg?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)

            5、測試用Ansible傳送命令,檢視或管理ESXI伺服器。
            例如:檢視ESXI伺服器開啟時間
            ansible esxi -m shell -a'uptime'
            ![](http://i2.51cto.com/images/blog/201812/05/d20b06ea475f9a09104dede651f71375.jpg?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)

            檢視ESXI伺服器定時計劃任務配置檔案屬性:
            ansible esxi -m shell -a'ls -l /var/spool/cron/crontabs/root '

            ![](http://i2.51cto.com/images/blog/201812/05/2ffc8e5dd85d1da527df590ccae6e45e.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)

            為ESXI伺服器新增定時關機指令碼
            ansible esxi -m shell -a 'chmod 1644  /var/spool/cron/crontabs/root && echo "30 21  12  12 * root /vmfs/volumes/datastore1/gj.sh">>/var/spool/cron/crontabs/root && chmod 1444  /var/spool/cron/crontabs/root '

            ![](http://i2.51cto.com/images/blog/201812/05/d88b8d056e4889df96c8e6f85fa2edee.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
            檢視下許可權也改回去了,執行成功:
            ansible esxi -m shell -a'ls -l /var/spool/cron/crontabs/root '
            ![](http://i2.51cto.com/images/blog/201812/05/fab382a15501a381e9f9d911e5fd0f00.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
            如果你有ESXI伺服器,需要SSH管理操作,裝上Ansible體驗一下吧,其它應用在ESXI上的應用自己實踐下。