TripleO
TripleO (OpenStack On OpenStack)是一个旨在以OpenStack自己的云设施为基础,安装、升级和运营OpenStack云的项目,以nova、neutron和heat为基础,实现数据中心规模的车队管理自动化。
我们在部署的时候,先安装一个种子节点,也就是我们的undercloud,然后再让undercloud去部署 overcloud。直接上过程,想看理论的直接去官网特别详细,传送门:https://docs.openstack.org/project-deploy-guide/tripleo-docs/latest/environments/index.html
Tripleo----undercloud安装
Undercloud最小环境准备:
- 16 GB RAM
- 1 Quad Core CPU
- 80 GB disk Space
- 2 Nics
- Centos 7.x
下面是我的实验设置详细信息:
- CentOS 7 VM(最小安装)托管在KVM虚拟机管理程序中。
- 两块网卡在VM中(NAT和自定义)
- 自定义网段:192.168.126.0/24
- NAT网段:192.168.122.0/24
- Ens33的IP地址是192.168.126.122,ens37的IP地址是192.168.126.1
1、更改主机名然后更新hosts文件
[root@localhost ~]# hostnamectl set-hostname "undercloud.example.com"
[root@localhost ~]# exec bash
[root@undercloud ~]#echo “192.168.126.1 undercloud.example.com” >> /etc/hosts
更新系统然后重启
[root@undercloud ~]#yum update -y && reboot
2、创建一个非root用户,用来安装undercloud
[root@undercloud ~]# useradd stack
[root@undercloud ~]# echo "enter_password_here" | passwd --stdin stack
[root@undercloud ~]# echo "stack ALL=(root) NOPASSWD:ALL" | sudo tee -a /etc/sudoers.d/stack
stack ALL=(root) NOPASSWD:ALL
[root@undercloud ~]# chmod 0440 /etc/sudoers.d/stack
[root@undercloud ~]# su - stack
[stack@undercloud ~]$
注意:undercloud在selinux正常工作的时候进行安装,不建议使用permissive/enabled模式进行安装。可以通过undercloud_enable_selinux配置控制
3、为undercloud启用所需的存储库
Centos7
sudo yum install -y https://trunk.rdoproject.org/centos7/current/python2-tripleo-repos-<version>.el7.centos.noarch.rpm
可以通过https://trunk.rdoproject.org/centos7/current/找到正确的版本进行安装
[stack@undercloud ~]$ sudo yum install -y https://trunk.rdoproject.org/centos7/current/ python2-tripleo-repos-0.0.1-0.20200409224957.8bac392.el7.noarch.rpm
[stack@undercloud ~]$sudo -E tripleo-repos -b train current
[stack@undercloud ~]$sudo -E tripleo-repos -b train current ceph
(想要openstack其他版本可以参考
https://docs.openstack.org/project-deploy-guide/tripleo-docs/latest/deployment/install_undercloud.html)
4、安装TripleO CLI,它将引入所有其他必要的软件包作为依赖项:
[stack@undercloud ~]$sudo yum install –u python-tripleoclient
如果您打算在overcloud中部署Ceph或将overcloud配置为使用外部Ceph集群,并且正在运行Pike或更高版本,请在undercloud上安装ceph-ansible:
[stack@undercloud ~]$sudo yum install -y ceph-ansible
5、准备配置文件
[stack@undercloud ~]$cp /usr/share/python-tripleoclient/undercloud.conf.sample ~/undercloud.conf
编辑配置文件
[stack@undercloud ~]$vi undercloud.conf
[DEFAULT]
local_ip = 192.168.126.1/24
undercloud_public_vip = 192.168.126.2
undercloud_admin_vip = 192.168.126.3
local_interface = eth1
masquerade_network = 192.168.126.0/24 //queen版本之后就不支持了,可以省略
dhcp_start = 192.168.126.100
dhcp_end = 192.168.126.150
network_cidr = 192.168.126.0/24
network_gateway = 192.168.126.1
inspection_iprange = 192.168.126.160,192.168.126.199
generate_service_certificate = true
certificate_generation_ca = local
作为undercloud安装的一部分,在端口8787上配置了映像注册表。这用于提高overcloud映像提取的可靠性,并最大程度地减少总体网络传输。 通过生成以下container-prepare-parameter.yaml文件并将其包含在undercloud.conf中,将使用undercloud所需的映像填充undercloud注册表:container_images_file = $ HOME / containers-prepare-parameter.yaml:
openstack tripleo container image prepare default --local-push-destination --output-env-file ~/containers-prepare-parameter.yaml
6、开始undercloud安装
[stack@undercloud ~]$openstack undercloud install
7、通过命令进行验证
[stack@undercloud ~]$source stackrc
搭建这个真的是一头雾水,将近半个月才弄出来。没有openstack基础看官方文档是真的很费劲,后面还有overcloud,现在也只是成功了一半,不说了继续研究去。