Packstack单节点一键部署openstack-Train版_openstack train部署ceilometer

内存 32G
网络环境:
eth0 192.168.100.106 物理外网
eth1 172.16.0.106 私有内网


#服务器基础优化



echo 'net.ipv4.ip_forward=1 ’ >>/etc/sysctl.conf
echo 'net.ipv4.tcp_tw_recycle=1 ’ >>/etc/sysctl.conf
echo 'net.ipv4.tcp_tw_reuse=1 ’ >>/etc/sysctl.conf
sysctl -p
chmod +x /etc/rc.d/rc.local
yum install -y mlocate lrzsz tree vim nc nmap wget bash-completion bash-completion-extras cowsay sl htop iotop iftop lsof net-tools sysstat unzip bc psmisc ntpdate wc telnet-server bind-utils sshpass
echo ‘localhost 192.168.100.106’ >>/etc/hosts
systemctl stop firewalld
systemctl disable firewalld
setenforce 0
sed -i ‘s#SELINUX=enforcing#SELINUX=disabled#g’ /etc/selinux/config
systemctl stop NetworkManager
systemctl disable NetworkManager
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
yum install -y mlocate lrzsz tree vim nc nmap wget bash-completion bash-completion-extras cowsay sl htop iotop iftop lsof net-tools sysstat unzip bc psmisc ntpdate wc telnet-server bind-utils sshpass
sed -i ‘s#keepcache=0#keepcache=1#g’ /etc/yum.conf
yum clean all
yum makecache
ntpdate ntp1.aliyun.com
echo ‘*/30 * * * * /sbin/ntpdate ntp1.aliyun.com >/dev/null 2>&1’ >>/var/spool/cron/root


#安装train版yum源



yum install centos-release-openstack-train -y


#安装openstack-packstack工具用于生成openstack应答文件



yum install openstack-packstack -y
packstack --gen-answer-file=openstack.txt

packstack --allinone  #allinone模式
packstack --gen-answer-file=  #生成部署配置文件
packstack --answer-file=    #选择应答文件


#packstack每个版本的配置文件均有小改动,不要修改错位置  
 可以详细学习一下配置文件的各个模块的配置参数,可根据自己实际需求更改



[19:57 root@localhost ~]# vim openstack.txt
41行: y-n #SWIFT是OpenStack的对象存储组件,默认是Y,在生产环境中一般是不装,所以改n
50行: y-n #不安装该服务
97行: 10.0.1.120,10.0.1.130 #计算节点ip地址
808 openvswitch
813: physnet1 #flat网络这边要设置物理网卡名字
840 openvswitch #L2网络的代理模式,也可选择linuxbridge
858: physnet1:br-ex #这边要设置物理网卡的名字
869: br-ex:eth0 #这边br-ex:eth0是网络节点的nat网卡,到时候安装完毕之后IP地址会漂到这个上
1181: y-n #DEMO是OpenStack联网下载一个测试镜像,这边没联网。说以改成n


##更改密码(123456)



sed -i -r ‘s/(.+_PW)=.+/\1=123456/’ openstack.txt


#备份配置文件



egrep -v “#|$” openstack.txt >openstack.txt.bak1


#查看所有的主机ip地址是否都指定到eth0网卡



[20:01 root@localhost ~]# grep ‘HOST=’ openstack.txt
CONFIG_CONTROLLER_HOST=192.168.100.106
CONFIG_VCENTER_HOST=
CONFIG_STORAGE_HOST=192.168.100.106
CONFIG_SAHARA_HOST=192.168.100.106
CONFIG_AMQP_HOST=192.168.100.106
CONFIG_MARIADB_HOST=192.168.100.106
CONFIG_TEMPEST_HOST=
CONFIG_REDIS_HOST=192.168.100.106


#一键部署单节点



[20:15 root@localhost ~]# packstack --answer-file=openstack.txt
Welcome to the Packstack setup utility

The installation log file is available at: /var/tmp/packstack/20200614-205624-uEmdI2/openstack-setup.log

Installing:
Clean Up [ DONE ]
Discovering ip protocol version [ DONE ]
Setting up ssh keys [ DONE ]
Preparing servers [ DONE ]
Pre installing Puppet and discovering hosts’ details [ DONE ]
Preparing pre-install entries [ DONE ]
Setting up CACERT [ DONE ]
Preparing AMQP entries [ DONE ]
Preparing MariaDB entries [ DONE ]
Fixing Keystone LDAP config parameters to be undef if empty[ DONE ]
Preparing Keystone entries [ DONE ]
Preparing Glance entries [ DONE ]
Checking if the Cinder server has a cinder-volumes vg[ DONE ]
Preparing Cinder entries [ DONE ]
Preparing Nova API entries [ DONE ]
Creating ssh keys for Nova migration [ DONE ]
Gathering ssh host keys for Nova migration [ DONE ]
Preparing Nova Compute entries [ DONE ]
Preparing Nova Scheduler entries [ DONE ]
Preparing Nova VNC Proxy entries [ DONE ]
Preparing OpenStack Network-related Nova entries [ DONE ]
Preparing Nova Common entries [ DONE ]
Preparing Neutron API entries [ DONE ]
Preparing Neutron L3 entries [ DONE ]
Preparing Neutron L2 Agent entries [ DONE ]
Preparing Neutron DHCP Agent entries [ DONE ]
Preparing Neutron Metering Agent entries [ DONE ]
Checking if NetworkManager is enabled and running [ DONE ]
Preparing OpenStack Client entries [ DONE ]
Preparing Horizon entries [ DONE ]
Preparing Gnocchi entries [ DONE ]
Preparing Redis entries [ DONE ]
Preparing Ceilometer entries [ DONE ]
Preparing Puppet manifests [ DONE ]
Copying Puppet modules and manifests [ DONE ]
Applying 192.168.100.106_controller.pp
192.168.100.106_controller.pp: [ DONE ]
Applying 192.168.100.106_network.pp
192.168.100.106_network.pp: [ DONE ]
Applying 192.168.100.106_compute.pp
192.168.100.106_compute.pp: [ DONE ]
Applying Puppet manifests [ DONE ]
Finalizing [ DONE ]

**** Installation completed successfully ******

Additional information:

  • Time synchronization installation was skipped. Please note that unsynchronized time on server instances might be problem for some OpenStack components.
  • File /root/keystonerc_admin has been created on OpenStack client host 192.168.100.106. To use the command line tools you need to source the file.
  • To access the OpenStack Dashboard browse to http://192.168.100.106/dashboard .
    Please, find your login credentials stored in the keystonerc_admin in your home directory.
  • The installation log file is available at: /var/tmp/packstack/20200614-205624-uEmdI2/openstack-setup.log
  • The generated manifests are available at: /var/tmp/packstack/20200614-205624-uEmdI2/manifests

#packstack部署禁止了openstack的dashbrard界面对域的支持,需要可打开



vim /etc/openstack-dashboard/local_settings
79 OPENSTACK_KEYSTONE_MULTIDOMAIN_SUPPORT = True
85 OPENSTACK_KEYSTONE_DEFAULT_DOMAIN = ‘Default’
461 TIME_ZONE = “Asia/Shanghai” #配置时区为亚洲上海

systemctl restart httpd.service memcached.service


<think>好的,我需要帮助用户在CentOS 8上部署OpenStack Train本。首先,我需要回顾一下用户提供的引用内容,看看哪些步骤是相关的。用户提到了几个引用,其中引用[3]特别提到了CentOS 8需要禁用NetworkManager并安装network-scripts,这可能是关键步骤。另外,引用[1]和[2]提到了初始化OpenStack和启动cinder服务,这些步骤可能也适用。 首先,我需要确保用户的环境满足基本要求,比如操作系统本、网络配置和必要的软件包。根据引用[3],CentOS 8默认使用NetworkManager,但OpenStack需要传统的network-scripts,所以第一步应该是禁用NetworkManager并启用network服务。用户需要运行systemctl disable和stop NetworkManager,然后安装network-scripts并启动network服务。 接下来,安装依赖项和Kolla-ansible。Kolla-ansible是OpenStack部署工具,用户可能需要配置EPEL仓库来安装必要的软件包。比如,dnf install python3-devel libffi-devel gcc openssl-devel python3-libselinux这些包可能都是必须的。然后,使用pip安装kolla-ansible,并复制配置文件到正确的位置,比如/etc/kolla/。 然后,配置globals.yml文件,这里需要指定OpenStack本为train,并设置网络接口和虚拟接口。用户可能需要根据实际网络环境调整这些参数,比如network_interface和neutron_external_interface。此外,需要生成密码文件,使用kolla-genpwd生成密码,并确保所有服务都有正确的凭证。 部署前需要检查依赖,运行kolla-ansible -i all-in-one bootstrap-servers和prechecks命令,确保所有节点配置正确。然后执行实际的部署命令kolla-ansible -i all-in-one deploy。这个过程可能会比较耗时,取决于系统性能和网络速度。 部署完成后,初始化OpenStack环境,可能需要运行init-runonce脚本,如引用[1]提到的/usr/share/kolla-ansible/init-runonce,这有助于创建初始网络和实例。此外,用户需要安装OpenStack客户端,配置环境变量,以便通过命令行管理OpenStack资源。 启动cinder服务也是必要的,如引用[2]所述,需要启用并启动openstack-cinder-api和scheduler服务。同时,确保其他相关服务如Nova、Neutron、Glance等都已正确启动和配置。 最后,验证部署是否成功,创建虚拟机实例,检查网络连通性和资源分配情况。用户可能还需要配置安全组规则,允许SSH或其他流量。 在整个过程中,可能会遇到各种问题,比如服务启动失败、网络配置错误或依赖包缺失。需要引导用户查看日志文件,如/var/log/kolla/下的日志,进行故障排除。另外,确保所有步骤都按照顺序执行,特别是在修改配置文件后重新运行部署命令。 用户可能还会问及相关问题,比如如何扩展计算节点、如何备份OpenStack配置、如何进行本升级等,但根据当前问题,主要集中在部署步骤上。需要确保回答结构清晰,步骤详细,并且参考了提供的引用内容,特别是禁用NetworkManager和使用kolla-ansible的部分。</think>### CentOS 8 上部署 OpenStack Train 本指南 #### 一、环境准备 1. **操作系统要求** - CentOS 8 Stream 或 CentOS 8(建议最小化安装) - 至少 8GB 内存、4 核 CPU、100GB 磁盘空间 - 双网卡(管理网络与外部网络)[^3] 2. **禁用 NetworkManager** ```bash systemctl disable --now NetworkManager dnf install network-scripts -y systemctl enable --now network ``` #### 二、安装依赖与工具 1. **配置 EPEL 仓库** ```bash dnf install epel-release -y dnf config-manager --set-enabled powertools ``` 2. **安装必要软件包** ```bash dnf install python3-devel libffi-devel gcc openssl-devel python3-libselinux -y pip3 install --upgrade pip pip3 install 'ansible-core>=2.13,<2.14' kolla-ansible --ignore-installed PyYAML ``` 3. **复制 Kolla 配置文件** ```bash mkdir -p /etc/kolla cp -r /usr/share/kolla-ansible/etc_examples/kolla/* /etc/kolla/ cp /usr/share/kolla-ansible/ansible/inventory/all-in-one . ``` #### 三、配置 OpenStack 1. **修改 `globals.yml`** ```yaml kolla_base_distro: "centos" kolla_install_type: "source" openstack_release: "train" network_interface: "ens192" # 管理网卡名称 neutron_external_interface: "ens224" # 外部网络网卡 enable_cinder: "yes" # 启用块存储服务[^2] ``` 2. **生成密码文件** ```bash kolla-genpwd ``` #### 四、部署与验证 1. **执行预检查与部署** ```bash kolla-ansible -i all-in-one bootstrap-servers kolla-ansible -i all-in-one prechecks kolla-ansible -i all-in-one deploy ``` 2. **初始化 OpenStack 环境** ```bash /usr/share/kolla-ansible/init-runonce # 创建示例网络和实例[^1] ``` 3. **安装 OpenStack 客户端** ```bash pip3 install python-openstackclient source /etc/kolla/admin-openrc.sh ``` #### 五、验证服务状态 ```bash openstack compute service list # 检查 Nova 服务 openstack network agent list # 检查 Neutron 代理 openstack volume service list # 检查 Cinder 服务[^2] ``` #### 六、常见问题 - **网络问题**:若实例无法获取 IP,检查 `neutron_external_interface` 配置和安全组规则。 - **资源调度失败**:确保 Placement 服务正常运行[^4],检查 `/var/log/kolla/placement` 日志。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值