Install Ansible on CentOS 8

来源:https://www.cnblogs.com/sre-chan/archive/2023/03/31/17277390.html
-Advertisement-
Play Games

環境準備: 1.至少倆台linux主機,一臺是控制節點,一臺是受控節點 2.控制節點和受控節點都需要安裝Python36 3.控制節點需要安裝ansible 4.控制節點需要獲得受控節點的普通用戶或root用戶的許可權,控制節點需要ssh客戶端,受控節點需要ssh服務端 5.控制節點和受控節點之間網路 ...


環境準備:

1.至少倆台linux主機,一臺是控制節點,一臺是受控節點
2.控制節點和受控節點都需要安裝Python36
3.控制節點需要安裝ansible
4.控制節點需要獲得受控節點的普通用戶或root用戶的許可權,控制節點需要ssh客戶端,受控節點需要ssh服務端
5.控制節點和受控節點之間網路聯通,配置靜態ip

環境安裝:

主機名 IP地址 角色
master 172.25.250.132 控制節點
node01 172.25.250.128 受控節點
node02 172.25.250.129 受控節點

按照以上要求準備3台機器,最小化安裝CentOS8,可以先安裝一臺master,配置主機名,IP,yum源等等,其他的2台機器直接使用master克隆,更改主機名和IP

1、master虛擬機配置(其他虛擬機以此為例:配置ip修改主機名配置yum源)

[root@master    ~]# hostnamectl set-hostname master    

[root@master    ~]# nmcli connection modify ens33 ipv4.method manual ipv4.addresses 192.168.4.253/24 connection.autoconnect yes
# 可以把dns加上,註意子網掩碼

# 重新激活網卡使其生效
[root@master    ~]# nmcli connection up ens33

# 查看修改後的地址
[root@master    ~]# ip a

# 設置為開機自啟動
[root@master    ~]# vim /ect/fstab
/dev/cdrom /mnt iso9660 defaults  0 0
# 掛載
[root@contorl ~]# mount -a 

# 也可以換阿裡源

sed -e 's|^mirrorlist=|#mirrorlist=|g' \
    -e 's|^#baseurl=http://dl.rockylinux.org/$contentdir|baseurl=https://mirrors.aliyun.com/rockylinux|g' \
    -i.bak \
    /etc/yum.repos.d/Rocky-*.repo

dnf makecache

# 本地光碟鏡像源
[root@Control ~]# vim /etc/yum.repos.d/dvd.repo
[AppStream]
name=AppStream
baseurl=file:///mnt/AppStream
enabled=1
gpgcheck=0
[BaseOS]
name=BaseOS
baseurl=file:///mnt/BaseOS
enabled=1
gpgcheck=0
# 清理緩存
[root@Control ~]# yum clean all 
[root@Control ~]# yum repolist

# 安裝常用軟體:
[root@Control ~]# yum install -y bash-completion tree lrzsz  vim  net-tools.x86_64  unzip   lsof  wget 
# 關機
[root@Control ~]# poweroff 

可以給master主機做個快照,方便還原,克隆其餘2台主機,修改主機名和IP即可,所有主機記憶體調成512M

2、修改hosts文件

127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
172.25.250.132 master
172.25.250.128 node01
172.25.250.129 node02

3、配置ssh免密登錄

[root@master ~]# ssh-keygen -f /root/.ssh/id_rsa -N ''
[root@master ~]# for i in node{1,2} 
do
ssh-copy-id $i
done
[root@master ~]# ssh node01     #以node01為例,測試ssh免密登錄

4、時間同步設置

這裡我使用的是僅主機模式,所以受控節點的主機沒有互聯網,但是三台主機的時間一樣的,我就不做配置

1、安裝時間同步軟體包:
[root@master ~]# yum install chrony

2、修改配置文件:
[root@master ~]# vim /etc/chrony.conf
pool 2.rocky.pool.ntp.org iburst
pool ntp1.aliyun.com iburst
pool ntp2.aliyun.com iburst

3、設置為開機自啟:
[root@master ~]# systemctl enable --now chronyd

4、寫計劃任務同步:

[root@master ~]# vim /etc/crontab
0 10  * * * root  chronyc sources &>/dev/null

5、安裝Python36,三台伺服器都裝同一個版本Python

1、每台機器都裝:接下來的操作都在master上
yum install python36 -y

2、不用root許可權,許可權太高了;在master主機上創建student 密碼redhat;在node節點上用的redhat用戶,密碼redhat
[root@node01 ~]# vim /etc/sudoers
root    ALL=(ALL)       ALL
redhat ALL=(ALL)       NOPASSWD: ALL
強制保存退出
如果用的visudo打開就不用,正常退出就行


3、測試:
[root@master ~]# visudo
[root@master ~]#
[root@master ~]#
[root@master ~]# su - student
Last login: Tue Dec 13 12:17:40 CST 2022 on pts/0
[student@master ~]$ sudo ls /root
anaconda-ks.cfg

6、安裝ansible[僅master安裝即可,其餘受控節點安裝Python]

1、阿裡雲下載擴展源:epel
[student@master ~]$ sudo yum install -y https://mirrors.aliyun.com/epel/epel-release-latest-8.noarch.rpm

也可以自己寫源:
[epel]
name=epel
baseurl=https://mirrors.aliyun.com/epel/8/Everything/x86_64/
gpgcheck=0

2、安裝ansible:
[student@master ~]$ yum install ansible -y

3、查看ansible版本信息:
[student@master ~]$ ansible --version
ansible [core 2.13.3]
  config file = /etc/ansible/ansible.cfg
  configured module search path = ['/home/student/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
  ansible python module location = /usr/lib/python3.9/site-packages/ansible
  ansible collection location = /home/student/.ansible/collections:/usr/share/ansible/collections
  executable location = /usr/bin/ansible
  python version = 3.9.13 (main, Nov 16 2022, 15:31:39) [GCC 8.5.0 20210514 (Red Hat 8.5.0-15)]
  jinja version = 3.1.2
  libyaml = True

7、安裝完成,做一個初始化快照,以便後期直接恢復乾凈的ansible環境。

作者:ChAn 出處:http://www.cnblogs.com/sre-chan/

-------------------------------------------

個性簽名:今天做了別人不想做的事,明天你就做得到別人做不到的事,嘗試你都不敢,你拿什麼贏!

如果覺得這篇文章對你有小小的幫助的話,記得在右下角點個“推薦”哦,博主在此感謝!


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

-Advertisement-
Play Games
更多相關文章
  • 呆了2個大屏行業的公司,對大屏幕有一些瞭解,所以整理下所瞭解的觸摸屏相關概念。方便自己以及進入這個行業的小伙伴們,能有個系統、快速的認知。 觸摸屏詳細的知識點,網上其實都有。整理資料過程中,我也瞭解了更多的觸摸屏知識,像聲波屏、光學屏之類的之前就沒接觸。下麵分不同的模塊,給大家介紹 交互觸摸屏類型 ...
  • C#-垃圾回收機制(GC) 什麼是GC 官網中有這麼一句話: The garbage collector is a common language runtime component that controls the allocation and release of managed memory ...
  • 在 IIS 上啟用 Websocket 在 Windows Server 2012 或更高版本上啟用對 WebSocket 協議的支持: 備註 使用 IIS Express 時無需執行這些步驟 通過“管理”菜單或“伺服器管理器”中的鏈接使用“添加角色和功能”嚮導。 選擇“基於角色或基於功能的安裝”。 ...
  • 一:背景 1. 講故事 前段時間有位朋友微信找到我,說他的程式使用 hsl 庫之後,採集 plc 時記憶體溢出,讓我幫忙看一下怎麼回事,哈哈,貌似是分析之旅中的第二次和 hsl 打交道,既然找到我,那就上 windbg 說話吧。 二:WinDbg 分析 1. 為什麼會記憶體溢出 簡單觀察程式的提交記憶體之 ...
  • 最近在工作中遇到一個問題,就是我有多個線程會調用bitmap對象,運行的時候報錯,對象當前正在其他地方使用。第一反應肯定是加鎖啊,於是我就在每個用到bitmap的地方都加了鎖,但是運行之後依然報這個錯 測試代碼如下 using System; using System.Drawing; using ...
  • .NET Core 選項系統的主要實現在 Microsoft.Extensions.Options 和 Microsoft.Extensions.Options.ConfigurationExtensions 兩個 Nuget 包。對於一個框架的源碼進行解讀,我們可以從我們常用的框架中的類或方法入手 ...
  • 這篇主要介紹對於SOP8,SOP10,SOP16封裝的PY32F002A/PY32F003, 沒有BOOT0的情況如何修改Option Bytes, 以及如何在物理管腳上使用不同的PIN ...
  • Redhat/CentOS Linux 系統進入單用戶模式 以 CentOS 7.9 和 Redhat 8.2 為例進行操作,因為CentOS是Redhat的發行版,所以同版本號界面和操作是一樣的。 CentOS 7.9 開機在 grub 引導界面時,按下 e 鍵進入編輯模式: 找到 linux16 ...
一周排行
    -Advertisement-
    Play Games
  • Dapr Outbox 是1.12中的功能。 本文只介紹Dapr Outbox 執行流程,Dapr Outbox基本用法請閱讀官方文檔 。本文中appID=order-processor,topic=orders 本文前提知識:熟悉Dapr狀態管理、Dapr發佈訂閱和Outbox 模式。 Outbo ...
  • 引言 在前幾章我們深度講解了單元測試和集成測試的基礎知識,這一章我們來講解一下代碼覆蓋率,代碼覆蓋率是單元測試運行的度量值,覆蓋率通常以百分比表示,用於衡量代碼被測試覆蓋的程度,幫助開發人員評估測試用例的質量和代碼的健壯性。常見的覆蓋率包括語句覆蓋率(Line Coverage)、分支覆蓋率(Bra ...
  • 前言 本文介紹瞭如何使用S7.NET庫實現對西門子PLC DB塊數據的讀寫,記錄了使用電腦模擬,模擬PLC,自至完成測試的詳細流程,並重點介紹了在這個過程中的易錯點,供參考。 用到的軟體: 1.Windows環境下鏈路層網路訪問的行業標準工具(WinPcap_4_1_3.exe)下載鏈接:http ...
  • 從依賴倒置原則(Dependency Inversion Principle, DIP)到控制反轉(Inversion of Control, IoC)再到依賴註入(Dependency Injection, DI)的演進過程,我們可以理解為一種逐步抽象和解耦的設計思想。這種思想在C#等面向對象的編 ...
  • 關於Python中的私有屬性和私有方法 Python對於類的成員沒有嚴格的訪問控制限制,這與其他面相對對象語言有區別。關於私有屬性和私有方法,有如下要點: 1、通常我們約定,兩個下劃線開頭的屬性是私有的(private)。其他為公共的(public); 2、類內部可以訪問私有屬性(方法); 3、類外 ...
  • C++ 訪問說明符 訪問說明符是 C++ 中控制類成員(屬性和方法)可訪問性的關鍵字。它們用於封裝類數據並保護其免受意外修改或濫用。 三種訪問說明符: public:允許從類外部的任何地方訪問成員。 private:僅允許在類內部訪問成員。 protected:允許在類內部及其派生類中訪問成員。 示 ...
  • 寫這個隨筆說一下C++的static_cast和dynamic_cast用在子類與父類的指針轉換時的一些事宜。首先,【static_cast,dynamic_cast】【父類指針,子類指針】,兩兩一組,共有4種組合:用 static_cast 父類轉子類、用 static_cast 子類轉父類、使用 ...
  • /******************************************************************************************************** * * * 設計雙向鏈表的介面 * * * * Copyright (c) 2023-2 ...
  • 相信接觸過spring做開發的小伙伴們一定使用過@ComponentScan註解 @ComponentScan("com.wangm.lifecycle") public class AppConfig { } @ComponentScan指定basePackage,將包下的類按照一定規則註冊成Be ...
  • 操作系統 :CentOS 7.6_x64 opensips版本: 2.4.9 python版本:2.7.5 python作為腳本語言,使用起來很方便,查了下opensips的文檔,支持使用python腳本寫邏輯代碼。今天整理下CentOS7環境下opensips2.4.9的python模塊筆記及使用 ...