当前位置:   article > 正文

openstack一键部署方案_一键部署openstack

一键部署openstack

一、前言

  • 本教程使用的操作系统为centos7版本的linux系统;opentask基于packstack一键部署方案
  • 亲测centos7可以安装成功正常使用
  • 本教程部分片段采用了代理技术,建议不明白代理怎么设置的朋友先行了解代理设置方法,否则可能时间上无法优化

二、基础环境

前面讲过,本实验基于centos7系统搭建opentask平台, 所以我们需要搭建一套centos7的虚拟机环境,当然物理机也可以;

在搭建centos7虚拟机环境的过程中我们需要注意一下以下几点 :

  • yum源的配置: 建议将yum源更换到国内且下载epel扩展源
  • 网络管理: 建议设置成静态IP地址且网络模式为桥接模式 ,关闭网络管理器功能
  • 虚拟机配置:CPU建议8核 内存建议最小8G 硬盘空间建议越大大约好,同时一定记得开启CPU虚拟化

上述基础环境部分为基础操作建议先完成基础操作后再执行下述操作

三、openstack环境部署

3.1-系统初始化检测与配置

3.1.2-更新软件仓库与清除yum仓库缓存

  1. sudo yum update -y && sudo yum clean all
  2. sudo yum makecache
  3. git --version || sudo yum install git -y

3.1.3-关闭网络功能

关闭 NetworkManager 功能有助于避免与openstack网络产生冲突

  1. sudo systemctl stop NetworkManager
  2. sudo systemctl disable NetworkManager

3.2-安装openstack与附加包

此步骤安装的后两个附加包其实在执行sudo packstack --allinone时会自动安装,但是部分情况会出现报错无法定位到软件源,所以提前进行安装避免问题的发生!

  1. sudo yum install -y centos-release-openstack-train epel-release
  2. sudo yum install -y openstack-packstack
  3. sudo yum downgrade -y leatherman
  4. sudo yum install -y python2-qpid-proton-0.26.0-2.el7.x86_64

3.3-代理设置

设置代理的时候我们需要注意将引号里面的容易更换成自己的代理地址,否则代理地址无效,在这里我们只需要临时设置git的代理就可以了,不需要同时设置yum代理和永久保存代理设置。

  1. git config --global http.proxy "http://10.0.0.3:7890"
  2. git config --global https.proxy "http://10.0.0.3:7890"

3.4-openstack组件安装

sudo packstack --allinone

此过程安装时间较长,大约执行25分钟左右即可安装完成!所以耐心等待,另外在安装完成后可能会出现红色字体,不必担心!!! 正常提示而已,例如下方所示:

3.4.1-图中红色文字详解

  1. "You have chosen OVN Neutron backend.":这句话表明你选择了 OVN (Open Virtual Network) 作为 Neutron(OpenStack 的网络服务)的后端。OVN 提供了虚拟网络抽象,它是由 Open vSwitch 社区开发的,旨在作为 Neutron 的一个高效、可扩展的后端,支持多种网络功能。

  2. "Note that this backend does not support the VPNaaS or FWaaS services.":这说明如果你选择 OVN 作为 Neutron 的后端,你将无法使用 VPN-as-a-Service (VPNaaS) 和 Firewall-as-a-Service (FWaaS) 这两项服务。VPNaaS 提供虚拟私人网络服务,而 FWaaS 提供防火墙服务。这可能会影响你对特定网络安全和隔离功能的需求。

  3. "Geneve will be used as the encapsulation method for tenant networks.":这句话指出,租户网络将使用 Geneve 封装方法。Geneve (Generic Network Virtualization Encapsulation) 是一种网络封装协议,被设计来提供更灵活的封装和隧道选项。它类似于 VXLAN,但设计上更为灵活,旨在支持更复杂的虚拟网络结构。

openstack一键脚本安装

此脚本整合了上述的所有步骤同时添加了一个用户与密码信息输出功能和脚本执行时长计时功能

脚本运行方式:bash + script_name  

  1. #!/bin/bash
  2. set -e
  3. SECONDS=0
  4. PROXY_HTTP="http://10.0.0.3:7890"
  5. PROXY_HTTPS="http://10.0.0.3:7890"
  6. KEYSTONERC_ADMIN_PATH=~/keystonerc_admin
  7. system_init() {
  8. sudo yum update -y && sudo yum clean all
  9. sudo yum makecache
  10. if ! git --version &> /dev/null; then
  11. sudo yum install git -y
  12. else
  13. echo "Git is already installed."
  14. fi
  15. sudo systemctl stop NetworkManager || true
  16. sudo systemctl disable NetworkManager || true
  17. }
  18. openstack_install() {
  19. sudo yum install -y centos-release-openstack-train epel-release
  20. sudo yum install -y openstack-packstack
  21. sudo yum downgrade -y leatherman
  22. sudo yum install -y python2-qpid-proton-0.26.0-2.el7.x86_64
  23. }
  24. proxy_setting() {
  25. git config --global http.proxy "$PROXY_HTTP"
  26. git config --global https.proxy "$PROXY_HTTPS"
  27. }
  28. system_init
  29. openstack_install
  30. proxy_setting
  31. sudo packstack --allinone
  32. if [ -f "$KEYSTONERC_ADMIN_PATH" ]; then
  33. OS_USERNAME=$(grep 'OS_USERNAME' "$KEYSTONERC_ADMIN_PATH" | cut -d '=' -f2 | tr -d '"')
  34. OS_PASSWORD=$(grep 'OS_PASSWORD' "$KEYSTONERC_ADMIN_PATH" | cut -d '=' -f2 | tr -d '"')
  35. echo -e "user: \033[32m$OS_USERNAME\033[0m passwd: \033[31m$OS_PASSWORD\033[0m"
  36. else
  37. exit 1 && echo "----输出失败----"
  38. fi
  39. ELAPSED="$SECONDS"
  40. echo -e "\033[35mScript execution time: $ELAPSED seconds\033[0m"

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/黑客灵魂/article/detail/983483
推荐阅读
相关标签
  

闽ICP备14008679号