Openstack: Single node Installation and External Network Accessing Configuration Guide

时间:2023-03-09 17:42:11
Openstack: Single node Installation and External Network Accessing Configuration Guide

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

Openstack: Single node Installation and External Network Accessing Configuration Guide

Make sure RAM size is bigger than 6GB

Openstack: Single node Installation and External Network Accessing Configuration Guide

Openstack: Single node Installation and External Network Accessing Configuration Guide

VDI is preferred.

Openstack: Single node Installation and External Network Accessing Configuration Guide

Dynamically Allocation ispreferred.

Openstack: Single node Installation and External Network Accessing Configuration Guide

Make sure Disk Size is greater than60GB.

Openstack: Single node Installation and External Network Accessing Configuration Guide

2 ~ 4 processor is preferred.

Openstack: Single node Installation and External Network Accessing Configuration Guide

Make sure following:

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

Openstack: Single node Installation and External Network Accessing Configuration Guide

Make sure following:

  • Load CentOS installation image to the driver.

Openstack: Single node Installation and External Network Accessing Configuration Guide

  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.

Openstack: Single node Installation and External Network Accessing Configuration Guide

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.

Openstack: Single node Installation and External Network Accessing Configuration Guide

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

Openstack: Single node Installation and External Network Accessing Configuration Guide

  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

Openstack: Single node Installation and External Network Accessing Configuration Guide

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

Openstack: Single node Installation and External Network Accessing Configuration Guide

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

Openstack: Single node Installation and External Network Accessing Configuration Guide

  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

Openstack: Single node Installation and External Network Accessing Configuration Guide

5.6 Create Router

Openstack: Single node Installation and External Network Accessing Configuration Guide

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

Openstack: Single node Installation and External Network Accessing Configuration Guide

5.7 Associate Networks

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

Openstack: Single node Installation and External Network Accessing Configuration Guide

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

Openstack: Single node Installation and External Network Accessing Configuration Guide

5.8 Config Security Policy

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

Openstack: Single node Installation and External Network Accessing Configuration Guide

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

Openstack: Single node Installation and External Network Accessing Configuration Guide

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

Openstack: Single node Installation and External Network Accessing Configuration Guide

Openstack: Single node Installation and External Network Accessing Configuration Guide

  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

Openstack: Single node Installation and External Network Accessing Configuration Guide

Choose appropriate flavor size.

e.g m1.tiny

Openstack: Single node Installation and External Network Accessing Configuration Guide

Choose the network you want to create an instance on.

e.g. “private_network”

Openstack: Single node Installation and External Network Accessing Configuration Guide

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

Openstack: Single node Installation and External Network Accessing Configuration Guide

Click “Launch Instance” to start instance.

Openstack: Single node Installation and External Network Accessing Configuration Guide

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

Openstack: Single node Installation and External Network Accessing Configuration Guide

5.10 Allocate Floating IP

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

Openstack: Single node Installation and External Network Accessing Configuration Guide

  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.

Openstack: Single node Installation and External Network Accessing Configuration Guide

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

Openstack: Single node Installation and External Network Accessing Configuration Guide

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

Openstack: Single node Installation and External Network Accessing Configuration Guide

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

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

Openstack: Single node Installation and External Network Accessing Configuration Guide

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:)

Openstack: Single node Installation and External Network Accessing Configuration Guide

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

Openstack: Single node Installation and External Network Accessing Configuration Guide

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

Openstack: Single node Installation and External Network Accessing Configuration Guide

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.)

Openstack: Single node Installation and External Network Accessing Configuration Guide

Ping 8.8.8.8 is OK.

Openstack: Single node Installation and External Network Accessing Configuration Guide

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

Openstack: Single node Installation and External Network Accessing Configuration Guide

Ping www.google.comis OK.

Openstack: Single node Installation and External Network Accessing Configuration Guide

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

Openstack: Single node Installation and External Network Accessing Configuration Guide

Openstack: Single node Installation and External Network Accessing Configuration Guide

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