国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【ansible】自動(dòng)化運(yùn)維ansible之playbook劇本編寫與運(yùn)行

這篇具有很好參考價(jià)值的文章主要介紹了【ansible】自動(dòng)化運(yùn)維ansible之playbook劇本編寫與運(yùn)行。希望對大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

目錄

一、ansible劇本playbook的組成

二、palybook的基礎(chǔ)應(yīng)用:

實(shí)操1:通過palybooks完成nginx的安裝

第一種:通過yum安裝nginx

第二種:通過編譯安裝nginx

實(shí)操2:playbook定義、引用變量???????

實(shí)操3:通過playbook完成普通賬戶權(quán)限提權(quán)為root用戶

實(shí)操4:通過when條件判斷指定主機(jī)完成相應(yīng)的任務(wù)

實(shí)操5:通過with_items循環(huán)實(shí)現(xiàn)在遠(yuǎn)程主機(jī)上關(guān)閉服務(wù)、創(chuàng)建文件和目錄

實(shí)操6:基于templates模塊,完成nginx服務(wù)的配置模板

實(shí)操7:基于tags標(biāo)簽,指定完成特定的任務(wù)模塊

合并:綜合多模塊

三、關(guān)于playbook的知識(shí)點(diǎn)總結(jié)


一、ansible劇本playbook的組成

(1)Tasks:任務(wù),即通過 task 調(diào)用 ansible 的模板將多個(gè)操作組織在一個(gè) playbook 中運(yùn)行
(2)Variables:變量
(3)Templates:模板
(4)Handlers:處理器,當(dāng)changed狀態(tài)條件滿足時(shí),(notify)觸發(fā)執(zhí)行的操作
(5)Roles:角色

二、palybook的基礎(chǔ)應(yīng)用:

實(shí)操1:通過palybooks完成nginx的安裝

第一種:通過yum安裝nginx

完成playbook劇本的編寫,并完成語法檢查

【ansible】自動(dòng)化運(yùn)維ansible之playbook劇本編寫與運(yùn)行,運(yùn)維,ansible,自動(dòng)化,云原生,docker,容器,linux

#定義劇本名稱為nginx安裝
- name: install nginx
#表示捕收劑facts信息
  gather_facts: false
#指定指定此play的遠(yuǎn)程主機(jī)組
  hosts: webservers
#指定運(yùn)行此play的用戶
  remote_user: root
#指定當(dāng)前play的任務(wù)列表
  tasks:
#關(guān)閉防火墻和selinux
  - name: disabled firewalld
    service: name=firewalld  state=stopped  enabled=no
  - name: disable selinux
    command: '/sbin/setenforce 0'
    ignore_errors: yes
  - name: disabled selinux forever
    replace: path=/etc/selinux/config  regexp=enforcing  replace=disabled  after=loaded
#將nginx的repo文件傳輸給遠(yuǎn)程主機(jī)
  - name: copy nginx repo
    copy: src=/etc/yum.repos.d/nginx.repo dest=/etc/yum.repos.d/nginx.repo
#通過yum安裝nginx
  - name: install nginx by yum
    yum: name=nginx state=latest
#安裝nginx
  - name: start nginx service
    systemd: name=nginx state=started enabled=yes

【ansible】自動(dòng)化運(yùn)維ansible之playbook劇本編寫與運(yùn)行,運(yùn)維,ansible,自動(dòng)化,云原生,docker,容器,linux?【ansible】自動(dòng)化運(yùn)維ansible之playbook劇本編寫與運(yùn)行,運(yùn)維,ansible,自動(dòng)化,云原生,docker,容器,linux

驗(yàn)證

【ansible】自動(dòng)化運(yùn)維ansible之playbook劇本編寫與運(yùn)行,運(yùn)維,ansible,自動(dòng)化,云原生,docker,容器,linux【ansible】自動(dòng)化運(yùn)維ansible之playbook劇本編寫與運(yùn)行,運(yùn)維,ansible,自動(dòng)化,云原生,docker,容器,linux?

第二種:通過編譯安裝nginx

【ansible】自動(dòng)化運(yùn)維ansible之playbook劇本編寫與運(yùn)行,運(yùn)維,ansible,自動(dòng)化,云原生,docker,容器,linux

【ansible】自動(dòng)化運(yùn)維ansible之playbook劇本編寫與運(yùn)行,運(yùn)維,ansible,自動(dòng)化,云原生,docker,容器,linux

---
- name: second play for install httpd
  gather_facts: false
  hosts: webservers:dbservers
  remote_user: root
  tasks:
#關(guān)閉防火墻
  - name: disabled firewalld
    service: name=firewalld  state=stopped  enabled=no

#關(guān)閉 selinux
  - name: disable selinux
    command: '/sbin/setenforce 0'
    ignore_errors: yes
  - name: disabled selinux forever
    replace: path=/etc/selinux/config  regexp=enforcing  replace=disabled  after=loaded

#關(guān)閉和刪除yum安裝的nginx 
  - name: disabled nginx
    service: name=nginx  state=stopped  enabled=no
    ignore_errors: yes
  - name: remove nginx
    yum: name=nginx state=absent

#準(zhǔn)備本地yum倉庫
    yum: name=nginx state=absent

#準(zhǔn)備本地yum倉庫
  - name: archive yum online repo
    archive: path=/etc/yum.repos.d/*.repo dest=/etc/yum.repos.d/yum_bak.repo.tar.gz format=gz remove=yes
  - name: copy local yum repo
    copy: src=nginx/local.repo dest=/etc/yum.repos.d/local.repo
  - name: mount cdrom
    mount: src=/dev/sr0 path=/mnt fstype=iso9660 state=mounted

#安裝nginx的依賴環(huán)境包
  - name: install pkgs
    yum: name=pcre-devel,zlib-devel,openssl-devel,gcc,gcc-c++,make  state=latest

#創(chuàng)建nginx用戶
  - name: create user nginx
    user: name=nginx create_home=no shell=/sbin/nologin

#解壓軟件包并安裝
  - name: unarchive nginx package
    unarchive: copy=yes src=nginx/nginx-1.24.0.tar.gz dest=/opt/
  - name: install nginx with source
    shell: chdir=/opt/nginx-1.24.0/  ./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_stub_status_module && make && make install

#創(chuàng)建軟連接
  - name: create nginx link
    file: src=/usr/local/nginx/sbin/nginx path=/usr/sbin/nginx state=link

#創(chuàng)建nginx的service文件
  - name: create nginx service file
    copy: src=nginx/nginx.service  dest=/lib/systemd/system/nginx.service
  - name: start nginx
    service: name=nginx state=started enabled=yes

實(shí)操2:playbook定義、引用變量???????

【ansible】自動(dòng)化運(yùn)維ansible之playbook劇本編寫與運(yùn)行,運(yùn)維,ansible,自動(dòng)化,云原生,docker,容器,linux

---
- name: stop firewalld nfs crond
  gather_facts: true
  hosts: webservers:dbservers
  remote_user: root
#定義變量名為servername值為firewalld
  vars:
  - servername: firewalld
  tasks:
  - name: stop firewalld
#調(diào)用vars定義的變量
    systemd: name={{servername}} state=stopped enabled=no
  - name: copy ipv4 info
#通過調(diào)用收集的facts信息做變量值
    copy: content={{ansible_default_ipv4.address}} dest=/opt/ip.txt

【ansible】自動(dòng)化運(yùn)維ansible之playbook劇本編寫與運(yùn)行,運(yùn)維,ansible,自動(dòng)化,云原生,docker,容器,linux

縱向?qū)懛?/p>

【ansible】自動(dòng)化運(yùn)維ansible之playbook劇本編寫與運(yùn)行,運(yùn)維,ansible,自動(dòng)化,云原生,docker,容器,linux

[root@localhost playbook]#ansible-playbook demo3.yaml -e "servername=crond"

【ansible】自動(dòng)化運(yùn)維ansible之playbook劇本編寫與運(yùn)行,運(yùn)維,ansible,自動(dòng)化,云原生,docker,容器,linux?

實(shí)操3:通過playbook完成普通賬戶權(quán)限提權(quán)為root用戶

---
- name: stop firewalld nfs crond
  gather_facts: true
  hosts: dbservers
  remote_user: xueyin
  become: yes
  become_user: root
#定義變量名為servername值為firewalld
  vars:
  - servername: firewalld
  tasks:
  - name: stop firewalld
#調(diào)用vars定義的變量
    systemd:
      name: "{{servername}}"
      state: stopped
      enabled: no
  - name: copy ipv4 info
#通過調(diào)用收集的facts信息做變量值
    copy:
      content: "{{ansible_default_ipv4.address}}"
      dest: /opt/ip.txt

【ansible】自動(dòng)化運(yùn)維ansible之playbook劇本編寫與運(yùn)行,運(yùn)維,ansible,自動(dòng)化,云原生,docker,容器,linux

[root@localhost ~]#vim /etc/sudoers
不僅在playbook文件中設(shè)置sudo提權(quán)  還需要在對應(yīng)的主機(jī)上實(shí)現(xiàn)sudo提權(quán)

【ansible】自動(dòng)化運(yùn)維ansible之playbook劇本編寫與運(yùn)行,運(yùn)維,ansible,自動(dòng)化,云原生,docker,容器,linux

[root@localhost playbook]#ansible-playbook demo3.yaml -k -K
-k 指定ssh的登錄密碼
-K 大寫需要輸入用戶的登錄密碼

【ansible】自動(dòng)化運(yùn)維ansible之playbook劇本編寫與運(yùn)行,運(yùn)維,ansible,自動(dòng)化,云原生,docker,容器,linux?

實(shí)操4:通過when條件判斷指定主機(jī)完成相應(yīng)的任務(wù)

when一個(gè)比較常見的應(yīng)用場景是實(shí)現(xiàn)跳過某個(gè)主機(jī)不執(zhí)行任務(wù)或者只有滿足條件的主機(jī)執(zhí)行任務(wù)

vim test2.yaml
---
- hosts: all
  remote_user: root
  tasks:
   - name: shutdown host 
     command: /sbin/shutdown -r now
     when: ansible_default_ipv4.address == "192.168.80.12"      #when指令中的變量名不需要手動(dòng)加上 {{}}
或 
     when: inventory_hostname == "<主機(jī)名>"
	
ansible-playbook test2.yaml

實(shí)操5:通過with_items循環(huán)實(shí)現(xiàn)在遠(yuǎn)程主機(jī)上關(guān)閉服務(wù)、創(chuàng)建文件和目錄

no1:關(guān)閉firewalld、nfs、crond

---
- name: stop firewalld nfs crond
  gather_facts: true
  hosts: webservers:dbservers
  remote_user: root
#定義變量名為servername,值分別為firewalld,nfs,crond
  vars:
  - servername: [firewalld, nfs, crond]
  tasks:
  - name: stop firewalld nfs crond
#通過with_items實(shí)現(xiàn)循環(huán)關(guān)閉服務(wù)
    with_items: "{{servername}}"
    systemd: name={{item}} state=stopped enabled=no

【ansible】自動(dòng)化運(yùn)維ansible之playbook劇本編寫與運(yùn)行,運(yùn)維,ansible,自動(dòng)化,云原生,docker,容器,linux

?no2:批量創(chuàng)建多個(gè)用戶,并加入指定的組

---
- name: create user
  gather_facts: false
  hosts: dbservers
  remote_user: root
  vars:
    myusers:
    - {myname: xyc, mygroup: ky33}
    - {myname: wwy, mygroup: ky34}
    - {myname: wx, mygroup: ky35}
  tasks:
  - name: create groups
    with_items: [ky33, ky34, ky35]
    group: name={{item}}

  - name: create users and join into group
    with_items: "{{myusers}}"
    user: name={{item.myname}}  groups={{item.mygroup}}  state=present

【ansible】自動(dòng)化運(yùn)維ansible之playbook劇本編寫與運(yùn)行,運(yùn)維,ansible,自動(dòng)化,云原生,docker,容器,linux

實(shí)操6:基于templates模塊,完成nginx服務(wù)的配置模板

Templates 模塊
Jinja是基于Python的模板引擎。Template類是Jinja的一個(gè)重要組件,可以看作是一個(gè)編譯過的模板文件,用來產(chǎn)生目標(biāo)文本,傳遞Python的變量給模板去替換模板中的標(biāo)記。

1.先準(zhǔn)備一個(gè)以 .j2 為后綴的 template 模板文件,設(shè)置引用的變量
cp /etc/httpd/conf/httpd.conf /opt/httpd.conf.j2

vim /opt/httpd.conf.j2
Listen {{http_port}}				#42行,修改
ServerName {{server_name}}			#95行,修改
DocumentRoot "{{root_dir}}"          #119行,修改

實(shí)操7:基于tags標(biāo)簽,指定完成特定的任務(wù)模塊

???????可以在一個(gè)playbook中為某個(gè)或某些任務(wù)定義“標(biāo)簽”,在執(zhí)行此playbook時(shí)通過ansible-playbook命令使用--tags選項(xiàng)能實(shí)現(xiàn)僅運(yùn)行指定的tasks。
playbook還提供了一個(gè)特殊的tags為always。作用就是當(dāng)使用always作為tags的task時(shí),無論執(zhí)行哪一個(gè)tags時(shí),定義有always的tags都會(huì)執(zhí)行。
文章來源地址http://www.zghlxwxcb.cn/news/detail-828487.html

tags 模塊
可以在一個(gè)playbook中為某個(gè)或某些任務(wù)定義“標(biāo)簽”,在執(zhí)行此playbook時(shí)通過ansible-playbook命令使用--tags選項(xiàng)能實(shí)現(xiàn)僅運(yùn)行指定的tasks。
playbook還提供了一個(gè)特殊的tags為always。作用就是當(dāng)使用always作為tags的task時(shí),無論執(zhí)行哪一個(gè)tags時(shí),定義有always的tags都會(huì)執(zhí)行。

vim webhosts.yaml
---
- hosts: webservers
  remote_user: root
  tasks:
    - name: Copy hosts file
      copy: src=/etc/hosts dest=/opt/hosts
      tags:
      - only     #可自定義
    - name: touch file
      file: path=/opt/testhost state=touch
	  tags:
	  - always    #表示始終要運(yùn)行的代碼

ansible-playbook webhosts.yaml --tags="only"

vim dbhosts.yaml
---
- hosts: dbservers
  remote_user: root
  tasks:
    - name: Copy hosts file
      copy: src=/etc/hosts dest=/opt/hosts
      tags:
        - only
    - name: touch file
      file: path=/opt/testhost state=touch


ansible-playbook dbhosts.yaml --tags="only"
//分別去兩臺(tái)被管理主機(jī)上去查看文件創(chuàng)建情況

合并:綜合多模塊

---
- name: serventh play for install nginx with source
  gather_facts: yes
  hosts: webservers
  remote_user: root
  vars:
  - root_dir: /var/www/html
  tasks:
  #關(guān)閉防火墻和selinux
  - name: disabled firewalld
    service: name=firewalld  state=stopped  enabled=no
  - name: disable selinux
    command: '/sbin/setenforce 0'
    ignore_errors: yes
  - name: disabled selinux forever
    replace: path=/etc/selinux/config  regexp=enforcing  replace=disabled  after=loaded

  #安裝依賴包
  - name: mount cdrom
    mount: src=/dev/sr0  path=/mnt  fstype=iso9660 state=mounted
  - name: install pkgs
    with_items: [pcre-devel, zlib-devel, openssl-devel, gcc, gcc-c++, make]
    yum: name={{item}}  state=latest

  #創(chuàng)建運(yùn)行用戶
  - name: create nginx user
    user: name=nginx create_home=no shell=/sbin/nologin

  #解壓軟件包并安裝
  - name: unarchive nginx package
    unarchive: copy=yes src=/etc/ansible/playbook/nginx-1.24.0.tar.gz dest=/opt/
  - name: install nginx with source
    shell: chdir=/opt/nginx-1.24.0/  ./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_stub_status_module && make && make install

  #創(chuàng)建軟鏈接并啟動(dòng)服務(wù)
  - name: create link file for nginx
    file: state=link src=/usr/local/nginx/sbin/nginx path=/usr/local/sbin/nginx
  - name: create nginx service file
    copy: src=nginx.service  dest=/lib/systemd/system/nginx.service
  - name: start nginx
    service: name=nginx state=started enabled=yes

  #創(chuàng)建網(wǎng)頁根目錄
  - name: create root dir
    file: path={{root_dir}}  state=directory
  #創(chuàng)建網(wǎng)頁文件
  - name: create index.html for accp.com
    copy: content="<h1>this is accp test web page</h1>" dest={{root_dir}}/index.html
    when: ansible_default_ipv4.address == "192.168.20.17"
  - name: create index.html for benet.com
    copy: content="<h1>this is benet test web page</h1>" dest={{root_dir}}/index.html
    when: ansible_default_ipv4.address == "192.168.20.12"

  #生成配置文件
  - name: copy nginx config file with template
    template: src=/etc/ansible/playbook/nginx.conf.j2  dest=/usr/local/nginx/conf/nginx.conf
    notify: "reload nginx"

  handlers:
  - name: reload nginx
    service: name=nginx state=reloaded

三、關(guān)于playbook的知識(shí)點(diǎn)總結(jié)

inventory主機(jī)清單管理
主機(jī)清單配置文件   /etc/ansible/hosts

格式:
[組名]
主機(jī)IP[:ssh端口]     #默認(rèn)是 22 端口
主機(jī)名[:ssh端口]
主機(jī)IP[0:255]        #設(shè)置連續(xù)的主機(jī)列表范圍
主機(jī)名[a:z]    ansible_port=     ansible_user=    ansible_password=           #設(shè)置主機(jī)變量

[組名:vars]             #設(shè)置組變量
ansible_port=
ansible_user=
ansible_password=

[大組名:children]       #設(shè)置嵌套組
組名1
組名2
組名3


playbook劇本
vim XXX.yaml  XXX.yml
---
- name:                 #設(shè)置play的名稱
  hosts:                #指定執(zhí)行此play的遠(yuǎn)程主機(jī)組
  remote_user:          #指定執(zhí)行此play的用戶
  #become:              #設(shè)置是否sudo切換
  #become_user:         #指定sudo切換的用戶
  gather_facts:         #設(shè)置是否收集facts信息 yes|no|true|false
  vars:                 #設(shè)置自定義變量
  tasks:                #指定此play的任務(wù)列表
  - name:                  #定義任務(wù)的名稱
    模塊名: 模塊參數(shù)       #定義任務(wù)要使用的模塊和參數(shù)(鍵值對格式)
  - name:  
    模塊名: 模塊參數(shù)
    ignore_errors: true    #忽略此任務(wù)的失敗
  - name:  
    模塊名: 模塊參數(shù)
    notify: '任務(wù)名'       #定義此任務(wù)執(zhí)行結(jié)果為changed狀態(tài)時(shí)要觸發(fā)的handlers任務(wù)
  - name:  
    模塊名: 模塊參數(shù)
    when:                  #定義條件表達(dá)式(== != > >= < <=),條件成立時(shí)執(zhí)行此task任務(wù),否則不執(zhí)行此任務(wù)
  - name:  
    模塊名: 模塊參數(shù)={{item}}
    with_items:            #定義循環(huán)列表
  - name:  
    模塊名: 模塊參數(shù)
    tags:                  #定義任務(wù)的標(biāo)簽,ansible-playbook --tags="標(biāo)簽" 可實(shí)現(xiàn)僅執(zhí)行擁有指定標(biāo)簽的任務(wù)(擁有always標(biāo)簽的任務(wù)總是執(zhí)行)
	- 標(biāo)簽1
	- 標(biāo)簽2
	....
	
  handlers:
  - name: 任務(wù)名
    模塊名: 模塊參數(shù)


ansible-playbook XXX.yaml -u -k -K  
                          --syntax-check
						  --list-task
						  --list-hosts
						  --start-at-task="任務(wù)名稱"
						  --tags="標(biāo)簽"


tasks任務(wù)的模塊語法格式:
縱向格式:
    模塊名:
	  參數(shù)1: 值
      參數(shù)2: "{{變量名}}"
		....
橫向格式:
    模塊名: 參數(shù)1=值  參數(shù)2={{變量名}} ....

		
with_items 和 vars 的語法格式
縱向格式:
  - name:
    with_items:
    - 值1
    - 值2
    ....
    模塊名: 參數(shù)={{item}}

  vars:
    變量名:
	- 值1
	- 值2
    ....
  tasks:
  - name:
    模塊名: 參數(shù)={{item}}
    with_items: "{{變量名}}"

  #值為對象類型(鍵值對字段)時(shí):
    with_items:
    - key1: 值1
      key2: 值2
    - key1: 值3
      key2: 值4
    ....

  vars:
    變量名:
    - key1: 值1
      key2: 值2
    - key1: 值3
      key2: 值4
    ....
	
橫向格式:
  #值為純量類型時(shí):
    with_items: [值1, 值2, ....]

  vars:
    變量名: [值1, 值2, ....]

  #值為對象類型(鍵值對字段)時(shí):
    with_items:
    - {key1: 值1, key2: 值2}
    - {key1: 值3, key2: 值4}
    ....


template配置模板模塊
1)先準(zhǔn)備一個(gè) XXX.j2 配置模板文件,在模板文件中使用 {{變量名}} 格式引用主機(jī)變量、組變量、facts信息字段變量或vars字段自定義的變量的值
2)編輯 playbook 文件,在文件中的 tasks 任務(wù)中定義 template 模塊配置(template: src=XXX.j2文件路徑 dest=遠(yuǎn)程主機(jī)文件路徑)


roles角色的作用?
可以把playbook劇本里的各個(gè)play看作為一個(gè)角色,將各個(gè)角色的tasks任務(wù)、vars變量、template模板和copy、script模塊使用的相關(guān)文件等內(nèi)容放置在指定角色的目錄里統(tǒng)一管理,在需要的時(shí)候可在playbook中使用roles角色直接調(diào)用即可。也就是說roles角色可以在playbook中實(shí)現(xiàn)代碼的復(fù)用。

roles/                         #角色總目錄,其每個(gè)子目錄就是一個(gè)角色目錄
   nginx/                         #相當(dāng)于playbook中的每一個(gè)play主題,目錄名就是角色名
      files/                         #存放copy、script模塊調(diào)用的文件
	  templates/                     #存放template模塊調(diào)用的 XXX.j2 模板文件
	  tasks/main.yml                 #定義此角色的tasks普通任務(wù)列表
	  handlers/main.yml              #定義此角色通過notify觸發(fā)時(shí)執(zhí)行的handlers處理器任務(wù)列表
	  vars/main.yml                  #定義此角色用的自定義變量
	  defaults/main.yml              #定義此角色用的默認(rèn)變量(一般不用)
	  meta/main.yml                  #定義此角色的元數(shù)據(jù)信息和依賴關(guān)系
   mysql/
     .... 
   php/
     ....


vim XXX.yaml
- name:
  hosts:
  remote_user:
  roles:
  - nginx
  - mysql
  - php

ansible-playbook XXX.yaml

到了這里,關(guān)于【ansible】自動(dòng)化運(yùn)維ansible之playbook劇本編寫與運(yùn)行的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 【云原生】Ansible自動(dòng)化批量操作工具&playbook劇本

    【云原生】Ansible自動(dòng)化批量操作工具&playbook劇本

    目錄 1.playbook相關(guān)知識(shí) 1.1 playbook 的簡介 1.2 playbook的?各部分組成 2. 基礎(chǔ)的playbook劇本編寫實(shí)例 2.1 playbook編寫Apache安裝劇本(yum方式安裝) ?報(bào)錯(cuò)集: ?實(shí)例2:playbook編寫nginx 的yum安裝并且能修改其監(jiān)聽端口的劇本 實(shí)例3:定義、引用變量? 實(shí)例4:指定遠(yuǎn)程主機(jī)sudu切換用戶

    2024年02月10日
    瀏覽(24)
  • Ansible自動(dòng)化運(yùn)維工具---Playbook

    Ansible自動(dòng)化運(yùn)維工具---Playbook

    playbook是劇本的意思,通過 task 調(diào)用 ansible 的模塊將多個(gè) play 組織在一 個(gè)playbook中運(yùn)行。 playbook各部分組成 : Tasks : 任務(wù),即調(diào)用模塊完成的某操作 Variables : 變量 emplates : 模板 Handlers : 處理器,當(dāng)某條件滿足時(shí),觸發(fā)執(zhí)行的操作 Roles : 角色 playbook yaml語法 是換行空兩格,-和

    2024年02月03日
    瀏覽(20)
  • 【運(yùn)維知識(shí)進(jìn)階篇】Ansible自動(dòng)化運(yùn)維-PlayBook詳解

    【運(yùn)維知識(shí)進(jìn)階篇】Ansible自動(dòng)化運(yùn)維-PlayBook詳解

    這篇文章給大家介紹下PlayBook,我們叫它劇本,它是以一種固定的格式,將多個(gè)ad-hoc放入yml文件中。在Ansible中,劇本文件是yml結(jié)尾的,在SaltStack中劇本文件是sls結(jié)尾的,但是兩者語法都是使用的yaml語法。 1、PlayBook功能比ad-hoc全,是對ad-hoc的一種編排 2、PlayBook能很好的控制先

    2024年02月06日
    瀏覽(24)
  • 從小白到大神之路之學(xué)習(xí)運(yùn)維第61天--------Ansible自動(dòng)化運(yùn)維工具(playbook配置文件深入了解)

    從小白到大神之路之學(xué)習(xí)運(yùn)維第61天--------Ansible自動(dòng)化運(yùn)維工具(playbook配置文件深入了解)

    第三階段基礎(chǔ) 時(shí) ?間:2023年7月14日 參加人:全班人員 內(nèi) ?容: playbook配置文件 目錄 playbook配置文件 一、playbook配置文件概念 修改hosts文件 建立playbook配置文件 yml腳本寫法注釋: 二、Playbook的核心元素 三、Playbook的用法 四、實(shí)驗(yàn)案例: (一)工作流程 1、語法檢查 ? 2.預(yù)測

    2024年02月16日
    瀏覽(30)
  • Ansible之playbook劇本編寫

    Ansible之playbook劇本編寫

    playbook是 一個(gè)不同于使用Ansible命令行執(zhí)行方式的模式,其功能更強(qiáng)大靈活。簡單來說,playbook是一個(gè)非常簡單的配置管理和多主機(jī)部署系統(tǒng),不同于任何已經(jīng)存在的模式,可作為一個(gè)適合部署復(fù)雜應(yīng)用程序的基礎(chǔ)。Playbook可以定制配置,可以按照指定的操作步驟有序執(zhí)行,支

    2024年02月14日
    瀏覽(15)
  • ansible-playbook roles編寫lnmp劇本

    目錄 集中式編寫lnmp劇本 執(zhí)行 分布式編寫lnmp劇本 一定要設(shè)置ssh免交互 ?nginx mysql php ?執(zhí)行

    2024年02月14日
    瀏覽(19)
  • Ansible自動(dòng)化運(yùn)維

    Ansible自動(dòng)化運(yùn)維

    目錄 前言 一、概述 常見的開源自動(dòng)化運(yùn)維工具比較 二、ansible環(huán)境搭建 三、ansible模塊 (一)、hostname模塊 (二)、file模塊 (三)、copy模塊 (四)、fetch模塊 (五)、user模塊 (六)、group模塊 (七)、cron模塊 (八)、yum_repository模塊 (九)、yum模塊 (十)、service模塊

    2024年02月09日
    瀏覽(29)
  • 自動(dòng)化運(yùn)維工具—Ansible

    自動(dòng)化運(yùn)維工具—Ansible

    Ansible是一個(gè)基于Python開發(fā)的配置管理和應(yīng)用部署工具,現(xiàn)在也在自動(dòng)化管理領(lǐng)域大放異彩。它融合了眾多老牌運(yùn)維工具的優(yōu)點(diǎn),Pubbet和Saltstack能實(shí)現(xiàn)的功能,Ansible基本上都可以實(shí)現(xiàn)。 市面上其他自動(dòng)化工具:pupet(ruby語言) saltstack(python) chef(C/S模式)等 Ansible能批量配

    2024年02月10日
    瀏覽(23)
  • 自動(dòng)化運(yùn)維ansible(role)

    一、role的介紹 1、Roles稱為角色,本質(zhì)上是為簡化playbook配置文件而產(chǎn)生的一種特殊的方法。 2、簡單來說,roles就是將原本在一個(gè)yaml中的文件進(jìn)行規(guī)則化分散,封裝到不同的目錄下,從而簡化playbook的yaml配置文件大小。從其實(shí)現(xiàn)方法上來看,類似于軟件開發(fā)上的代碼封裝。

    2024年02月07日
    瀏覽(26)
  • Ansible 自動(dòng)化運(yùn)維工具

    Ansible 自動(dòng)化運(yùn)維工具

    目錄 一:?Ansible 簡介 ??Ansible與其他自動(dòng)化運(yùn)維工具對比? 二:?ansible 環(huán)境安裝部署? ?三:ansible 命令行模塊 1、command 模塊 2、?shell 模塊 3、?cron 模塊 4、?user 模塊 5、?group 模塊 ?6、copy 模塊 7、?file 模塊 ?8、hostname 模塊 9、ping 模塊 10、?yum 模塊 11、?service/systemd 模塊

    2024年02月15日
    瀏覽(26)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包