中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Ansible自動化運維

發布時間:2020-07-21 06:54:44 來源:網絡 閱讀:413 作者:mb5d03569e7eb16 欄目:系統運維

Ansible中使用的不同角色(使用者,Ansible工具集,作用對象)
lnventory是Ansible管理主機信息的配置文件,默認存放在/etc/ansible/hosts中。
Ansible工具集包含(lnventrol,Modules,Pluginx和APL)
lnventrol:管理主機的清單
Modules:執行命令模塊
APl:接口
Ansible:核心執行工具
直接實驗!
三臺linux服務器,其中一臺Ansible服務器。
分別為192.168.1.1 192.168.1.2 192.168.1.3Ansible自動化運維
以一臺為例,關閉防火墻,selinux,
服務器上配置如下:
一,yum安裝Ansible
Ansible自動化運維
Ansible自動化運維
二,進入配置文件加上節點ip
vim /etc/ansible/hosts
Ansible自動化運維
管理的主機ip
三,創建ssh免交互式登錄(就是直接登錄不需要密碼)
(1)從ansible主機上生成密鑰對
Ansible自動化運維
(2)復制公鑰到倆個要管理的主機(這里就演示一個)
Ansible自動化運維
然后輸入:ssh 192.168.1.2直接就能切換過去,不需要密碼
(3)檢查所有之際是否存活,命令如下
Ansible自動化運維
·一般會用三種顏色來表示執行的結果:紅色,綠色
其中:紅色表示執行過程有異常,表示執行后目標有變化,綠色表示執行成功且沒有對目標主機做修改。

(4)command模塊
command模塊在遠程主機執行命令,不支持管道符,重定向等shell的特性
Ansible自動化運維
顯示出倆個主機的用戶
(5)shell模塊
shell模塊在遠程主機執行命令,和command模塊的區別在于它支持shell特性,如管道符,重定向等
Ansible自動化運維
web是清單里面包括了倆個主機(可以多個,在清單里添加就可以)在倆太主機/tmp下創建了倆個HELLOW,txt的文件
(6)copy模塊
用于復制指定主機的文件到別的主機
dest:指出目標文件的位置,
src:指出源文件的路徑Ansible自動化運維
在本主機上創建個目錄直接復制到倆個節點上的/tmp下
(7)hostname模塊
用于遠程管理主機的主機名
Ansible自動化運維
把主機名改為了asd
(8)yum模塊
用于對遠程主機管理程序包前提要安裝的主機必須配置好yum,這只是提供命令遠程,比如安裝http,命令如下,
state=(present,latest,absent )(安裝,安裝最新,卸載)
Ansible自動化運維
(9)service模塊
用與管理遠程主機上的服務,開啟,關閉,查看或開機自啟
Ansible自動化運維
(10)user模塊
用于管理遠程主機的用戶賬號比如創建用戶,uid號,用戶的組,用戶的附加組
Ansible自動化運維
四,Playbook配置文件
編寫腳本來管理遠程主機
ansible腳本必須對齊
提前先修改一下配置文件:vim /etc/ansible/hosts
Ansible自動化運維
Ansible自動化運維
標準的
Ansible自動化運維
這是語法檢測,顯示下面的意思是沒有錯誤
這是創建用戶的腳本,如下:---

  • hosts: web1
    remote_user: root
    tasks:
    • name: adduser
      user: name=user2 state=present
      tags:
      • aaa
    • name: addgroup
      group: name=root system=yes
      tags:
      • bbb
  • hosts: web2
    remote_user: root
    tasks:
    • name: copy file to web
      copy: src=/etc/passwd dest=/home
      tags:
      • ccc
        ...
        執行腳本
        Ansible自動化運維
        五,觸發器
        編寫腳本更改遠程主機的端口號并重新啟動

  • hosts: web1
    remote_user: root
    tasks:
    • name: change port
      command: sed -i 's/Listen\ 80/Listen\ 8080/g' /etc/httpd/conf/httpd.conf
      notify:
      • restart httpd server
        handlers:
    • name: restart httpd server
      service: name=httpd state=restarted
      ...
      六,角色
      角色一般存放在/etc/ansible/roles/目錄,比如編寫一個創建數據庫,在數據庫中創建個表,
      首先創建多個目錄來存放
      Ansible自動化運維
      然后進入mariadb文件夾中的tasks創建一個腳本
      Ansible自動化運維
      內容為:

  • name: install mariadb
    yum: name=mariadb-server state=present
  • name: move config file
    shell: "[ -e /etc/my.cnf ]&& mv /etc/my.cnf /etc/my.cnf.bak"
  • name: provide a new config file
    copy: src=my.cnf dest=/etc/my.cnf
  • name: reload mariadb
    shell: systemctl restart mariadb
  • name: create database testdb
    shell: mysql -u root -e "create database testdb;grant all on testdb.* to'test'@'192.168.8.%' identified by 'test123';flush privileges;"
    notify:
    • restart mariadb
      ...
      句號表示 -
      然后進入hanglers文件夾中編寫和腳本
      Ansible自動化運維
      內容為

  • name: restart mariadb
    service: name=mariadb state=restarted
    ...
    再進入files文件夾中復制mysql配置文件
    Ansible自動化運維
    最后進入ansible文件夾中創建腳本
    Ansible自動化運維
    最后啟動腳本
    倆個主機就有mysql數據庫里面有一個testdb的表
    實驗完成
向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

定兴县| 宿迁市| 南充市| 孝昌县| 延庆县| 栾川县| 哈尔滨市| 永城市| 岑巩县| 睢宁县| 榆树市| 广饶县| 文昌市| 晴隆县| 七台河市| 富锦市| 台北市| 惠来县| 利辛县| 黑河市| 苏尼特左旗| 瑞丽市| 湖州市| 临高县| 永和县| 三门县| 衡阳市| 长泰县| 开封县| 阜南县| 宜兴市| 政和县| 大丰市| 休宁县| 宁海县| 铜山县| 大悟县| 江门市| 东阳市| 余庆县| 南陵县|