1. 环境准备
Centos7.4主机两台:
192.168.1.200 --controller节点
192.168.1.201 --compute节点
2. OpenStack安装
2.1 controller安装
具体步骤:
1)创建目录
mkdir -p /home/xiabing/git/images
cd /home/xiabing/git/
2)关闭selinux和防火墙
sudo sed -i 's#SELINUX=enforcing#SELINUX=disabled#g' /etc/sysconfig/selinux
sudo setenforce 0
sudo systemctl start firewalld.service
sudo systemctl stop firewalld.service
sudo systemctl disable firewalld.service
3)下载安装脚本
git clone https://github.com/BillWang139967/openstack_install.git
4)修改install_openstack/etc/main-config.rc,根据需要修改以下内容
DEFAULT_PASS="suredata"
CONTROLLER_NODES="controller"
CONTROLLER_NODES_IP="192.168.1.200"
COMPUTE_NODES="compute1"
COMPUTE_NODES_IP="192.168.1.201"
PROVIDER_INTERFACE="enp2s0"
5)开始安装
./main-installer.sh controller install
6)安装完成登录UI界面http://192.168.1.200/dashboard/ 会登录失败,需要再修改以下配置
在/etc/httpd/conf.d/openstack-dashboard.conf中:
WSGISocketPrefix run/wsgi
配置下面添加:
WSGIApplicationGroup %{GLOBAL}
再重启httpd服务:
systemctl restart httpd.service
2.2 compute安装
注意主机名如果不是compute1,先设置主机名为compute1:
hostnamectl set-hostname compute1
具体步骤:
1)创建目录
mkdir -p /home/xiabing/git/images
cd /home/xiabing/git/
2)关闭selinux和防火墙
sudo sed -i 's#SELINUX=enforcing#SELINUX=disabled#g' /etc/sysconfig/selinux
sudo setenforce 0
sudo systemctl start firewalld.service
sudo systemctl stop firewalld.service
sudo systemctl disable firewalld.service
3)下载安装脚本
git clone https://github.com/BillWang139967/openstack_install.git
4)修改install_openstack/etc/main-config.rc,根据需要修改以下内容
DEFAULT_PASS="suredata"
CONTROLLER_NODES="controller"
CONTROLLER_NODES_IP="192.168.1.200"
COMPUTE_NODES="compute1"
COMPUTE_NODES_IP="192.168.1.201"
PROVIDER_INTERFACE="enp2s0"
CINDER_ISCSI_IP_ADDRESS="192.168.1.200"
5)开始安装
./main-installer.sh compute install
6)修改nova.conf配置
先创建/home/nova/目录并修改权限:
mkdir -p /home/nova
chmod 777 -R /home/nova
再修改/etc/nova/nova.conf配置:
1)state_path=/home/nova
(默认为/var/lib/nova 改成这个的原因是,/home分区更大,后面实例信息都是保存在这个目录,所以选最大的分区. 分区小了,创建实例可能出现NoValidHost: No valid host was found.的错误)
2)novncproxy_base_url = http://192.168.1.200:6080/vnc_auto.html
(其中192.168.1.200为controller的地址,安装好后是controller,这样页面访问虚机就可以了)
安装完成后用admin/suredata 登录UI:
3. 使用篇
3.1 新建实例类型
管理员-->系统-->实例类型-->新建实例类型:
3.2 导入镜像
1)Centos云镜像官方下载地址:http://cloud.centos.org/centos(tips: 注意下载tar.gz文件)
2)上传镜像压缩文件到/home/xiabing/git/images/目录并解压
tar -zxf CentOS-7-x86_64-GenericCloud-1710.raw.tar.gz
3)镜像导入
UI不支持镜像导入,查了下,要修改配置,尝试了下没成功,暂且使用glance命令导入镜像:
. /etc/openstack-control-script-config/admin-openrc #执行admin的环境变量
glance image-create --name "centos-7-1710" --file CentOS-7-x86_64-GenericCloud-1710.raw --disk-format qcow2 --container-format bare --visibility public --progress #上传镜像,镜像名为centos-7-1710
glance image-list #查看当前已有镜像:
页面上也可以看到镜像导入成功:
3.3 创建网络
3.3.1 创建外部网络
页面创建外部网络,子网网段192.168.1.210 - 192.168.1.240
创建网络:
子网配置:
子网详细配置:
在页面上创建外部网络如果出错,可以使用命令行先创建外部网络,再在页面上添加子网配置:
[root@controller images]# openstack network create --share --external --provider-physical-network provider --provider-network-type flat external-net
3.3.2 创建内部网络
管理员-->系统-->网络-->创建网络:
创建完成后,点击创建好的网络名bds,点击子网-->创建子网:
子网配置信息如下:
子网网段配置如下:
3.3.3 添加路由器
项目-->网络-->路由-->新建路由:
添加路由接口,一个外网接口,一个内网接口:
完成上述步骤后,网络拓扑如下:
3.4 新建实例
1)创建实例
2)选择镜像
3)选择实例类型
4)选择网络,网络接口不要管自动dhcp分配
5)选择安全组default和密钥对
6)配置中添加修改用户名centos的密码为centos
7)绑定浮动ip
8)创建icmp和tcp全端口访问规则
四个VM下的网络拓扑: