002. Ansible部署及配置介紹

来源:https://www.cnblogs.com/itzgr/archive/2019/01/22/10302771.html
-Advertisement-
Play Games

一 Ansible的安裝部署 1.1 PIP方式 略,可參考《001.Pip簡介及使用》。 提示:建議將PIP升級到最新:pip install --upgrade pip。 1.2 YUM方式 二 Ansible目錄及配置 2.1 Ansible目錄結構 配置文件目錄:/etc/ansible 主 ...


一 Ansible的安裝部署

1.1 PIP方式

  1. 安裝PIP

略,可參考《001.Pip簡介及使用》。

提示:建議將PIP升級到最新:pip install --upgrade pip。

  1. 安裝依賴
  1 [root@manage ~]# yum -y install gcc glibc-devel zlib-devel rpm-build openssl-devel
  1. 安裝Ansible
  1 [root@manage ~]# pip install ansible

03_thumb1

  1 [root@manage ~]# ansible --version		#查看版本

04_thumb1

1.2 YUM方式

  1. 安裝epel源
  1 [root@manage ~]# sudo yum install -y epel-release
  2 [root@manage ~]# sudo sed -e 's!^mirrorlist=!#mirrorlist=!g' \
  3          -e 's!^#baseurl=!baseurl=!g' \
  4          -e 's!//download\.fedoraproject\.org/pub!//mirrors.ustc.edu.cn!g' \
  5          -e 's!http://mirrors\.ustc!https://mirrors.ustc!g' \
  6          -i /etc/yum.repos.d/epel.repo /etc/yum.repos.d/epel-testing.repo
  1. 安裝依賴
  1 [root@manage ~]# yum -y install gcc glibc-devel zlib-devel rpm-build openssl-devel
  1. 安裝Ansible
  1 [root@manage ~]# yum -y install ansible
  2 [root@manage ~]# ansible --version		#查看版本

05_thumb1

二 Ansible目錄及配置

2.1 Ansible目錄結構

  1 # rpm -ql ansible

配置文件目錄:/etc/ansible

主要功能:Inventory主機信息配置、Ansible工具功能配置,所有Ansible配置均存放在該目錄下;

執行文件目錄:/usr/bin

主要功能:Ansible系列命令預設存放目錄,Ansible所有可執行文件均存放在該目錄下。

Lib庫文件目錄:/usr/lib/pythonX.X/site-packages/ansible

主要功能:系統當前預設的Python路徑。

Help幫助文檔目錄:/usr/share/doc/ansble-X.X.X/

主要功能:Ansible所有相關幫助文件存放目錄。

Man文檔目錄:/usr/share/man/man1/

2.2 Ansible配置文件解析

Ansible配置文件ansible.cfg預設位於/etc/ansible/目錄下。

提示:ansible.cfg配置文件可以位於多個目錄下,Ansible讀取配置文件的順序為:當前命令執行目錄——>用戶家目錄下的.ansible.cfg——>/etc/ansible/ansible.cfg.其ansible.cfg配置的所有內容均可在命令行通過參數的形式傳遞或定義在Playbook中。

  1 #……
  2 #inventory      = /etc/ansible/hosts		#定義Inventory
  3 #library        = /usr/share/my_modules/	        #自定義lib庫存放目錄
  4 #module_utils   = /usr/share/my_module_utils/
  5 #remote_tmp     = ~/.ansible/tmp		        #臨時文件遠程主機存放目錄
  6 #local_tmp      = ~/.ansible/tmp		        #臨時文件本地存放目錄
  7 #plugin_filters_cfg = /etc/ansible/plugin_filters.yml
  8 #forks          = 5				        #預設開啟的併發數
  9 #poll_interval  = 15				#預設輪詢時間間隔
 10 #sudo_user      = root				#預設sudo用戶
 11 #ask_sudo_pass = True				#是否需要sudo密碼
 12 #ask_pass      = True				#是否需要密碼
 13 #transport      = smart				#通信機制.預設值為’smart’

提示:如果本地系統支持 ControlPersist技術的話,將會使用(基於OpenSSH)‘ssh’,如果不支持將使用‘paramiko’.其他傳輸選項包括‘local’, ‘chroot’,’jail’等。

  1 #remote_port    = 22				#遠程SSH埠,預設是22
  2 #module_lang    = C				        #模塊和系統之間通信的電腦語言,預設是C語言
  3 #module_set_locale = False
  4 #gathering = implicit
  5 #控制預設facts收集(遠程系統變數),預設值為’implicit’, 每一次play,facts都會被收集
  6 #gather_subset = all				#定義獲取fact的子集,預設全部
  7 # gather_timeout = 10
  8 #roles_path    = /etc/ansible/roles		        #預設下載的Roles存放的目錄
  9 #host_key_checking = False			        #首次連接是否需要檢查key認證,建議設置為False
 10 #stdout_callback = skippy
 11 #callback_whitelist = timer, mail
 12 #task_includes_static = False
 13 #handler_includes_static = False
 14 #error_on_missing_handler = True
 15 #sudo_exe = sudo
 16 #如果在其他遠程主機上使用另一種方式執sudu操作.可以使用該參數進行更換
 17 #sudo_flags = -H -S -n					#傳遞sudo之外的參數
 18 #timeout = 10						#預設超時時間
 19 #remote_user = root
 20 #使用/usr/bin/ansible-playbook鏈接的預設用戶名,如果不指定,會使用當前登錄的用戶名
 21 #log_path = /var/log/ansible.log			        #執行日誌存放目錄
 22 #module_name = command					#預設執行模塊
 23 #executable = /bin/sh					#用於執行腳本得解釋器
 24 #在sudo環境下產生一個shell交互介面. 用戶只在/bin/bash的或者sudo限制的一些場景中需要修改
 25 #hash_behaviour = replace				        #特定的優先順序覆蓋變數
 26 #private_role_vars = yes

提示:預設情況下,角色中的變數將在全局變數範圍中可見。為了防止這種情況,可以啟用以上選項,只有tasks的任務和handlers得任務可以看到角色變數。

  1 #jinja2_extensions = jinja2.ext.do,jinja2.ext.i18n	#允許開啟Jinja2拓展模塊
  2 #private_key_file = /path/to/file			#私鑰文件存儲位置
  3 #vault_password_file = /path/to/vault_password_file	#指定vault密碼文件路徑
  4 #ansible_managed = Ansible managed: {file} modified on %Y-%m-%d %H:%M:%S by {uid} on {host}
  5 #定義一個Jinja2變數,可以插入到Ansible配置模版系統生成的文件中
  6 #ansible_managed = Ansible managed
  7 #display_skipped_hosts = True				#顯示任何跳過任務的狀態,預設是顯示
  8 #display_args_to_stdout = False
  9 #error_on_undefined_vars = False
 10 #如果所引用的變數名稱錯誤的話, 是否讓ansible在執行步驟上失敗
 11 #system_warnings = True
 12 #允許禁用系統運行ansible相關的潛在問題警告
 13 #deprecation_warnings = True
 14 #允許在ansible-playbook輸出結果中禁用“不建議使用”警告
 15 # setting or adding warn=yes or warn=no to the end of the command line
 16 # command_warnings = False
 17 #當shell和命令行模塊被預設模塊簡化的時,Ansible將預設發出警告
 18 #nocolor = 1						        #輸出帶上顏色區別, 開啟/關閉:0/1
 19 #action_plugins     = /usr/share/ansible/plugins/action		#action插件存放目錄
 20 #cache_plugins      = /usr/share/ansible/plugins/cache		#cache插件存放目錄
 21 #callback_plugins   = /usr/share/ansible/plugins/callback	        #callback插件存放目錄
 22 #connection_plugins = /usr/share/ansible/plugins/connection	        #connection插件存放目錄
 23 #lookup_plugins     = /usr/share/ansible/plugins/lookup		#lookup插件存放目錄
 24 #inventory_plugins  = /usr/share/ansible/plugins/inventory	        #Inventory插件存放目錄
 25 #vars_plugins       = /usr/share/ansible/plugins/vars		#vars插件存放目錄
 26 #filter_plugins     = /usr/share/ansible/plugins/filter		#filter插件存放目錄
 27 #test_plugins       = /usr/share/ansible/plugins/test
 28 [privilege_escalation]
 29 #become=True			#是否sudo
 30 #become_metrod=sudo		        #sudo方式
 31 #become_user=root		        #sudo後變為root用戶
 32 #become_ask_pass=False		#sudo後是否驗證密碼

提示:出於安全考慮,可能需要以普通用戶許可權並賦予sudo來執行,以上部分配置主要針對sudo用戶提權配置。

  1 [paramiko_connection]
  2 #record_host_keys=False		#不記錄新主機的key以提升效率
  3 #pty=False			        #禁用sudo功能
  4 [ssh_connection]
  5 #scp_if_ssh = True		        #若連接類型是ssh,使ansible使用scp
  6 #pipelining=False		        #管道加速,需配合requiretty使用方可生效

提示:Ansible預設使用SSH協議連接對端主機,SSH pipelining 是一個加速Ansible執行速度的簡單方法。ssh pipelining 預設關閉,之所以預設關閉是為了相容不同的sudo配置,主要是requiretty選項。若不使用sudo,建議開啟。打開此選項可以減少ansible執行沒有傳輸時ssh在被控機器上執行任務的連接數。不過,若使用sudo,必須關閉requiretty選項。

  1 [accelerate]
  2 #accelerate_port=5099		#加速連接埠
  3 #accelerate_timeout=30		#命令執行超時時間,單位為秒
  4 #accelerate_connect_timeout=5.0	#連接超時時間,單位為秒
  5 #accelerate_daemon_timeout=30	#上一個活動連接的時候,單位為分鐘
  6 #accelerate_multi_key=yes

提示:以上部分為提升Ansible連接速度配置,多數保持預設即可。

  1 [selinux]
  2 #libvirt_lxc_noseclabel=yes
  3 #將此設置為yes,以允許libvirt_lxc連接在沒有SELinux的情況下工作。
  4 [colors]
  5 #highlight = white
  6 #verbose = blue
  7 #warn = bright purple
  8 #error = red
  9 #debug = dark gray
 10 #deprecate = purple
 11 #skip = cyan
 12 #unreachable = red
 13 #ok = green
 14 #changed = yellow
 15 #diff_add = green
 16 #diff_remove = red
 17 #diff_lines = cyan

參考文檔:https://www.jianshu.com/p/443f612c3d5c


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • CentOS 6 + VMWare: 資源:https://pan.baidu.com/s/1AA4gaMpaoVaMor-tRU-n7A 提取碼:6e8r ( 內附 VMWare 14 激活密鑰 ) Linux安裝教程地址:https://www.cnblogs.com/ysocean/p/768 ...
  • 1、使用bash 使用雙括弧可以像C語言一樣直接使用運算符進行計算。 2、使用let命令 使用let命令後,可以直接跟表達式,不用加雙括弧。 3、使用expr命令 類似於let命令,expr命令除了計算表達式,還將提供的表達式的值列印到標準輸出。以及使用expr進行比較,增加變數值和查找字元串長度。 ...
  • 掛載方法 smbclient鏈接 如果沒有smbclient命令:yum安裝smbclient命令 ...
  • 問題 說下我linux配置情況,不一樣的可以選擇借鑒我的辦法。 在虛擬機中以最小化方式安裝centos7,ifconfig命令無效,而且在sbin目錄中沒有ifconfig文件。 原因 這是因為centos7已經不適用ifconfig命令了,已經用ip命令代替;同時網卡名稱也由eth0改為eno16 ...
  • VirtualBox安裝centos7配置靜態ip地址可以本機訪問,可以聯網。 在開始之前先說一下,不知道為什麼,我在網上百度的大多數是不能用的,或者只能主機訪問,或者只能聯網。 我的配置文件為ifcfg-enp0s3 話不多說:上圖 1.安裝完centos7之後進入 2.選擇設置 >網路 如下圖可 ...
  • 本文收錄在容器技術學習系列文章總目錄 1、kubernetes安裝介紹 1.1 K8S架構圖 1.2 K8S搭建安裝示意圖 1.3 安裝kubernetes方法 優點:你只要安裝kubeadm即可;kubeadm會幫你自動部署安裝K8S集群;如:初始化K8S集群、配置各個插件的證書認證、部署集群網路 ...
  • 命令: cp 對應英文: copy 作用: 複製文件或目錄 選項: -f:已存在的目標文件直接覆蓋,不會提示 -i:覆蓋文件前提示,接著輸入 y 或 n -r:若給出的源文件是目錄文件,則cp將遞歸複製該目錄下的所有子目錄和文件,目標文件必須是一個目錄名 用法: cp [選項] 源文件 目標文件 # ...
  • #字元串比較if [ "$1" == "判斷條件" ] then echo "$1" elif [ "$1" == "判斷條件" ] then echo "$1" else echo '[提示信息]' fi#數值比較int1 -eq int2 兩數相等為真int1 -ne int2 兩數不等為真in ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...