Summary of installation

Step 0: Prerequisites

Step 1: Create Openstack hostsystem

Step 2: Config
Openstack host
system

: Install Openstackplatform

: Login Openstack

Step 5: Config to access external network

Step 0: Prerequisites

Software

·Red Hat Enterprise Linux (RHEL) 7is preferred. (e.g.CentOS-7-x86_64-Minimal-1611.iso, or the equivalent version of one of the
RHEL-based
Linux distributions such as CentOS, Scientific Linux, and so on. )
·x86_64 is currently the only supported architecture.
·VirtualBox 5.0.30

Hardware

·Machine: PC / Mac
·RAM: 6+GB
·Processors: 2 ~4(with hardware virtualization extensions)
·Network Adapter: 1+ (Cable MUST be connected to yourcomputer if using
Mac system.)

Step 1: Create Openstack host system

Make sure RAM size is bigger than 6GB

VDI is preferred.

Dynamically Allocation ispreferred.

Make sure Disk Size is greater than60GB.

2 ~ 4 processor is preferred.

Make sure following:

  • Only one Adapter is needed.
  • Adapter Type is “Bridge”.
  • Promiscuous Mode is “Allow All”.
  • Cable Connected is checked.

Make sure following:

  • Load CentOS installation image to the driver.

  1. Launch virtual instance we created just now.
  2. Install CentOS to the instance.
  3. Most of configuration could be proceed by clicking “Next” button with one exception that Ethernet Card Connection needs to be turn on in manually.

Step 2: Config OpenStack host system

  1. Reboot virtual instance after installation
  2. Log into instance with the correct credential info, such as root/root
  3. vi /etc/environment
    LANG=en_US.utf-8
    LC_ALL=en_US.utf-8
  4. source /etc/environment
  5. Turn off firewall:
systemctl disable firewalld
systemctl stop firewalld

(Note: Ignore the error message, such as “Failed to execute operation: Access denied”)

Step 3: Install Openstack platform

  1. yum install -y centos-release-openstack-newton

  2. yum update–y

  3. yum install -y openstack-packstack

  4. vi ~/.bash_profile

    export LANG="en_US.UTF-8”
    export LC_COLLATE="en_US.UTF-8”
    export LC_CTYPE="en_US.UTF-8”
    export LC_MESSAGES="en_US.UTF-8”
    export LC_MONETARY="en_US.UTF-8”
    export LC_NUMERIC="en_US.UTF-8”
    export LC_TIME="en_US.UTF-8”
    export LC_ALL="en_US.UTF-8”
  5. packstack --allinone--provision-demo=n --os-neutron-ovs-bridge-mappings=extnet:br-ex
    --os-neutron-ovs-bridge-interfaces=br-ex:eth0--os-neutron-ml2-type-drivers=vxlan,flat,vlan

Note:

  • Ensure “flat” and “vlan” have been added into ml2-type-drivers list.
  • Ensure eth0 is not your current network card which is using for yourssh connection.

Step 4: Login Openstack

  1. cat keystonerc_admin

    unset OS_SERVICE_TOKEN
    export OS_USERNAME=admin
    export OS_PASSWORD=98a76dc776654792
    exportOS_AUTH_URL=http://10.140.253.44:5000/v2.0
    export PS1='[\u@\h \W(keystone_admin)]\$'
    
    exportOS_TENANT_NAME=admin
    exportOS_REGION_NAME=RegionOne
  2. Log into openstack dashboard viahttp://10.140.253.XXX/dashboard (admin/98a76dc776654792)
  3. Start your openstackjourney.

Step 5: Config to access external network

5.1 Create Bridge

  1. vi /etc/sysconfig/network-scripts/ifcfg-br-ex
    DEVICE=br-ex
    DEVICETYPE=ovs
    TYPE=OVSBridge
    BOOTPROTO=static
    IPADDR=10.140.253.XXX# Old eth0 IP since we want the network restart to not
                 # kill the connection, otherwise pick something outside your dhcprange
    NETMASK=255.255.255.0  # your netmask
    GATEWAY=10.140.253.1 #yourgateway
    DNS1=123.123.123.XXX     #yournameserver
    ONBOOT=yes
  2. vi /etc/sysconfig/network-scripts/ifcfg-ethXXX
    DEVICE=ethXXX
    TYPE=OVSPort
    DEVICETYPE=ovs
    OVS_BRIDGE=br-ex
    ONBOOT=yes
  3. service network restart

5.2 Create External Network

  1. Log into dashboard via http://10.140.253.XXX/dashboard with
    your credential.

  2. Go to Admin->System->Networks

  3. Create a network with following info:

  4. Name:external_network

  5. Project:admin

  6. Provider Network Type: Flat

  7. Physical Network: extnet

  8. Segment ID: <any number>

  9. Admin State: UP

  10. Shared:checked

  11. External Network: checked

5.3 Create Subnet of External Network

  1. Subnet Name: <any string>
  2. Network Address: <any available range> e.g.10.140.253.100/28
  3. IP Version: IPv4
  4. Gateway IP: <same with your host gateway> e.g.
    10.140.253.1

  1. Uncheck DHCP
  2. Allocation Pools: <any avaliable range within your Network(10.140.253.100/28>
  3. DNS Name Servers: <your host DNS servers> e.g.123.123.123.123 , 8.8.8.8

5.4 Create Internal Network

  1. Name: private_network
  2. Project: admin
  3. Provider Network Type: VXLAN
  4. Physical Network: extnet
  5. Segment ID: <any number>.
  6. Admin State: UP
  7. Shared: checked
  8. External Network: unchecked

5.5 Create Subnet of Internal Network

  1. Subnet Name: <any string>
  2. Network Address: <any available range> e.g.192.168.100.0/24
  3. IP Version: IPv4

  1. Uncheck DHCP
  2. Allocation Pools: <any available range within your Network(192.168.100.0/24>
  3. DNS Name Servers: <your host DNS servers> e.g.123.123.123.123, 8.8.8.8

5.6 Create Router

  1. Router Name: <Any string>
  2. Admin State: UP
  3. External Network: external_network

5.7 Associate Networks

  1. Go back to Network Topology
  2. Click “Add Interface”

  1. IP Address: <gateway server ip of the internal network> e.g.192.168.100.1

5.8 Config Security Policy

  1. Go to Project -> Compute -> Access & Security
  2. Click“Manage Rules” button on “default” item.

  1. Remove all default rules.
  2. Recreate rules for protocals“ICMP”, “TCP” and “UDP” with both Ingress and Egress directions.

5.9 Create Instance

  1. Go back to Network Topology, you should see the external network and the private network are connected with a router
  2. Click“Launch Instance” button to create an vm

  1. Boot Source: Image
  2. Volume Size: <The min size of your image>
  3. Create New Volume: YES
  4. Delete Volume on Instance Delete:YES
  5. Allocated:<Your image> e.g. cirros

Choose appropriate flavor size.

e.g m1.tiny

Choose the network you want to create an instance on.

e.g. “private_network”

Choose the key pair which you want to used for logging into the instance later on.

Click “Launch Instance” to start instance.

Once the instance is created successfully, you should see the Power State is changed to “Running”.

5.10 Allocate Floating IP

  1. Click the instance drop-down list
  2. Click Associate Floating IP

  1. Click”+” button to creating an floating IP address in a specific Network.
  2. If it’s already done, you can also choose an
    avaliable IP address from the drop-down list.

  1. Choose the network you want to create an IP address on. (e.g. “External_network”)
  2. Click “Allocate IP”

  1. Choose the IP address we created just now.
  2. Click “Associate” button

Now, you should see 2 IP address havebeen associated with the instance.

One is for
private_network;another one (Floating IP) is forexternal_network.

5.11 Instance Login

  1. Click the Instance name and switch to “Console” tab. You could log into the instance.
  2. Type your credential info to login. e.g.cirros/cubswin:)

5.12 IP Binding

If you check the network information, you would find that there is no any IPv4 address bind to the instance.

Neither192.168.100.11, nor 10.140.253.100

Execute following 2 commands:

sudo ifconfig eth0 192.168.100.11 netmask 255.255.255.0
sudo route add default gw 192.168.100.1

Now, the private IP address has been associated with the instance.

        (We do not need to bind the public IP 10.140.253.100 here, because the HTTP requests will be transferred to the outside world by the router which is connected “private_network”
and “external_network”.

        More importantly, that is why10.140.253.100 is an floating IP, and how does it work.)


Ping 8.8.8.8 is OK.

However, Ping by domain name is not working.

e.g. ping www.google.com

sudo vi /etc/resolv.conf

nameserver 123.123.123.123
nameserver 8.8.8.8

Ping www.google.comis OK.

Ping the instance from ”external_network” is pass as well.

6 Useful Tools

# show current network info

ip a

# show current gateway info

route
netstat -rn

# show current network namespace

ipnet ns list

e.g. qrouter-bc826659-8f64-4f82-8f20-8fb76e3c5d9d

#execute command via specific network

ipnet ns exec qrouter-bc826659-8f64-4f82-8f20-8fb76e3c5d9d ping www.google.com

#bind specific ip to network interface

ifconfig eth0 192.168.100.11 netmask 255.255.255.0

#add default gateway route

route add default gw 192.168.100.1

Reference:

http://www.learnlinux.org.za/courses/build/net-admin/ch01s11.html

https://www.rdoproject.org/install/quickstart/

https://www.rdoproject.org/networking/neutron-with-existing-external-networ

Openstack: Single node Installation and External Network Accessing Configuration Guide的更多相关文章

  1. Devstack single node Installation on VM

    Last three days, I want to install devstack on my virtual machine on Vmware Workstation.The VM'syste ...

  2. RDO Stack:VMs cannot access external network.

    Issue: There are many root causes to make your openstack vm instances cannot be reached from externa ...

  3. Hadoop MapReduce Next Generation - Setting up a Single Node Cluster

    Hadoop MapReduce Next Generation - Setting up a Single Node Cluster. Purpose This document describes ...

  4. Hadoop Single Node Setup(hadoop本地模式和伪分布式模式安装-官方文档翻译 2.7.3)

    Purpose(目标) This document describes how to set up and configure a single-node Hadoop installation so ...

  5. Setting up a Single Node Cluster Hadoop on Ubuntu/Debian

    Hadoop: Setting up a Single Node Cluster. Hadoop: Setting up a Single Node Cluster. Purpose Prerequi ...

  6. [原]openstack-kilo--issue(二十)External network cannot is not reachable associate Port

    issue==== INFO neutron.api.v2.resource [req-79a36d02-114b--b9ed-0a10c6d69451 ] update failed (client ...

  7. Installing Apache Hadoop Single Node

    转载请注明出处:http://www.cnblogs.com/wubdut/p/4681286.html platform: Ubuntu 14.04 LTS hadoop 1.2.1 1. inst ...

  8. 4.创建OpenStack的node环境脚本

    创建OpenStack的node环境脚本 使用source admin-openrc.sh来运行脚本 在任意目录下创建admin-openrc.sh文件 vim ~/admin-openrc.sh e ...

  9. all rows from client_id can grow infinitely compared to a single node when hashing by client_id

    all rows from client_id can grow infinitely compared to a single node when hashing by client_id Re: ...

随机推荐

  1. 在删除一个指针之后,一定将该指针设置成空指针(即在delete *p之后一定要加上: p=NULL)

    在删除一个指针之后,一定将该指针设置成空指针(即在delete *p之后一定要加上: p=NULL)

  2. .NET Core 2.1 Preview 2发布 - April 10, 2018

    我们今天宣布发布 .NET Core 2.1 Preview 2.这也是我们在接下来的两到三个月内接近最终发布的版本,该版本现已准备好进行广泛的测试.我们希望您有任何反馈意见. ASP.NET Cor ...

  3. Java-Maven(一):Maven的简介与安装

    Maven的简介 Maven是什么? Maven是一个项目管理和整合的工具.Maven为开发者提供了一套完整的构建生命周期框架.开发者可以通过Maven更快的自动完成工程的基础构建陪孩子,因为Mave ...

  4. PHP实现统计在线人数功能示例

    本文实例讲述了PHP实现统计在线人数的方法.分享给大家供大家参考,具体如下: 我记得ASP里面统计在线人数用application 这个对象就可以了.PHP怎么设计? PHP对session对象的封装 ...

  5. html5之img标签

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  6. 【django之modelform】

    一.什么是modelform ModelForm顾名思义就Form和Django的Model数据库模型结合体,可以简单.方便得对数据库进行增加.编辑操作和验证标签的生成: 举例说明: 比如我们的数据库 ...

  7. 实验吧_程序逻辑问题(代码审计)&上传绕过

    一开始我先随便输入了几个账号名字进行测试,发现当输入的账号名为admin时会发生报错 经过测试果然是一个注入点 当拿到admin密码后发现根本没用,没办法另寻他路 审查元素时发现提示index.txt ...

  8. kmp——cogs 1570 乌力波

    1570. [POJ3461]乌力波 ★☆   输入文件:oulipo.in   输出文件:oulipo.out   简单对比 时间限制:1 s   内存限制:256 MB [题目描述] 法国作家乔治 ...

  9. 洛谷P2319 [HNOI2006]超级英雄

    一开始是用二分图匹配(网络流)+二分做的,后来发现直接用匈牙利更简单 #include<cstdio> #include<cstdlib> #include<algori ...

  10. [洛谷]P3613 睡觉困难综合征

    题目大意:给出一棵n个点的树,每个点有一个运算符(与.或.异或)和一个数,支持两种操作,第一种修改一个点的运算符和数,第二种给出x,y,z,询问若有一个0~z之间的数从点x走到点y(简单路径),并且对 ...