在搭建好的OpenStack环境,创建虚拟机。
登录OpenStack
根据自己的账号信息登录。
登录进去之后,查看网络是这样子的。
由于IP 有限,不能够给到用户直接将多个VM 挂载在该网络上,得由用户自行创建子网,创建路由,然后通过申请Floating IP来访问内网创建的VM。
创建子网
Network -- > Network Topology -- > Create Network
输入子网的一些信息
Network Name: demo
Subnet Name: demo_subnet
Network Address: 10.0.1.0/24
再查看网络 就可以看到创建的子网demo(橙色)
创建路由
Network -- > Routers -- > Create Router
路由信息
Router Name: demo-router
External Network: ext_net
此时效果是这样的
给路由添加接口
Network -- Router -- Interfaces -- Add Interface
Select Subnet: demo_subnet
效果如下
创建VM实例
Compute -- Instances -- Launch Instance
Name: demo(随意)
Count:1
Source: Ubuntu
Flavor: typical
Network
Network: demo
Configuration
#!/bin/sh
passwd ubuntu<<EOF
123456
123456
EOF
sed -i 's/PasswordAuthentication no/PasswordAuthentication yes/g' /etc/ssh/sshd_config
service ssh restart
这个配置很重要,否则创建VM后,你只能在网页端的console去访问,网页端实在太慢太卡,不大建议,很不方便。当然你也可以使用key pair, 但是这样你得在你要使用的电脑上有xxx.pem的文件。本人还是渴望方便一点,直接SSH 账号密码登录。
命令简单解释:
passwd ubuntu 是更改 ubuntu账号密码,因为openstack 提供的ubuntu 镜像,默认创建账号是ubuntu。
这两个 123456 是你的密码 和 确认密码,自行更改。
用sed 命令更改配置文件 允许密码认证登录。
最后就是要重启一下SSH服务。
最后点击 Launch Instance.
这样,一个VM实例就创建出来。
绑定Floating IP
因为创建的VM是链接在你的子网内,外网不可以直接访问,这个时候需要给路由绑定Floating IP,才可以从外网访问你的VM。
Associate Floating IP
测试SSH访问
可能一开始并不能够访问,因为没有在安全组添加规则。我们需要开通一下,添加规则就好。
ALL ICMP - Ingress
SSH
添加完毕之后,就开始测试了。
$ ssh ubuntu@192.168.9.15
192.168.9.15 是你对应VM的 Floating IP
重复上面的操作,再创建两个VM。
这样我们就可以通过Floating IP 去访问其他虚拟机。