OpenStack部署

环境准备

主机名称 IP地址 最小资源配置
openstack 10.10.10.30 2CPU,8G内存
nova01 10.10.10.11 2CPU,3G内存
nova02 10.10.10.12 2CPU,3G内存
repo 10.10.10.250 2CPU,1G内存

上传 RHEL7-extras.iso、RHEL7OSP-10.iso 到功能服务器[repo]

功能服务器安装配置

时间源服务器

[root@repo ~]# yum install -y chrony
[root@repo ~]# vim /etc/chrony.conf
# 注释掉所有 server 开头的行,添加
server ntp.aliyun.com iburst
bindacqaddress 0.0.0.0
allow 0/0
local stratum 10
[root@repo ~]# systemctl enable chronyd
[root@repo ~]# systemctl restart chronyd
[root@repo ~]# ss -ltun  # 查看 123 端口是否被监听成功

网络yum源服务器

[root@repo ~]# yum install -y vsftpd
[root@repo ~]# systemctl enable --now vsftpd
[root@repo ~]# mkdir -p /var/ftp/{extras,openstack}
[root@repo ~]# cd /var/iso
[root@repo ~]# mount -t iso9660 -o ro,loop RHEL7-extras.iso /var/ftp/extras
[root@repo ~]# mount -t iso9660 -o ro,loop RHEL7OSP-10.iso /var/ftp/openstack
# 在openstack上验证
[root@openstack ~]# curl ftp://192.168.1.250/extras/
[root@openstack ~]# curl ftp://192.168.1.250/openstack/

/etc/fstab实现永久挂载

/var/iso/RHEL7-extras.iso  /var/ftp/extras iso9660    defaults,ro,loop  0 0
/var/iso/RHEL7OSP-10.iso /var/ftp/openstack iso9660 defaults,ro,loop 0 0 

openstack系统环境安装配置
以下操作,openstacknova01,nova02都需要做

[root@openstack ~]# vim /etc/selinux/config
# 修改 SELINUX=disabled
[root@openstack ~]# yum -y remove firewalld-*
[root@openstack ~]# reboot
# 重启后验证
[root@openstack ~]# sestatus 
SELinux status:                 disabled
[root@openstack ~]# rpm -qa |grep -i firewalld
[root@openstack ~]# 

卸载 NetworkManager

[root@openstack ~]# systemctl stop NetworkManager
[root@openstack ~]# yum remove -y NetworkManager
[root@openstack ~]# systemctl enable --now network

网卡配置文件注解

  • Generated by dracut initrd # 注释
  • DEVICE=“eth0” # 驱动名称,与ifconfig 看到的名称一致
  • ONBOOT=“yes” # 开机启动
  • NM_CONTROLLED=“no” # 不接受 NetworkManager 控制
  • TYPE=“Ethernet” # 类型
  • BOOTPROTO=“static” # 协议(dhcp|static|none)
  • IPADDR=“10.10.10.30” # IP地址
  • NETMASK=“255.255.255.0” # 子网掩码
  • GATEWAY=“10.10.10.254” # 默认网关

Yum安装源配置
确认软件包总数是 10670

[root@openstack ~]# vim /etc/yum.repos.d/openstack.repo 
[local_extras]
name=CentOS-$releasever - Extras
baseurl="ftp://10.10.10.250/extras"
enabled=1
gpgcheck=0

[local_openstack]
name=CentOS-$releasever - OpenStack
baseurl="ftp://10.10.10.250/openstack/rhel-7-server-openstack-10-rpms"
enabled=1
gpgcheck=0

[local_openstack_devtools]
name=CentOS-$releasever - Openstack devtools
baseurl="ftp://10.10.10.250/openstack/rhel-7-server-openstack-10-devtools-rpms"
enabled=1
gpgcheck=0
[root@openstack ~]# yum makecache
[root@openstack ~]# yum repolist
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
repo id                    repo name                           status
CentOS-Base                CentOS-7 - Base                     9,911
local_extras               CentOS-7 - Extras                   76
local_openstack            CentOS-7 - OpenStack                680
local_openstack_devtools   CentOS-7 - Openstack devtools       3
repolist: 10,670

时间服务器配置

[root@openstack ~]# vim /etc/chrony.conf
 注释掉所有 server 开头的行,添加
server 192.168.1.250 iburst
[root@openstack ~]# systemctl restart chronyd
[root@openstack ~]# chronyc sources -v  # 验证配置 ^* 代表成功

主机名与DNS配置

[root@openstack ~]# vim /etc/hosts
10.10.10.30  openstack
10.10.10.11  nova01
10.10.10.12  nova02
10.10.10.250 repo
# 删除所有 search 开头的行
[root@openstack ~]# sed '/^search /d' -i /etc/resolv.conf

nova虚拟环境安装
nova01 nova02 安装

[root@nova01 ~]# yum install -y qemu-kvm libvirt-daemon libvirt-daemon-driver-qemu libvirt-client python-setuptools
[root@nova01 ~]# systemctl enable --now libvirtd
[root@nova01 ~]# virsh version # 验证

packstack工具安装
只需要在 openstack 上安装即可

[root@openstack ~]# yum install -y python-setuptools openstack-packstack

openstack安装
使用应答文件安装,只需要在 openstack 上安装即可

创建应答文件

[root@openstack ~]# packstack --gen-answer-file=answer.ini
 修改应答文件
42:   CONFIG_SWIFT_INSTALL=n                              //存储对象组件
45:   CONFIG_CEILOMETER_INSTALL=n                         //计费模块
49:   CONFIG_AODH_INSTALL=n                               //计费模块
53:   CONFIG_GNOCCHI_INSTALL=n                            //计费模块
75:   CONFIG_NTP_SERVERS=192.168.1.250                    //时间服务器
98:   CONFIG_COMPUTE_HOSTS=192.168.1.11                   //计算节点IP
102:  CONFIG_NETWORK_HOSTS=192.168.1.10,192.168.1.11      //网络节点IP
333:  CONFIG_KEYSTONE_ADMIN_PW=a                          //管理员密码
840:  CONFIG_NEUTRON_ML2_TYPE_DRIVERS=flat,vxlan          //支持协议
910:  CONFIG_NEUTRON_OVS_BRIDGE_MAPPINGS=physnet1:br-ex   //网桥设备
921:  CONFIG_NEUTRON_OVS_BRIDGE_IFACES=br-ex:eth0         //出口网卡
1179: CONFIG_PROVISION_DEMO=n                             //演示模块

做快照!!! 做快照!!! 做快照!!!

安装过程大约 10 ~ 30 分钟不等

[root@openstack ~]# packstack --answer-file=answer.ini

web页面登录
修改 apache 配置

[root@openstack ~]# vim /etc/httpd/conf.d/15-horizon_vhost.conf 
#在配置文件倒数第三行添加
WSGIApplicationGroup %{GLOBAL}
[root@openstack ~]# systemctl reload httpd

浏览器访问 http://10.10.10.30/

命令行登录openstack

[root@openstack ~]# openstack user list
Missing value auth-url required for auth plugin password
#没有登录获取数据失败
[root@openstack ~]# source keystonerc_admin 
[root@openstack ~(keystone_admin)]# openstack user list
+----------------------------------+---------+
| ID                               | Name    |
+----------------------------------+---------+
| 0e5367062de6478a9fe2d0456cb5fddb | nova    |
| 27191744bc6349f5b34822c083f7874e | admin   |
| 803074aab6fe49a19b983d9fbb7322be | glance  |
| cf35dd75778d4479965e2f39771956de | neutron |
| d5f4ffae68e54210a6bb29fba36acaaa | cinder  |
+----------------------------------+---------+
#登录以后获取数据成功

项目与用户管理

创建一个项目tedu
创建一个用户kiki管理tedu项目
OpenStack部署_第1张图片
创建uu用户
OpenStack部署_第2张图片

![在这里插入图片描述](https://img-blog.csdnimg.cn/20210423173228854.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80OTQzMjMxMw==,size_16,color_FFFFFF,t_70
配置云主机并上传镜像

  • 自定义云主机类型 ( 2cpu, 512m 内存)
  • 上传镜像 small.img

新建云主机类型
OpenStack部署_第3张图片

上传镜像
OpenStack部署_第4张图片
配置虚拟网络

  • 创建一个外部网络,分配给项目
  • 创建一个内部网络
  • 创建一个路由,把内部网络和外部网络连接起来

步骤一:创建网络
1)登陆admin用户,创建外网wan
OpenStack部署_第5张图片

OpenStack部署_第6张图片
2)创建wan的子网wan_subnet

  • 点击->wan->子网->创建子网
    OpenStack部署_第7张图片

3)wan外网不需要激活DHCP
OpenStack部署_第8张图片

4)创建内网lan 点击->项目->网络->创建网络
OpenStack部署_第9张图片
5)创建lan的子网lan_subnet
OpenStack部署_第10张图片

7)给内网分配地址池
OpenStack部署_第11张图片
创建路由
OpenStack部署_第12张图片
增加路由接口
OpenStack部署_第13张图片

创建云主机

  • 通过 web 页面创建云主机
  • 并通过 web console 登录云主机

OpenStack部署_第14张图片

OpenStack部署_第15张图片
OpenStack部署_第16张图片

5)云主机网络
OpenStack部署_第17张图片

5)web页面访问云主机
OpenStack部署_第18张图片
配置浮动IP与安全组

  • 为刚刚创建的云主机设置外部访问
  • 设置浮动 ip
  • 配置安全组,允许外部主机 ping 云主机
  • 配置安全组,允许外部主机通过 ssh 管理云主机

创建浮动IP
OpenStack部署_第19张图片OpenStack部署_第20张图片

建立安全组
1)新建一个安全组,允许SSH访问
OpenStack部署_第21张图片
2)允许ssh访问
OpenStack部署_第22张图片
3)允许HTTPS访问
OpenStack部署_第23张图片
设置安全组规则,允许外界ping通云主机
1)添加规则
OpenStack部署_第24张图片
2)增加ping规则
OpenStack部署_第25张图片
7)进入控制台,配置dns的ip为192.168.1.254,这里不再重复,通过浮动ip可以ssh连接
OpenStack部署_第26张图片

总结

Horizon 组件,提供web管理界面
Keystone 组件,提供集中的认证和授权
Nova 组件,计算节点创建管理云主机
Glance 组件,管理云主机镜像
Swift 组件,存储云使用的对象存储服务
Neutron 组件,管理云服务的内部、外部网络路由等
Cinder 组件,管理云主机的存储卷服务

你可能感兴趣的:(服务器,linux,centos,运维)