1、首先安装vmware workstation
步骤:
安装 VMware Workstation 可以提供在单台计算机上虚拟化多个操作系统的能力。以下是在 Windows 操作系统上安装 VMware Workstation 的一般步骤:
注意事项:
- 硬件要求: 确保计算机满足 VMware Workstation 的硬件要求。
- 虚拟化支持: 在 BIOS/UEFI 设置中启用虚拟化支持,通常被标记为 Intel VT-x 或 AMD-V。
- 操作系统支持: VMware Workstation 支持在 Windows、Linux 上运行。确保选择适用于你操作系统的版本。
安装步骤:
-
)下载 VMware Workstation: 访问 VMware 官方网站(VMware - Delivering a Digital Foundation For Businesses),找到 VMware Workstation 页面,下载适用于你操作系统的版本。
-
) 运行安装程序: 双击下载的安装程序,开始安装过程。可能需要管理员权限。
-
) 安装向导:
- ) )点击 "Next" 开始安装向导。
- ) )阅读并接受许可协议,然后点击 "Next"。
- ) )选择安装类型。通常选择 "Typical"(典型安装)即可。点击 "Next"。
- ) )选择是否启用 VMware Workstation Pro 的更新。根据你的偏好选择,并点击 "Next"。
-
) 输入许可密钥(如果需要): 如果要求输入许可密钥,请在相应的字段中输入。否则,直接点击 "Next"。
-
) 选择用户体验设置: VMware Workstation 会提供一些用户体验设置,选择适合你需求的选项,然后点击 "Next"。
-
) 选择快捷方式位置: 选择是否要在桌面上创建快捷方式,然后点击 "Next"。
-
) 确认安装: 查看安装设置,点击 "Install" 开始安装。
-
) 等待安装完成: 安装过程可能需要一些时间,请等待直到安装完成。
-
) 完成安装: 安装完成后,点击 "Finish" 退出安装向导。
-
) 启动 VMware Workstation: 在桌面上找到 VMware Workstation 图标,双击启动应用程序。
-
) 激活(如果需要): 如果需要激活,请按照提示进行激活。
现在,你已经成功安装了 VMware Workstation,并可以开始创建和管理虚拟机。在使用之前,请确保你理解虚拟机的基本概念和操作。
2、在VMware workstation 中创建一台linux虚拟机,作为Control 节点
在 VMware Workstation 中创建一台 Linux 虚拟机是一个相对简单的过程。以下是一般步骤:
步骤:
-
) 启动 VMware Workstation: 双击桌面上的 VMware Workstation 图标启动应用程序。
-
) 创建新虚拟机:
- ) )在主界面,点击 "Create a New Virtual Machine"(创建新的虚拟机)。
- ) )如果你是第一次使用,也可以通过菜单选择 File > New Virtual Machine。
-
)虚拟机创建向导:
- ) )选择 "Typical"(典型)创建方式,然后点击 "Next"。
- ) )如果你更熟悉高级选项,可以选择 "Custom"(自定义)。
-
)安装程序光盘:
- ) )选择 "Installer disc image file (iso)"。
- ) )点击 "Browse" 选择你下载好的 Linux 发行版的 ISO 镜像文件。
- ) )点击 "Next"。
-
) )选择操作系统:
- 选择 "Linux" 作为操作系统。
- 选择相应的 Linux 版本(例如,RedHat、Ubuntu、Fedora、Debian 等)。
- 点击 "Next"(下一步)。
-
) 虚拟机命名:
- 输入虚拟机的名称。
- 选择虚拟机的保存位置。
- 点击 "Next"。
-
)处理器配置:
- 选择虚拟机的处理器数量。
- 点击 "Next"。
-
内存配置:
- 选择虚拟机的内存大小。
- 点击 "Next"。
-
网络配置:
- 选择 "NAT" 或 "Bridged" 模式,以便虚拟机可以访问网络。#这里选择仅主机模式即可,因为不需要连接网络,只需要虚拟机之间互联互通能ping通就行了。
- 点击 "Next"。
-
磁盘配置:
- 选择 "Create a new virtual disk"(创建新的虚拟磁盘)。
- 输入磁盘大小,选择单一文件或拆分成多个文件。
- 点击 "Next"。
-
完成虚拟机配置:
- 确认设置,点击 "Finish" 完成虚拟机配置。
-
启动虚拟机:
- 在主界面,找到刚创建的虚拟机。
- 双击虚拟机名称,或点击 "Play virtual machine"(播放虚拟机)按钮。
-
安装 Linux 操作系统:
- 此时虚拟机将从你选择的 ISO 镜像文件启动。
- 按照 Linux 安装过程的提示完成安装。
完成上述步骤后,你将在 VMware Workstation 中成功创建并启动了一台 Linux 虚拟机。在安装过程中,确保遵循 Linux 发行版的安装步骤,并提供所需的配置信息。
3、使用yum仓库,或者源码包安装ansible软件
使用vim/vi命令在/etc/yum.repos.d/路径下创建一个以.repo结尾的文件
配置本地yum仓库:地址路径:/etc/yum.repos.d/*.repo
[local-repo]
name=Local
baseurl=file:///var/yum-repo#指向自己本地挂载的光盘
gpgcheck=0#是否开启哈希校验0/no代表不开启,1/yes则代表开启,开启则需要配置哈希校验密钥
enabled=1 #是否开机自动启动,yes/no 1/0
4、创建多台 被管理主机。(Node)
在安装好一台虚拟机之后就只用在vmware workstation 界面右键管理克隆--创建链接克隆虚拟机就可以了,创建链接克隆之后,针对每台克隆出来的虚拟机修改一下ip地址即可,最后能ping通即可。
5、配置各台虚拟机的网络使其互连互通。(注意此时克隆或者创建的虚拟机需要和控制节点处在相同网络之间,配置好IP,网络有nat 仅主机、桥接等模式。)
1、使用nmtui图形界面修改ip
2、使用NetworkManager工具修改IP地址
步骤:
-
查看当前网络连接和设备信息:
nmcli connection show nmcli device show
确保你知道要修改的连接名称和相关设备的名称。
-
查看当前连接的详细信息:
nmcli connection show <connection_name>
这会显示当前连接的详细信息,包括 IP 地址、子网掩码等。
-
修改连接的 IP 地址:
使用
nmcli
命令修改连接的 IP 地址。例如,假设要将连接名为eth0
的连接的 IP 地址修改为192.168.1.2
,子网掩码为255.255.255.0
:nmcli connection modify eth0 ipv4.method manual ipv4.address 192.168.1.2/24
这里的
ipv4.method manual
表示手动设置 IP 地址。 -
设置网关(可选):
如果需要设置网关,可以使用以下命令:
nmcli connection modify eth0 ipv4.gateway 192.168.1.1
替换
192.168.1.1
为你的网关地址。 -
重启连接生效:
nmcli connection down eth0 nmcli connection up eth0
替换
eth0
为你的连接名称。这将会使新的 IP 地址设置生效。 -
验证 IP 地址变更:
nmcli connection show <connection_name> | grep ipv4.address
替换
<connection_name>
为你的连接名称,确保新的 IP 地址已经生效。
这些步骤将帮助你使用 NetworkManager
工具通过命令行来修改网络连接的 IP 地址。确保在执行修改前备份任何重要的网络配置信息,以免出现不可预料的问题
6、配置远程连接,免密登录,ssh-keygen (一路回车,生成公钥私钥)ssh-copy-id 被管理主机ip
在Ansible中,实现远程连接的免密登录通常使用SSH密钥对。以下是一些步骤,帮助你配置免密登录:
步骤:
-
)生成SSH密钥对:
在控制机器上生成SSH密钥对,可以使用以下命令:
ssh-keygen
这个命令将在
~/.ssh/
目录下生成两个文件:id_rsa
(私钥)和id_rsa.pub
(公钥)。 -
)复制公钥到远程主机:
将生成的公钥文件(
id_rsa.pub
)的内容复制到要连接的远程主机的~/.ssh/authorized_keys
文件中。可以使用ssh-copy-id
命令来简化这个过程:ssh-copy-id -i ~/.ssh/id_rsa.pub user@remote_host
替换
user
和remote_host
为你远程主机的用户名和地址。 -
)验证免密登录:
确保你可以通过SSH进行免密登录,使用以下命令:
ssh user@remote_host
如果一切设置正确,你将可以直接登录,而不需要输入密码。
-
)更新Ansible配置文件:
在Ansible的配置文件(通常是
ansible.cfg
)中,确保以下配置正确:[defaults] private_key_file = /path/to/your/private/id_rsa
替换
/path/to/your/private/id_rsa
为你私钥文件的路径。 -
)测试Ansible连接:
使用Ansible的Ping模块测试连接:
ansible -i inventory.ini all -m ping
如果连接成功,你将看到所有主机的"PONG"回应。
现在,你的Ansible将能够通过SSH密钥对进行免密登录到远程主机。确保私钥文件的权限设置为仅对所有者可读(chmod 600 ~/.ssh/id_rsa
)。此外,也可以考虑使用SSH代理来进一步提高安全性。
7、配置ansible配置文件;(ansible配置文件的优先级涉及到路径)具体后面说,这里主要是练习inventory文件的创建练习及ansible的安装练习。
在Ansible中,主要的配置文件是ansible.cfg
。该文件用于配置Ansible的行为,例如设置默认的远程用户、超时时间、日志位置等。以下是一个基本的ansible.cfg
文件配置示例,你可以根据你的需求进行调整:
[defaults]
# 指定远程用户 remote_user = your_remote_user
# 指定私钥文件路径 private_key_file = /path/to/your/private/key.pem
# 设置SSH连接超时时间(以秒为单位) timeout = 30
# 指定日志文件路径 log_path = /var/log/ansible.log
# 禁用SSH主机密钥检查(慎用) host_key_checking = False
# 设置Ansible默认模块执行超时时间(以秒为单位) timeout = 60
# 指定Ansible库的路径 library = /path/to/your/library
# 设置Ansible Vault密码文件路径 vault_password_file = /path/to/your/vault/password_file
上述配置是一个简单的例子,你可以根据实际需求添加或修改其他参数。请注意,有些配置可能需要根据你的具体环境进行调整。
此外,Ansible还支持使用环境变量或命令行参数来覆盖配置文件中的设置。例如,你可以在运行Ansible命令时通过-u
参数指定远程用户,而不必在配置文件中进行设置。
在使用Ansible之前,确保你有一个合适的ansible.cfg
文件,并根据需要进行调整。配置文件通常位于Ansible的配置目录中,通常是/etc/ansible/
,或者可以通过-C
或-c
选项指定不同的配置目录。
8、配置静态inventory文件:
在Ansible中,Inventory文件用于定义被管理主机的清单,可以是静态文件或者是动态生成的。以下是一个简单的静态Inventory文件的示例:
# inventory.ini
[web_servers]
web1 ansible_host=192.168.1.101 ansible_user=your_remote_user
web2 ansible_host=192.168.1.102 ansible_user=your_remote_user
[database_servers]
db1 ansible_host=192.168.1.201 ansible_user=your_remote_user
db2 ansible_host=192.168.1.202 ansible_user=your_remote_user
[load_balancers]
lb1 ansible_host=192.168.1.301 ansible_user=your_remote_user
上述Inventory文件包含了三个组:web_servers
、database_servers
和load_balancers
。每个组下面列出了相应的主机,指定了主机的IP地址和远程用户。
你需要根据你的实际环境和需求来修改这个文件。以下是一些可能的配置参数:
ansible_host
: 指定主机的IP地址或域名。ansible_user
: 指定连接到主机时使用的远程用户。ansible_port
: 指定SSH端口,如果不是默认端口22。ansible_private_key_file
: 指定私钥文件的路径。ansible_python_interpreter
: 指定Python解释器的路径(适用于不同的操作系统和Python环境)。
你可以在Inventory文件中定义不同的组和主机,以满足你的拓扑结构和需求。
然后,你可以使用这个Inventory文件来运行Ansible命令,例如:
ansible -i inventory.ini web_servers -m ping
这个例子中,使用了-i
参数指定Inventory文件,然后选择web_servers
组并运行Ping模块。