Ubuntu16手动安装OpenStack——创建实例

目标

完成了《Ubuntu16手动安装OpenStack——neutron篇》,意味着keystone、glance、nova和neutron都已经安装完成,也就是说,openstack最小安装已经完成。在安装horizon、cinder和swift之前,我们先来通过命令行创建一个实例,验证一下之前的安装。

主要参考OpenStack Queens : Add UsersOpenStack Queens : Add UsersOpenStack Queens : Boot Instances

说明

本文操作全部都是在控制节点。
为了避免权限问题,建议切换到root用户进行操作(否则要加很多sudo)。
sudo -i

网卡配置

参考Openstack的网卡设置和和OpenStack Networking Tutorial: Single-host FlatDHCPManager,配置eth2网卡。

1、查看当前网络,ip add

image

route -nbrctl show

image

2、vim /etc/network/interfaces,添加:

auto eth2
iface eth2 inet manual
  up ifconfig $IFACE 0.0.0.0 up
  up ifconfig $IFACE promisc
#iface eth2 inet manual
#up ifconfig eth2 up

3、启用网卡,ifup eth2

创建子网

1、vi /etc/neutron/plugins/ml2/ml2_conf.ini,如下修改:

# line 181: add
[ml2_type_flat]
flat_networks = physnet1

2、vi /etc/neutron/plugins/ml2/linuxbridge_agent.ini,如下修改:

# line 147: add
[linux_bridge]
physical_interface_mappings = physnet1:eth2
# line 208: uncomment and change
enable_vxlan = false

3、重启neutron-linuxbridge-agent
systemctl restart neutron-linuxbridge-agent

4、获取projectID
. admin-openrc

projectID=$(openstack project list | grep service | awk '{print $2}')

5、创建名为sharednet1的网络

openstack network create --project $projectID \
--share --provider-network-type flat --provider-physical-network physnet1 sharednet1
image

6、在sharednet1中创建子网10.0.0.0/24

openstack subnet create subnet1 --network sharednet1 \
--project $projectID --subnet-range 10.0.0.0/24 \
--allocation-pool start=10.0.0.200,end=10.0.0.254 \
--gateway 10.0.0.1 --dns-nameserver 10.0.0.10
image

7、查看网络
openstack network list

openstack subnet list

image

添加用户

首先使admin环境生效,. admin-openrc

1、添加siat项目
openstack project create --domain default --description "SIAT Project" siat

2、添加voidking用户,密码为openstack
openstack user create --domain default --project siat --password openstack voidking

3、添加clouduser角色
openstack role create clouduser

4、给voidking用户添加clouduser角色
openstack role add --project siat --user voidking clouduser

5、因为cirros需要的资源很少,所以创建一个类型模板m1.tiny
openstack flavor create --id 0 --vcpus 1 --ram 256 --disk 5 m1.tiny

image

创建实例

环境准备

1、vi ~/voidkingrc,创建voidking环境脚本,内容如下:

export OS_PROJECT_DOMAIN_NAME=default
export OS_USER_DOMAIN_NAME=default
export OS_PROJECT_NAME=siat
export OS_USERNAME=voidking
export OS_PASSWORD=openstack
export OS_AUTH_URL=http://controller:5000/v3
export OS_IDENTITY_API_VERSION=3
export OS_IMAGE_API_VERSION=2
export PS1='\u@\h \W(keystone)\$ '

2、使环境生效
. voidkingrc

3、查看类型模板
openstack flavor list

4、查看可用镜像
openstack image list

5、查看可用网络
openstack network list

image

6、创建安全组
openstack security group create secgroup01

image

7、查看安全组
openstack security group list

image

8、创建ssh密钥
ssh-keygen -q -N ""

密钥文件保存在/home/root/.ssh/目录下。

9、添加公钥
openstack keypair create --public-key ~/.ssh/id_rsa.pub vkkey

image

10、查看公钥
openstack keypair list

创建实例

1、给netID赋值
netID=$(openstack network list | grep sharednet1 | awk '{ print $2 }')

2、创建实例

openstack server create --flavor m1.tiny \
--image cirros --security-group secgroup01 \
--nic net-id=$netID --key-name vkkey cirros0
image

3、查看实例
openstack server list

image

如上图,已经成功启动实例,ip为10.0.0.206,nice。

PS:删除实例命令,openstack server delete cirros0

访问实例

配置安全组的安全设置,以便使用SSH和ICMP进行访问。

1、设置允许ICMP
openstack security group rule create --protocol icmp --ingress secgroup01

image

2、设置允许ssh
openstack security group rule create --protocol tcp --dst-port 22:22 secgroup01

image

3、查看安全组规则
openstack security group rule list

image

4、访问测试
ping 10.0.0.206 -c3

ping不通,看来网络出了问题,等会再解决这个问题。

5、查看vnc的url,并复制该url
openstack console url show cirros0

image

6、url中的controller替换为192.168.56.110,在浏览器中打开


image

顺利访问,可以看到,cirros0的ip为192.168.56.102,难怪10.0.0.206无法ping通。

控制节点上,ping 192.168.56.102,依然不通。
vnc中,ping 192.168.56.110,也不通。

网络问题

网桥支持

Configure the Linux bridge agent一节中,提到过要启用网桥支持,那就启用网桥试试。

1、查看ip转发
cat /proc/sys/net/ipv4/ip_forward
如果值为0,那么改为1。

2、启用网桥支持
vim /etc/sysctl.conf,添加

net.bridge.bridge-nf-call-iptables = 1
net.bridge.bridge-nf-call-ip6tables = 1

3、使配置生效
sysctl -p

修改后,依然无法ping通10.0.0.206。

网卡配置

1、查看ip
ip add

image

如上图,和本文开始时相比,多了三个接口。

2、查看网桥
brctl show

image

3、vim /etc/network/interfaces,添加

auto brqedda68f7-72
iface brqedda68f7-72 inet static
address 10.0.0.1
netmask 255.255.255.0
bridge_stp off
bridge_fd 0

然后启用brqedda68f7-72端口,ifup brqedda68f7-72

或者不配置interfaces,直接执行ifconfig brqedda68f7-72 10.0.0.1/24 up

5、查看网络
ip add

route -n

image

不过,依然无法ping通10.0.0.206。毕竟,cirros0的ip不是10.0.0.206,而是192.168.56.102。这个ip,明显是通过VirtualBox分配的,和虚拟机在同一个网段。

修改ip

既然cirros0的ip不对,那就给它手动修改一下,好主意。
1、通过vnc登录cirros0

2、sudo vi /etc/network/interfaces,修改eth0的配置为:

auto eth0
iface eth0 inet static
address 10.0.0.206
netmask 255.255.255.0

3、重启eth0
sudo ifdown eth0

sudo ifup eth0

4、在控制节点测试连接
ping 10.0.0.206 -c3

image

至此,问题解决。

访问实例

1、cirros当前只支持密码访问:
ssh cirros@10.0.0.206,输入密码gocubsgo。

登录后执行ls .ssh,并没有authorized_keys文件,看来创建实例时并没有注入密钥,不知道什么原因。

2、在控制节点,添加密钥到cirros0
ssh-copy-id -i .ssh/id_rsa.pub -p 22 cirros@10.0.0.206

3、用密钥测试登录
ssh cirros@10.0.0.206 -i .ssh/id_rsa

登录成功。

4、如果重启了控制节点,那么需要手动启动cirros0
openstack server start cirros0

5、vnc的token也会改变,所以要重新获取
openstack console url show cirros0

后记

至此,已经完成了吗?想到一些问题:

  • cirros0理论上应该通过浮动ip进行访问,我们这种直接访问是闹哪样?
  • 以后每次创建实例,都要通过vnc重新配置ip?
  • 以后每次创建实例,都要手动添加密钥?

也许是因为VirtualBox网卡分配不对,也许是因为在虚拟机中安装,也许是因为控制节点网络配置不对。。。不管了,反正创建实例完成,其他问题放在以后的文章中解决。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 158,233评论 4 360
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,013评论 1 291
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,030评论 0 241
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,827评论 0 204
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,221评论 3 286
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,542评论 1 216
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,814评论 2 312
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,513评论 0 198
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,225评论 1 241
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,497评论 2 244
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 31,998评论 1 258
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,342评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 32,986评论 3 235
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,055评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,812评论 0 194
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,560评论 2 271
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,461评论 2 266

推荐阅读更多精彩内容