建立 OpenStack云主机

建立过程

  1. 建立虚拟网络
  2. 建立m1.nano规格的主机(相等于定义虚拟机的硬件配置)
  3. 生成一个密钥对(openstack的原理是不使用密码链接,而是使用密钥对进行链接)
  4. 增长安全组规则(用iptables作的安全组)
  5. 启动一个实例(启动虚拟机有三种类型:1.命令CLI 2.api 3.Dashboard)实际上Dashboard也是经过api进行操做
  6. 虚拟网络分为提供者网络和私有网络,提供者网络就是跟主机在同一个网络里,私有网络自定义路由器等,跟主机不在一个网络

 

提供者网络架构

 

建立提供者网络

  • 控制节点操做,建立网络
1
2
source  /root/admin-openstack .sh
neutron net-create --shared --provider:physical_network public --provider:network_type flat public-net

命令格式:neutron net-create --shared(全部项目共享网络)  --provider:physical_network(物理网络) public(物理网络的名称) --provider:network_type(建立的网络类型为flat,单一扁平网络)flat public-net(自定义一个名称)linux

补充知识点:上图中tenant_id 等于 project_id,查看项目列表以下图shell

  • 检查是否建立成功
1
neutron net-list

  • 建立子网
1
2
3
4
neutron subnet-create --name public-subnet \
--allocation-pool start=192.168.137.100,end=192.168.137.200 \
--dns-nameserver 223.5.5.5 --gateway 192.168.137.2 \
public-net 192.168.137.0 /24

参数说明api

  • neutron subnet-create 子网建立
  • --name (名称)
  • --allocation—pool 分配地址池
  • start=开始IP地址
  • end=结束IP地址
  • dns-nameserver DNS地址,233.5.5.5是阿里公共DNS地址
  • --gateway 网关
  • public-net 提供者的网络名称(要跟上面建立网络的名称对应起来)

检查是否关联成功浏览器

1
neutron net-list

1
neutron subnet-list

 

建立m1.nano规格的主机(自定义云主机规格)

       默认的最小规格的主机须要512 MB内存。对于环境中计算节点内存不足4 GB的,咱们推荐建立只须要64 MB的m1.nano规格的主机。若单纯为了测试的目的,请使用m1.nano规格的主机来加载CirrOS镜像。安全

1
openstack flavor create -- id  0 --vcpus 1 -- ram  64 --disk 1 m1.nano

参数说明:bash

  • openstack flavor create 建立主机
  • --id 主机ID
  • --vcpus cpu数量
  • --ram 64(默认是MB,能够写成G)
  • --disk 磁盘(默认单位是G)

查看建立结果网络

1
openstack flavor list

提示:1-5是系统默认的,0是刚才建立的架构

 

建立密钥对

大部分云镜像支持公共密钥认证而不是传统的密码认证。在启动实例前,必须添加一个公共密钥到计算服务。ssh

  • 生成秘钥
1
2
source  /root/demo-openstack .sh
ssh -keygen -q -N  ""

将密钥放在openstack上tcp

1
openstack keypair create --public-key ~/. ssh /id_rsa .pub mykey

验证公钥的添加

1
openstack keypair list

 

增长安全组规则

       默认状况下, default安全组适用于全部实例而且包括拒绝远程访问实例的防火墙规则。对诸如CirrOS这样的Linux镜像,咱们推荐至少容许ICMP (ping) 和安全shell(SSH)规则。

  • 容许 ICMP (ping)
1
openstack security group rule create --proto icmp default

  • 容许安全 shell (SSH) 的访问
1
openstack security group rule create --proto tcp --dst-port 22 default

 

在公有网络上建立实例

启动一台实例,必须至少指定一个类型、镜像名称、网络、安全组、密钥和实例名称。

1
source  /root/demo-openstack .sh
  • 列出云主机可用类型
1
openstack flavor list

  • 列出可用镜像
1
openstack image list

  • 列出可用的网络
1
openstack network list

备注:建立云主机网络的时候使用的不是名称,而是ID

  • 列出可用的安全组
1
openstack security group list

  • 建立实例
1
2
3
openstack server create --flavor m1.nano --image cirros \
--nic net- id =cc9d7710-d82e-4109-9412-56ae02a18d7d --security-group default \
--key-name mykey shhnwangjian-instance

参数说明:

  • openstack server create 建立实例
  • --flavor 主机类型名称
  • --image 镜像名称
  • --nic net-id=网络ID
  • --security-group 安全组名称
  • --key-name key名称
  • 最后一个是自定义实例名称

检查

1
openstack server list

验证可否ping通

ssh链接测试,由于经过秘钥认证,不须要输入密码

使用虚拟控制台访问实例

1
openstack console url show shhnwangjian-instance

能够复制上面URL地址,在浏览器访问

 

 

异常排查

若是没法建立虚拟机,咱们须要查看控制节点和计算节点全部服务的日志,同时也要查看iptables、selinux、时间同步等

1
2
3
4
grep  'ERROR'  /var/log/nova/ *
grep  'ERROR'  /var/log/neutron/ *
grep  'ERROR'  /var/log/glance/ *
grep  'ERROR'  /var/log/keystone/ *

检查

1
2
3
4
source  admin-openstack.sh
nova service-list
neutron agent-list
nova image-list
相关文章
相关标签/搜索