目录

前言

之前写过一篇《Openstack 实现技术分解 (1) 开发环境 — Devstack 部署案例详解》,随着 Devstack 的版本迭代,也一直都在更新它的最佳(简便)实践。但不知道什么原因这篇文件无法 UPDATED 了,所以就另起一篇。从 Rocky 开始,继续记录我对 Devstack 的使用习惯。

当然了,最好不过官方文档(DevStack),但如果你只想快速获得的话,这篇文章或许值得推荐。

网络拓扑

上图是我最常用的 All-In-One 网络拓扑,简单便捷,能够满足我 90% 以上的开发环境需求。172 段是内部网络,通过路由连接外网,devstack-1 上启动的 Instance 也可以访问外网。

运行环境

  • VMware vCenter
  • CentOS7
  • 单网卡(通外网)
    • ens160
    • IP:172.18.22.220/24
    • GW:172.18.22.1

要点

  1. 虚拟机要通外网的前提是这个 All-In-One 操作系统的网卡能够通外网。
  2. All-In-One 操作系统的磁盘根分区,或者是 /opt 目录挂载的分区应该足够大,因为 /opt/stack/data/nova/instances 默认作为 DISK_GB resource provider,该路径的磁盘空间直接参与 nova-scheduler 调度。

步骤

Step 1. Add Stack User

sudo useradd -s /bin/bash -d /opt/stack -m stack
echo "stack ALL=(ALL) NOPASSWD: ALL" | sudo tee /etc/sudoers.d/stack
sudo su - stack

Step 2. Download DevStack

git clone https://git.openstack.org/openstack-dev/devstack
cd devstack

Step 3. Create local.conf

[[local|localrc]]
HOST_IP=172.18.22.200 # Use TryStack(99cloud) git mirror
GIT_BASE=http://git.trystack.cn # Reclone each time
RECLONE=no # Enable Logging
DEST=/opt/stack
LOGFILE=$DEST/logs/stack.sh.log
VERBOSE=True
LOG_COLOR=True
SCREEN_LOGDIR=$DEST/logs
LOGDAYS=1 # Define images to be automatically downloaded during the DevStack built process.
DOWNLOAD_DEFAULT_IMAGES=False
IMAGE_URLS="http://download.cirros-cloud.net/0.3.4/cirros-0.3.4-x86_64-disk.img" # use TryStack git mirror
GIT_BASE=http://git.trystack.cn
NOVNC_REPO=http://git.trystack.cn/kanaka/noVNC.git
SPICE_REPO=http://git.trystack.cn/git/spice/sice-html5.git # Credentials
ADMIN_PASSWORD=admin
DATABASE_PASSWORD=$ADMIN_PASSWORD
SERVICE_PASSWORD=$ADMIN_PASSWORD
RABBIT_PASSWORD=$ADMIN_PASSWORD
SERVICE_TOKEN=$ADMIN_PASSWORD # Apache Frontend
ENABLE_HTTPD_MOD_WSGI_SERVICES=False # IP Version
IP_VERSION=4 ## Neutron
Q_USE_SECGROUP=True
FLOATING_RANGE="172.18.22.0/24"
Q_FLOATING_ALLOCATION_POOL=start=172.18.22.201,end=172.18.22.210
PUBLIC_NETWORK_GATEWAY="172.18.22.1"
PUBLIC_INTERFACE=ens160
IPV4_ADDRS_SAFE_TO_USE="192.168.1.0/24"
ENABLED_SERVICES+=,q-svc,q-agt,q-dhcp,q-l3,q-meta # Enable ml2-vlan
ENABLE_TENANT_VLANS=True
TENANT_VLAN_RANGE=3001:4000
PHYSICAL_NETWORK=default # Open vSwitch provider networking configuration
Q_USE_PROVIDERNET_FOR_PUBLIC=True
OVS_PHYSICAL_BRIDGE=br-ex
PUBLIC_BRIDGE=br-ex
OVS_BRIDGE_MAPPINGS=public:br-ex ## Cinder
VOLUME_GROUP_NAME="stack-volumes"
VOLUME_NAME_PREFIX="volume-"
VOLUME_BACKING_FILE_SIZE=100G ## LoadBalaner v2
enable_plugin octavia https://git.openstack.org/openstack/octavia
enable_plugin octavia-dashboard https://github.com/openstack/octavia-dashboard
ENABLED_SERVICES+=,q-lbaasv2
ENABLED_SERVICES+=,octavia,o-cw,o-hk,o-hm,o-api ## Tempest
disable_service tempest
INSTALL_TEMPEST=False

NOTE:PUBLIC_NETWORK 相当于网络拓扑中的 hardware_network,FLOATING IP 也应该在这个网络分配。

Step 4. Start the install

./stack.sh

最新文章

  1. EM算法
  2. 数据库开发基础 SQL Server 数据库的备份、还原与分离、附加
  3. CocoaPods 学习
  4. js 页面值变动监听
  5. Linux下查找包含BOM头的文件和清除BOM头命令 2014-08-16 12:30:50
  6. 【转】Oracle - 数据库的实例、表空间、用户、表之间关系
  7. .bak文件在英文版的sqlserver2014如何生成和恢复
  8. 使用宏定义来减少JNI的繁琐
  9. RFC 文档(中文与英文)
  10. 解决本地访问Android文档是非常慢的问题
  11. appledoc:Objective-C注释文档生成工具
  12. Error configuring application listener of class 报错 解决
  13. AdaBoost 算法原理及推导
  14. java三大版本和核心优势
  15. 模仿select下拉列表
  16. Java 项目UML反向工程转化工具
  17. 淘宝助理导出的csv文件使用的是什么编码,您猜?
  18. 【Linux】ps命令
  19. win10自动锁屏问题
  20. iOS-项目开发1-UIImage

热门文章

  1. centso 7 Keepalived 配置脚本
  2. Java入门指南-03 操作符与表达式
  3. Python测开面试题之装饰器
  4. 集合(四) Hashtable
  5. R 语言中的多元线性回归
  6. JAVA笔记11-Final关键字
  7. Java枚举类的7种常用的方法
  8. sql DATEDIFF函数使用
  9. CSS3的多列属性
  10. jquery password选择器 语法