笔记本也能玩转Openstack:DevStack实验笔记(1)-安装和部署

时间:2024-03-29 12:43:04

一、实验环境介绍

  本文通过Devstack重点来学习Openstack的网络模型,包括bridge模式下和openvswitch模式下网络流量模型,由于要搭建完整的openstack环境很复杂,同时需要很多物理资源,作为没有设备资源又想学习的同学,可以参考本文的模式进行搭建。

  另外说一下,虽说目前大家都开始讨论和使用Kubernetes,但是Kubernetes和Openstack的网络模型还是有相似之处,学习Openstack流量模型还是有一定意义的。

  在vmware workstation中生成了两台ubuntu的虚拟机,一台作为DevStack的Controller,一台作为DevStack Compute,Controller有三块网卡,ens33、ens38、ens39,ens33使用NAT方式访问公网,同时可以被笔记本电脑访问,ens38用于模拟openstack内部虚拟机流量网络,controller 和compute组成一个内部网络,ens39桥接到笔记本WIFI网卡,用于作为openstack外部网络访问的网卡,Compute节点只有ens33和ens38两张网卡。

笔记本也能玩转Openstack:DevStack实验笔记(1)-安装和部署

 

二、DevStack安装

1、git clone https://opendev.org/openstack/devstack 国内速度太慢,建议使用国内的加速地址,建议使用git clone http://git.trystack.cn/openstack/devstack.git

2、进行local.conf的配置,在devstack目录下新建local.conf来对controller和compute进行配置,配置分别如下:

[[local|localrc]]

MULTI_HOST=true

HOST_IP=192.168.183.164 # management & api network

LOGFILE=/opt/stack/logs/stack.sh.log

# Credentials

ADMIN_PASSWORD=admin

MYSQL_PASSWORD=12345678

RABBIT_PASSWORD=12345678

SERVICE_PASSWORD=12345678

SERVICE_TOKEN=abcdefghijklmnopqrstuvwxyz

# enable neutron-ml2-vlan

disable_service n-net

enable_service q-svc,q-agt,q-dhcp,q-l3,q-meta,neutron,q-lbaas,q-fwaas,q-v*n

Q_AGENT=linuxbridge

ENABLE_TENANT_VLANS=True

TENANT_VLAN_RANGE=3001:4000

PHYSICAL_NETWORK=default

LOG_COLOR=False

LOGDIR=$DEST/logs

SCREEN_LOGDIR=$LOGDIR/screen

# 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/spice-html5.git

===============================================================

[[local|localrc]]

MULTI_HOST=true

HOST_IP=192.168.183.165 # management & api network

# Credentials

ADMIN_PASSWORD=admin

MYSQL_PASSWORD=12345678

RABBIT_PASSWORD=12345678

SERVICE_PASSWORD=12345678

SERVICE_TOKEN=abcdefghijklmnopqrstuvwxyz

# Service information

SERVICE_HOST=192.168.183.164

MYSQL_HOST=$SERVICE_HOST

RABBIT_HOST=$SERVICE_HOST

GLANCE_HOSTPORT=$SERVICE_HOST:9292

Q_HOST=$SERVICE_HOST

KEYSTONE_AUTH_HOST=$SERVICE_HOST

KEYSTONE_SERVICE_HOST=$SERVICE_HOST

CEILOMETER_BACKEND=mongodb

DATABASE_TYPE=mysql

ENABLED_SERVICES=n-cpu,q-agt,neutron,placement-api

Q_AGENT=linuxbridge

ENABLE_TENANT_VLANS=True

TENANT_VLAN_RANGE=3001:4000

PHYSICAL_NETWORK=default

# vnc config

NOVA_VNC_ENABLED=True

NOVNCPROXY_URL="http://$SERVICE_HOST:6080/vnc_auto.html"

VNCSERVER_LISTEN=$HOST_IP

VNCSERVER_PROXYCLIENT_ADDRESS=$VNCSERVER_LISTEN

LOG_COLOR=False

LOGDIR=$DEST/logs

SCREEN_LOGDIR=$LOGDIR/screen

# 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/spice-html5.git

3.替换ubuntu镜像源

 替换/etc/apt/sources.list中的url为阿里云的镜像源:http://mirrors.aliyun.com/ubuntu

4.替换python pip的镜像源

[email protected]:~/devstack$ sudo cat /root/.pip/pip.conf

[global]

timeout = 60000

index-url = https://mirrors.aliyun.com/pypi/simple/

trusted-host = mirrors.aliyun.com

5.分别在controller和compute 上执行./stack.sh,期间如果有失败的情况,要具体分析哪里出错了。