Ansible部署openstack案例

发布于:2024-10-12 ⋅ 阅读:(8) ⋅ 点赞:(0)

案例为使用Ansible工具部署一个单控制单计算的OpenStack平台。
macbook双网卡,配置路由:

sudo route -n add -net 192.168.100.0 -netmask 255.255.255.0 172.16.16.1
sudo route -n add -net 192.168.200.0 -netmask 255.255.255.0 172.16.16.1

一、环境准备

使用OpenStack平台创建三台云主机进行实验,云主机镜像使用提供的CentOS_7.5_x86_64_XD.qcow2镜像,
Ansible节点flavor使用2核/4G内存/40G硬盘; 192.168.200.13
controller节点flavor使用4核/8G内存/100G硬盘; 192.168.200.30
compute接点flavor使用4核/8G内存/100G硬盘+50G临时磁盘。 192.168.200.42

1、连接并修改主机名

连接三台云主机,分别修改主机名分别为ansible、controller、compute:

hostnamectl set-hostname ansible
hostnamectl set-hostname controller
hostnamectl set-hostname compute
# 执行完后,输入bash刷新命令行:
[root@hqs-compute02 ~]# bash
[root@compute ~]# 

这条命令会删除/etc/hostname文件中的主机名,然后替换为新的主机名。

[root@ansible ~]# cat /etc/hostname 
ansible

2、配置Asible节点yum源

将官方给的四个包上传到Ansible节点/root目录下:
ansible.tar.gz CentOS-7-x86_64-DVD-1804.iso chinaskills_cloud_iaas.iso openstack_ansible
将CentOS-7-x86_64-DVD-1804.iso和chinaskills_cloud_iaas.iso这两个ISO文件上传至ansible节点,并挂载配置为ftp源
配置本地镜像源:

mv /etc/yum.repos.d/* /opt/
touch /etc/yum.repos.d/local.repo
echo '[centos]
name=centos
baseurl=file:///opt/centos
gpgcheck=0
enabled=1

[iaas]
name=iaas
baseurl=file:///opt/iaas-repo
gpgcheck=0
enabled=1
' > /etc/yum.repos.d/local.repo

# 挂载ceontos镜像
cd /root/;
mount -o loop CentOS-7-x86_64-DVD-1804.iso /mnt/;
mkdir /opt/centos;
cp -rvf /mnt/* /opt/centos/ && umount /mnt/;

# 2.挂载iaas镜像
cd /root/;
mount -o loop chinaskills_cloud_iaas.iso /mnt/;
cp -rvf /mnt/* /opt/;
umount /mnt/;

# 关闭selinux和防火墙
sed  -i 's/SELINUX=enforcing/SELINUX=permissive/g'  /etc/selinux/config
systemctl stop firewalld.service;
systemctl disable firewalld.service;
yum remove -y NetworkManager firewalld;
yum -y install iptables-services;
systemctl enable iptables;
systemctl restart iptables;
iptables -F;
iptables -X;
iptables -Z;
service iptables save;

# 清缓存,验证yum源
yum clean all;
yum list;