Skip to content

zongwu's blog

OpenStack 管理

配置外部网络

前提,本机双网卡,用于管理地址的 IP 地址为10.0.0.104,用于联网的 IP 地址为 192.168.1.100。

在后台管理界面进入 管理员 -> 网络 -> 网络

external_net_1.jpg

选择 新建网络,名称填写 external ,项目选择 admin ,供应商网络类型 选择 Flat,物理网络填写 physnet1,勾选 共享的,外部网络。

external_net_2.jpg

对于物理网络名称,不能填错,具体名称可以通过以下步骤查看。

在本机执行以下命令进入 neutron docker 容器

docker exec -it neutron_server  bash

#查看
cat /etc/neutron/plugins/ml2/ml2_conf.ini 

[ml2_type_flat]
flat_networks = physnet1

点击下一项,创建子网。子网填写本机器所在的真实网络配置,本机ip地址 192.168.1.100。

子网名称 ext_subnet,网络地址 192.168.1.0/24 网关IP 192.168.1.1

点击下一项,子网详情, 分配地址池, 填写192.168.1.160,192.168.1.200 这里预留40个ip。dns服务器 填写 223.5.5.5 。最后点创建。

配置内部网络

在后台管理界面进入 项目 -> 网络 -> 网络

normal_net_1.jpg

选择创建网络 ,填写网络名称 normal,点下一项,填写子网名称,网络地址,这里填写 172.16.0.0/24 网关填写 172.16.0.1 。

点击下一项,填写子网详情,分配地址池 填写 172.16.0.100,127.16.0.200 。dns服务器填写 223.5.5.5 。最后点创建。

然后点击 项目 -> 网络 -> 路由

创建路由,填写路由名称, 选择刚才创建的外网 external, 点击创建。

进入 项目 -> 网络 -> 网络拓扑

选择图中的路由,点击添加接口,选择子网,就是刚才创建的 normal。

到此,网络创建完毕。

安全组配置

进入 项目 -> 网络 -> 安全组

点击管理规则,点击添加规则

分别添加 所有ICMP的入口方向和出口方向,TCP 22端口(用于SSH)的出口方向和入口方向,TCP 53端口(用于DNS)的出口方向和入口方向,UDP 53端口(用于DNS)的出口方向和入口方向。

安全组

镜像管理

镜像下载,下载地址 http://cloud.centos.org/centos/7/images/?C=M;O=D 或者阿里云 https://mirrors.aliyun.com/centos/

这里选择其中一个,wget http://cloud.centos.org/centos/7/images/CentOS-7-x86_64-GenericCloud.qcow2c

在本机的控制台输入

. /etc/kolla/admin-openrc.sh

#上传镜像到glance
openstack image create "CentOS7-image" \
  --file CentOS-7-x86_64-GenericCloud.qcow2c \
  --disk-format qcow2 --container-format bare \
  --public

创建虚拟机规格

    openstack flavor create --id 1 --ram 512 --disk 1 --vcpus 1 m1.tiny 
    openstack flavor create --id 2 --ram 2048 --disk 20 --vcpus 1 m1.small
    openstack flavor create --id 3 --ram 4096 --disk 40 --vcpus 2 m1.medium
    openstack flavor create --id 4 --ram 8192 --disk 80 --vcpus 4 m1.large

创建虚拟机实例

进入 项目 -> 计算 -> 实例

点击创建实例,填写实例名称,镜像选择刚才创建的 CentOS7-image ,云主机类型选择 m1.medium ,网络选择normal,安全组默认是 default,不创建密钥对,在配置里面输入下面的shell

#!/bin/sh
passwd root <<EOF
123456
123456
EOF
sed -i 's/PasswordAuthentication no/PasswordAuthentication yes/g' /etc/ssh/sshd_config
sed -i 's/#PubkeyAuthentication yes/PubkeyAuthentication yes/g'  /etc/ssh/sshd_config
service ssh restart

该脚本会修改虚拟机实例用户 root 的密码为123456

点击创建实例。

创建成功之后, 点击该实例名称,进入控制台界面,然后登陆即可。

此时实例可访问外网,但是在局域网环境 (10.0.0.x) 无法访问该实例。

分配浮动IP

进入 项目 -> 网络 -> 浮动IP

点击分配IP给项目,点击分配IP,则生成一个IP地址,属于 192.168.1.0/24 网段。然后对刚刚生成的IP点击关联,关联到刚刚创建的虚拟机实例上。

可以在局域网其他机器上通过SSH登陆该虚拟机实例。