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

Ansible基礎6——文件模塊、jinja2模板

這篇具有很好參考價值的文章主要介紹了Ansible基礎6——文件模塊、jinja2模板。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

一、常用文件模塊

模塊名稱 釋義
blockinfile 插入、更新或刪除由可自定義標記線包圍的多行文本塊
copy 將文件從本地或遠程計算機復制到受管主機上的某個位置。類似于file模塊,copy模塊還可以設置文件屬性,包括SELinux上下文件。
fetch 此模塊的作用和copy模塊類似,但以相反方式工作。此模塊用于從遠程計算機獲取文件到控制節(jié)點,并將它們存儲在按主機名組織的文件樹中。
file 設置權限、所有權、SELinux上下文以及常規(guī)文件、符號鏈接、硬鏈接和目錄的時間戳等屬性。此模塊還可以創(chuàng)建刪除常規(guī)文件、符號鏈接、硬鏈接和目錄。其他多個與文件相關的模塊支持與file模塊相同的屬性設置選項,包括copy模塊。
lineinfile 確保特定行位于某文件中,或使用反向引用正則表達式來替換現(xiàn)有行。此模塊主要在用戶想要更改文件的某一行時使用。
stat 檢索文件的狀態(tài)信息,類似于Linux中的stat命令。
synchronize 圍繞rsync命令的一個打包程序,可加快和簡化常見任務。synchronize模塊無法提供對rsync命令的完整功能的訪問權限,但確實最常見的調用更容易實施。用戶可能仍需通過run command模塊直接調用rsync命令。

1.1 blockinfile模塊

  • 模塊連接
  • 可以判斷受控機上的文件內(nèi)容,前提是受控機上有這個文件。

1.判斷受控機上的文件里是否存在某行內(nèi)容。

[root@localhost playbook]# cat qingjun.yml 
---
- name: 判斷文件內(nèi)容是否存在
  hosts: 192.168.130.161
  gather_facts: no
  tasks:
    - name: 判斷文件內(nèi)容是否存在
      blockinfile:
        path: /opt/qingjun
        block: |
          Are you  like study            ##判斷受控機上的/opt/qingjun文件是否存在此行內(nèi)容,不存在則添加此行。

Ansible基礎6——文件模塊、jinja2模板
2.更新ansible追加進去的文本內(nèi)容。

[root@localhost playbook]# cat qingjun.yml 
---
- name: 判斷文件內(nèi)容是否存在
  hosts: 192.168.130.161
  gather_facts: no
  tasks:
    - name: 判斷文件內(nèi)容是否存在
      blockinfile:
        path: /opt/qingjun
        block: |
          大好河山     ##將之前添加進去的內(nèi)容換成此行,代表之前添加內(nèi)容會被刪除,再在文件里添加此行。

Ansible基礎6——文件模塊、jinja2模板
3.追加新文件內(nèi)容。

[root@localhost playbook]# cat qingjun.yml 
---
- name: 判斷文件內(nèi)容是否存在
  hosts: 192.168.130.161
  gather_facts: no
  tasks:
    - name: 判斷文件內(nèi)容是否存在
      blockinfile:
        path: /opt/qingjun
        block: |
          大好河山
          華夏九州     ##追加此行內(nèi)容。

Ansible基礎6——文件模塊、jinja2模板

1.2 file模塊

  • 模塊連接
  • 功能較多,常用模塊,可以創(chuàng)建文件,創(chuàng)建目錄,創(chuàng)建軟連接,并能添加屬主屬組和相關權限。

1.2.1 創(chuàng)建文件并賦予權限

1.創(chuàng)建文件,屬主屬組為qingjun,并添加權限。

[root@localhost playbook]# cat qingjun.yml 
---
- name: 創(chuàng)建文件
  hosts: 192.168.130.161
  gather_facts: no
  tasks:
    - name: 添加權限創(chuàng)建文件
      file:
        name: /opt/qingjun.txt
        owner: qingjun
        group: qingjun
        mode: '644'
        state: touch

Ansible基礎6——文件模塊、jinja2模板
2.使用符號指定權限創(chuàng)建文件。

[root@localhost playbook]# cat qingjun.yml 
---
- name: 創(chuàng)建文件
  hosts: 192.168.130.161
  gather_facts: no
  tasks:
    - name: 添加權限創(chuàng)建文件
      file:
        name: /opt/qingjun.txt
        owner: qingjun
        group: qingjun
        mode: u-w,o+w,a+w
        state: touch

Ansible基礎6——文件模塊、jinja2模板

1.2.2 創(chuàng)建目錄并賦予權限

1.創(chuàng)建目錄,不指定權限就賦予默認權限。

[root@localhost playbook]# cat qingjun.yml 
---
- name: 創(chuàng)建文件
  hosts: 192.168.130.161
  gather_facts: no
  tasks:
    - name: 添加權限創(chuàng)建文件
      file:
        name: /opt/baimu
        owner: qingjun
        group: qingjun
        state: directory

Ansible基礎6——文件模塊、jinja2模板
2.指定目錄權限創(chuàng)建。

[root@localhost playbook]# cat qingjun.yml 
---
- name: 創(chuàng)建文件
  hosts: 192.168.130.161
  gather_facts: no
  tasks:
    - name: 添加權限創(chuàng)建文件
      file:
        name: /opt/baimu
        owner: qingjun
        group: qingjun
        mode: '0777'       ##指定目錄權限創(chuàng)建。
        state: directory

Ansible基礎6——文件模塊、jinja2模板

1.2.3 創(chuàng)建軟連接

1.對文件軟連接。

[root@localhost playbook]# cat qingjun.yml 
---
- name: 創(chuàng)建文件
  hosts: 192.168.130.161
  gather_facts: no
  tasks:
    - name: 添加權限創(chuàng)建文件
      file:
        src: /opt/qingjun.txt     ##源文件。
        dest: /opt/baimu/link_qingjun.txt      ##目的地址,自定義連接連接名。
        owner: qingjun
        group: qingjun
        state: link

Ansible基礎6——文件模塊、jinja2模板
2.對目錄軟連接。

[root@localhost playbook]# cat qingjun.yml 
---
- name: 創(chuàng)建文件
  hosts: 192.168.130.161
  gather_facts: no
  tasks:
    - name: 添加權限創(chuàng)建文件
      file:
        src: /opt/baimu            ##源目錄。
        dest: /tmp/link_baimu       ##目標地址,自定義連接目錄名稱,進入連接目錄相當于進入源目錄。
        owner: qingjun
        group: qingjun
        state: link

Ansible基礎6——文件模塊、jinja2模板

1.2.4 刪除文件或目錄

1.刪除文件。

[root@localhost playbook]# cat qingjun.yml 
---
- name: 創(chuàng)建文件
  hosts: 192.168.130.161
  gather_facts: no
  tasks:
    - name: 添加權限創(chuàng)建文件
      file:
        name: /opt/qingjun.txt     ##刪除/opt/qingjun.txt文件。
        state: absent

Ansible基礎6——文件模塊、jinja2模板
2.刪除目錄。

[root@localhost playbook]# cat qingjun.yml 
---
- name: 創(chuàng)建文件
  hosts: 192.168.130.161
  gather_facts: no
  tasks:
    - name: 添加權限創(chuàng)建文件
      file:
        name: /opt/baimu          ##刪除/opt/baimu目錄。
        state: absent

Ansible基礎6——文件模塊、jinja2模板

1.3 fetch模塊

  • 模塊連接
  • 使用fetch模塊從受控機上索取文件到本地。

1.將受控機上家目錄下的文件傳到主控機本地目錄。

[root@localhost playbook]# cat qingjun.yml 
---
- name: 創(chuàng)建文件
  hosts: 192.168.130.161
  gather_facts: no
  tasks:
    - name: 添加權限創(chuàng)建文件
      fetch:
        src: /root/anaconda-ks.cfg
        dest: /opt

Ansible基礎6——文件模塊、jinja2模板

1.4 lineinfile模塊

  • 模塊連接
  • lineinfile模塊可以確保某一行是否存在文件里,若存在則返回ok,若不存在則文件末尾追加。

1.判斷受控機上的/opt/qingjun文件里否存在“baimu"這一行。若存在,則返回ok;若不存在,則在文件末行追加。

[root@localhost playbook]# cat qingjun.yml 
---
- name: 創(chuàng)建文件
  hosts: 192.168.130.161
  gather_facts: no
  tasks:
    - name: 添加權限創(chuàng)建文件
      lineinfile:
        path: /opt/qingjun
        line: baimu
        state: present

Ansible基礎6——文件模塊、jinja2模板

1.5 stat模塊

  • 模塊連接
  • 可以查看受管主機的文件狀態(tài)。

1.查看受控機/opt/qingjun文件狀態(tài)。

[root@localhost playbook]# cat qingjun.yml 
---
- name: 創(chuàng)建文件
  hosts: 192.168.130.161
  gather_facts: no
  tasks:
    - name: 添加權限創(chuàng)建文件
      stat:
        path: /opt/qingjun
        checksum_algorithm: md5
      register: qingjun
    - debug:
        var: qingjun

Ansible基礎6——文件模塊、jinja2模板
2.獲取文件的md5值,若值發(fā)生改變,則說明文件內(nèi)容已被更改過。

[root@localhost playbook]# cat qingjun.yml 
---
- name: 創(chuàng)建文件
  hosts: 192.168.130.161
  gather_facts: no
  tasks:
    - name: 添加權限創(chuàng)建文件
      stat:
        path: /opt/qingjun
        checksum_algorithm: md5
      register: qingjun
    - debug: 
        msg: "該文件當前md5值為:{{ qingjun.stat.checksum }}"   ##指定msg參數(shù)自定義打印信息。

Ansible基礎6——文件模塊、jinja2模板

1.6 synchronize模塊

  • 模塊連接
  • synchronize模塊需要提前安裝rsync工具,主控機和受控機都要安裝

1.把主控機上的目錄一次性同步到所有受控機。

[root@localhost playbook]# cat qingjun.yml 
---
- name: 主控機安裝服務
  hosts: localhost
  gather_facts: no
  tasks:
    - name: 安裝rsync服務
      yum:
        name: rsync
        state: present

- name: 受控機安裝服務
  hosts: all
  gather_facts: no
  tasks:
    - name: 安裝rsync服務
      yum:
        name: rsync
        state: present
    - name: 目錄同步
      synchronize:
       src: /etc/ansible/playbook
       dest: /opt/

2.查看受控機同步過來的目錄。
Ansible基礎6——文件模塊、jinja2模板

二、jinja2模板

  • jinja2模板常用于將主控機帶有變量的模板文件傳到受控機時,會將變量改為具體的值。
  • 自定義的jinja2模板的變量,也會在playbook中引用。

2.1 構建jinja2模板

定義格式:

  • {% EXPR %}:用于事實表達式或腳本邏輯。
  • {{ EXPR }}:用于向最終用戶輸出表達式或變量的結果。
  • {# COMMENT #}:不會在最終文件里出現(xiàn),是jinja2文件本身的注釋。

注意事項:

  1. 必須使用template模塊,因為它可以修改變量值。
  2. 在jinja2模板文件里使用for語句和if語句,playbook中使用loop語句和when語句。

1.主控機定義模板文件,模板文件里面可以取事實,可以取變量。取的事實值,將會再傳到受控機上時把對應的事實值改為受控機本機的信息??梢韵仁褂胹etup模塊查看收集的事實。

[root@localhost playbook]# cat file/hosts.j2 
{# redis配置文件模板 #}
hostname: {{ ansible_facts.hostname }}
redis_ip: {{ ansible_facts.default_ipv4.address }}

2.編寫playbook,將本地的file/hosts模板文件傳到受控機的/etc/hosts文件。

[root@localhost playbook]# cat qingjun.yml 
---
- name: 配置受控機配置文件
  hosts: all,localhost
  tasks:
    - name: 安裝rsync服務
      template:
        src: file/hosts.j2
        dest: /etc/hosts

3.執(zhí)行playbook,受控機驗證。
Ansible基礎6——文件模塊、jinja2模板

2.2 管理jinja2模板

  • 加文件提示,讓管理員在操作受控機上的配置文件時,知道這個文件時ansible生成的,不能擅自修改。

1.修改ansible配置文件ansible_managed參數(shù),自定義文件輸出提示內(nèi)容,最后就會在受控機上生成的配置文件里添加這行注釋。
Ansible基礎6——文件模塊、jinja2模板
2.修改jinja2模板。
Ansible基礎6——文件模塊、jinja2模板
3.編寫playbook。
Ansible基礎6——文件模塊、jinja2模板

2.3 控制結構

  • 用戶可以在模板文件中使用jinja2控制結構,以減少重復輸入,為play中的每個主機動態(tài)輸入條目,或者有條件地將文本插入到文件中。

2.3.1 for循環(huán)語句

  • 使用{% 自定義邏輯 %}表示執(zhí)行邏輯。
  • {{ 變量 }} 表示取的變量值將會輸出到受控機文件內(nèi)。
2.3.1.1 for循環(huán)+變量

1.jinja2模板定義邏輯,使用for循環(huán)變量users里的值,變量user作為輸出內(nèi)容。

[root@localhost playbook]# cat file/hosts.j2 
# {{ ansible_managed  }}
{# 循環(huán)語句 #}
{% for user in users %}      ##for表示開始。
{{ user }}
{% endfor %}      ##endfor表示結束。

2.playbook定義users變量循環(huán)體。

[root@localhost playbook]# cat qingjun.yml 
---
- name: 配置受控機配置文件
  hosts: all
  vars:
    users:        ##將對users變量下的內(nèi)容進行循環(huán)。
      - zhangsan
      - lisi
      - wangwu
  tasks:
    - name: 安裝rsync服務
      template:
        src: file/hosts.j2
        dest: /opt/qingjun

3.執(zhí)行playbook,查看受控機上輸出的文件,文件里的內(nèi)容正是playbook里的users變量下的內(nèi)容,如何循環(huán)使用jinja2模板定義。
Ansible基礎6——文件模塊、jinja2模板

2.3.1.2 for循環(huán)+loop.index

1.配合loop.index使用,取當前循環(huán)索引。

[root@localhost playbook]# cat file/hosts.j2 
# {{ ansible_managed  }}
{# 循環(huán)語句 #}
{% for user in users %}
{{ loop.index }}
{% endfor %} 

Ansible基礎6——文件模塊、jinja2模板

2.3.1.3 for循環(huán)+條件判斷
  • 對playbook中的變量進行循環(huán),取出不是qingjun的內(nèi)容,將其輸出到受控機的/opt/qingjun文件里。

1.playbook定義變量循環(huán)體。

[root@localhost playbook]# cat qingjun.yml 
---
- name: 配置受控機配置文件
  hosts: all
  vars:
    users:
      - zhangsan
      - lisi
      - wangwu
      - qingjun
      - shito
  tasks:
    - name: 安裝rsync服務
      template:
        src: file/hosts.j2
        dest: /opt/qingjun

2.jinja2模板定義循環(huán)邏輯。

[root@localhost playbook]# cat file/hosts.j2 
# {{ ansible_managed  }}
{# 循環(huán)語句 #}
{% for user in users if not user == "qingjun" %}
number user:{{ loop.index }} ,{{ user }}
{% endfor %} 

3.執(zhí)行playbook,查看受控機文件內(nèi)容。
Ansible基礎6——文件模塊、jinja2模板

2.3.1.4 for循環(huán)+playbook變量組
  • 在playbook中定義變量組,編寫jinja2模板文件時可以根據(jù)變量組名稱應用取其中的值。

1.playbook中定義變量循環(huán)體,同時定義兩個組,qingjun組和baimu組。

[root@localhost playbook]# cat qingjun.yml 
---
- name: 配置受控機配置文件
  hosts: all
  vars:
    group:
      qingjun:
        - zhangsan
        - lisi
        - wangwu
      baimu:
        - skasdk
        - shito
  tasks:
    - name: 安裝rsync服務
      template:
        src: file/hosts.j2
        dest: /opt/qingjun

2.定義jinja2模板文件,對playbook里的qingjun組里的內(nèi)容進行循環(huán)。

[root@localhost playbook]# cat file/hosts.j2 
# {{ ansible_managed  }}
{# 循環(huán)語句 #}
{% for name  in group['qingjun'] %}           ##playbook中的變量組group,其中有個qingjun組。
number user:{{ loop.index }} ,{{ name }}
{% endfor %} 

3.執(zhí)行playbook,受控機查看文件內(nèi)容。
Ansible基礎6——文件模塊、jinja2模板

2.3.15 for循環(huán)+清單文件組
  • jinja2模板文件中使用groups引用清單文件中的組,根據(jù)組名取其中的值,不會取變量值,所以只會取出主機ip。

1.清單文件里由兩個組,mq和qq??梢愿鶕?jù)主機組名稱來取值。
Ansible基礎6——文件模塊、jinja2模板
2.編寫playbook,雖然仍然存在變量組,但在后面的jinja2模板文件里不再引用。

[root@localhost playbook]# cat qingjun.yml 
---
- name: 配置受控機配置文件
  hosts: all
  vars:
    group:
      qingjun:
        - zhangsan
        - lisi
        - wangwu
      baimu:
        - skasdk
        - shito
  tasks:
    - name: 安裝rsync服務
      template:
        src: file/hosts.j2
        dest: /opt/qingjun

3.定義jinja2模板文件,對清單文件里的mq組內(nèi)容進行循環(huán)。

[root@localhost playbook]# cat file/hosts.j2 
# {{ ansible_managed  }}
{# 循環(huán)語句 #}
{% for name  in groups['mq'] %}           ##清單文件中的組mq。
number user:{{ loop.index }} ,{{ name }}
{% endfor %} 

4.執(zhí)行playbook,受控機查看文件內(nèi)容。
Ansible基礎6——文件模塊、jinja2模板

2.3.2 if判斷語句

  • if語句與前面的when語句作用相同,當滿足條件時則輸出內(nèi)容;不滿足條件時,則不輸出內(nèi)容。

1.定義jinja2模板文件,自定義判斷條件。

[root@localhost playbook]# cat file/hosts.j2 
# {{ ansible_managed  }}
{# if判斷語句 #}
{% if 1 >2   %}     ##自定義判斷條件,當為true時,則輸出內(nèi)容到文件里;當為false時,則不做輸出。
number user:{{ ansible_facts['default_ipv4']['address']  }}
{% endif %} 

2.編寫playbook,把jinja2文件內(nèi)容傳輸?shù)绞芸貦C的/opt/qingjun文件里。

[root@localhost playbook]# cat qingjun.yml 
---
- name: 配置受控機配置文件
  hosts: all
  tasks:
    - name: 安裝rsync服務
      template:
        src: file/hosts.j2
        dest: /opt/qingjun

3.執(zhí)行playbook,受控機查看文件內(nèi)容。
Ansible基礎6——文件模塊、jinja2模板
4.此時改變jinja2中的判斷規(guī)則,條件為true時,則將內(nèi)容輸出到受控機。

[root@localhost playbook]# cat file/hosts.j2 
# {{ ansible_managed  }}
{# if判斷語句 #}
{% if 1 < 2   %}       ##條件為真,輸出內(nèi)容到受控機。
number user:{{ ansible_facts['default_ipv4']['address']  }}
{% endif %} 

Ansible基礎6——文件模塊、jinja2模板

2.4 變量過濾器

  • 變量過濾器也是編寫jinja2模板文件,在里面寫一些可以優(yōu)化輸出內(nèi)容格式的參數(shù)語句,方便客戶閱讀。
  • 格式:{{ 變量 | to_json }}

1.輸出內(nèi)容為普通json格式,參數(shù)to_json。

[root@localhost playbook]# cat file/hosts.j2 
# {{ ansible_managed  }}
{# if判斷語句 #}
{% if 1 < 2   %}
{{ ansible_facts['default_ipv4'] | to_json   }}
{% endif %} 

Ansible基礎6——文件模塊、jinja2模板
2.輸出為方便閱讀的json格式,參數(shù)to_nice_json。

[root@localhost playbook]# cat file/hosts.j2 
# {{ ansible_managed  }}
{# if判斷語句 #}
{% if 1 < 2   %}
{{ ansible_facts['default_ipv4'] | to_nice_json }}
{% endif %} 

Ansible基礎6——文件模塊、jinja2模板
3.輸出為yaml格式,參數(shù)to_yaml和to_nice_yaml。

[root@localhost playbook]# cat file/hosts.j2 
# {{ ansible_managed  }}
{# if判斷語句 #}
{% if 1 < 2   %}
{{ ansible_facts['default_ipv4'] | to_nice_yaml }}
{% endif %} 

Ansible基礎6——文件模塊、jinja2模板
4.限制注入變量格式,只能是字符串型,參數(shù)from_json和from_yaml。
Ansible基礎6——文件模塊、jinja2模板
Ansible基礎6——文件模塊、jinja2模板文章來源地址http://www.zghlxwxcb.cn/news/detail-470144.html

到了這里,關于Ansible基礎6——文件模塊、jinja2模板的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!

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

領支付寶紅包贊助服務器費用

相關文章

  • 【python】flask模板渲染引擎Jinja2,通過后端數(shù)據(jù)渲染前端頁面

    【python】flask模板渲染引擎Jinja2,通過后端數(shù)據(jù)渲染前端頁面

    ?? 歡迎大家來到景天科技苑?? ???? 養(yǎng)成好習慣,先贊后看哦~???? ?? 作者簡介:景天科技苑 ??《頭銜》:大廠架構師,華為云開發(fā)者社區(qū)專家博主,阿里云開發(fā)者社區(qū)專家博主,CSDN新星創(chuàng)作者,掘金優(yōu)秀博主,51CTO博客專家等。 ??《博客》:Python全棧,前后端開

    2024年04月11日
    瀏覽(48)
  • 【python】flask模板渲染引擎Jinja2,流程控制語句與過濾器的用法剖析與實戰(zhàn)應用

    【python】flask模板渲染引擎Jinja2,流程控制語句與過濾器的用法剖析與實戰(zhàn)應用

    ?? 歡迎大家來到景天科技苑?? ???? 養(yǎng)成好習慣,先贊后看哦~???? ?? 作者簡介:景天科技苑 ??《頭銜》:大廠架構師,華為云開發(fā)者社區(qū)專家博主,阿里云開發(fā)者社區(qū)專家博主,CSDN新星創(chuàng)作者,掘金優(yōu)秀博主,51CTO博客專家等。 ??《博客》:Python全棧,前后端開

    2024年04月11日
    瀏覽(31)
  • ansible常用文件模塊

    blockinfile: ? ? ? ? 插入、更新或刪除由可定義標記包圍的多行文本塊 lineinfile: ? ? ? ? 確保特定行位于指定文件中,反向使用正則表達式替換行。 copy: ? ? ? ? 將本地或遠程主機文件復制到受管主機的指定位置,可以設置文件屬性,SELinux上下文。 fetch: ? ? ? ? 與copy相

    2023年04月19日
    瀏覽(43)
  • 解決flask中jinja2插值變量變成字符串的辦法

    解決flask中jinja2插值變量變成字符串的辦法

    今天在通過使用{{ variable_name }}這種方式插入html內(nèi)容時,發(fā)現(xiàn)變量內(nèi)容到了頁面中全部變成了字符串, python代碼: html代碼中插入: 結果這在頁面中都變成了類似下圖的字符串,并沒有渲染 應當在html代碼中加入safe告訴引擎不要轉義: 之后內(nèi)容就可以正常被渲染而非顯示字符

    2024年01月18日
    瀏覽(22)
  • ImportError: cannot import name ‘escape‘ from ‘jinja2‘

    ImportError: cannot import name ‘escape‘ from ‘jinja2‘

    使用flask時,導入jinja2報錯如下: 然后在必應bing搜索現(xiàn)實jinja2版本應該小于3.1.0 之后在所用環(huán)境查看jinja2版本為3.1.2,所以jinja2版本應降到3.1.0一下,之后我把版本改為3.0.2。 但是導入發(fā)現(xiàn)依舊報錯,然后仔細看了下報錯原因。發(fā)現(xiàn)所用的環(huán)境是AppData下的,于是又把系統(tǒng)的環(huán)境

    2024年02月16日
    瀏覽(29)
  • 解決 ImportError: cannot import name ‘contextfilter‘ from ‘jinja2‘

    升級 jupyterhub -i 就是選擇鏡像源,不然更新很慢。 如果是conda環(huán)境,運行以下命令 國內(nèi)鏡像: 更新pip

    2024年02月12日
    瀏覽(35)
  • cannot import name Markup from jinja2解決方案

    cannot import name Markup from jinja2解決方案

    將代碼改一下,? 代碼如下:? 運行結果:

    2024年02月11日
    瀏覽(30)
  • ansible(2)-- ansible常用模塊

    ansible(2)-- ansible常用模塊

    部署ansible:ansible(1)-- 部署ansible連接被控端_luo_guibin的博客-CSDN博客 目錄 ?一、ansible常用模塊 1.1 ping 1.2 command 1.3 raw 1.4 shell 1.5 script 1.6 copy 1.7 template 1.8 yum 11.0.1.13 主控端(ansible) 11.0.1.12 被控端(k8s-master) 查看主控端被控端IP,主控端(10.1.1.13)查看ansible配置文件的被控端,

    2024年02月11日
    瀏覽(22)
  • 【ansible】認識ansible,了解常用的模塊

    【ansible】認識ansible,了解常用的模塊

    目錄 一、ansible是什么? 二、ansible的特點? 三、ansible與其他運維工具的對比 四、ansible的環(huán)境部署 第一步:配置主機清單 第二步:完成密鑰對免密登錄 五、ansible基于命令行完成常用的模塊學習 模塊1:command模塊 模塊2:shell模塊 模塊3:cron模塊 模塊4:user模塊 模塊5:gro

    2024年02月20日
    瀏覽(18)
  • ansible 常用模塊

    ansible 常用模塊

    目錄 1.ping模塊 ?2.command模塊 3. shell模塊 4.copy模塊 5.file模塊 ?6.fetch模塊 7.cron模塊 8.yum模塊 9.service模塊 10.user模塊 11.group模塊 12.script 模塊 ?13.setup模塊 14. get_url模塊 15.stat模塊 16.unarchive模塊 1.ping模塊 使用ansible db1 -m ping 命令進行主機連通性測試 ?2.command模塊 這個模塊可以直

    2024年01月24日
    瀏覽(20)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領取紅包

二維碼2

領紅包