Openstack云平台使用入门

“The OpenStack project is an open source cloud computing platform that supports all types of cloud environments. The project aims for simple implementation, massive scalability, and a rich set of features. Cloud computing experts from around the world contribute to the project. ”

OpenStack是一个开源的云计算管理平台项目,是一系列软件开源项目的组合。由NASA(美国国家航空航天局)和Rackspace合作研发并发起,以Apache许可证(Apache软件基金会发布的一个自由软件许可证)授权的开源代码项目。OpenStack为私有云和公有云提供可扩展的弹性的云计算服务。项目目标是提供实施简单、可大规模扩展、丰富、标准统一的云计算管理平台。

下面我们来看一下,在部署好的一个单机测试环境上如何启动一个实例?

1、创建镜像

(1) 生效管理员环境变量并创建镜像

这里我们使用官方的镜像CentOS-7-x86_64-GenericCloud.qcow2

[root@localhost ~]# ls
admin-openrc demo-openrc
CentOS-7-x86_64-GenericCloud.qcow2 cirros-0.3.4-x86_64-disk.img
[root@localhost ~]# source admin-openrc

#创建镜像命令语法

openstack image create “⾃定义镜像名” --file 镜像⽂件名称 --disk-format 格式化类型 --container-format bare --public

usage:

[root@localhost ~]# openstack image create --file ~/CentOS-7-x86_64-GenericCloud.qcow2 --disk-format qcow2 --container-format bare --public Centos7
[root@localhost ~]# openstack image list

(2)为后面修改root的默认密码做准备

1)给镜像添加一个元数据信息

glance image-update 镜像ID --property hw_qemu_guest_agent=yes

glance image-update 8b8b10b0-7684-44c7-ba7b-d729374eaaad --property hw_qemu_guest_agent=yes #注意修改为自己的实际镜像ID

2)修改controller节点的nova.conf配置文件

vi /etc/nova/nova.conf
在[libvirt]项找到并修改inject_password参数为true,我们直接添加即可
inject_password=true

同样,在计算节点也需要修改,因为我们是分步骤安装的all in one模式,同时修改了。

3)重启nova-api服务

systemctl restart openstack-nova-api.service

2、创建云主机类型

(1)名称:s_flavor、vcpu:1个、ram:1024M、磁盘:10G

usage:

[root@localhost ~]# openstack flavor create --ram 1024 --vcpus 1 --disk 10 --public s_flavor
[root@localhost ~]# openstack flavor list

3、创建项目

(1)项目名称:sangf

项⽬列表查询

# 命令语句 openstack project list

ID:项⽬的唯⼀ID; Name:项⽬名称。

项⽬详情查询

# 命令语句 openstack project show 项⽬名

样例 openstack project show service

查询某⼀项⽬下的所有⽤户

# 命令语句 openstack user list --project=项⽬名

样例 openstack user list --project=service

创建项⽬

#命令语法 openstack project create --domain 域名 --description”对创建项⽬的描述 项⽬名

样例 openstack project create --domain default --description "Service Project" service

usage:

[root@localhost ~]# openstack project create --domain default --description "My Project" --enable sangf
[root@localhost ~]# openstack project list

4、创建租户并设置租户配额

(1)管理用户:sangfor 用户密码:123456

[root@localhost ~]# openstack user create --project sangf --domain default --password 123456 --enable sangfor

[root@localhost ~]# openstack user list | grep sangfor

[root@localhost ~]# openstack role add --project sangf --user sangfor admin

(2)项目配额:虚拟内核3个、内存4G、实例5个,其他配置默认。

[root@localhost ~]# openstack quota set --ram 1024 --instances 5 --cores 3 sangf

[root@localhost ~]# openstack quota show sangf | grep -E "ram|instances|cores"

(3)编写租户sangfor环境变量

[root@localhost ~]# cp -r admin-openrc sangfor-openrc

[root@localhost ~]# vi sangfor-openrc

unset OS_SERVICE_TOKEN

export OS_USER_DOMAIN_NAME=Default

export OS_PROJECT_DOMAIN_NAME=Default

export OS_USERNAME=sangfor

export OS_PASSWORD=123456

export OS_AUTH_URL=http://controller:35357/v3

export OS_PROJECT_NAME=sangf

export OS_IDENTITY_API_VERSION=3

#export OS_REGION_NAME=RegionOne

5、创建共享网络和私有网络

查看⽹络服务状态

#命令语句

systemctl status neutron-server.service neutron-linuxbridge-agent.service neutron-dhcp-agent.service neutron-metadata-agent.service

#服务解析:

1)neutron-server.service ⽤于接受apI请求创建⽹络,⼦⽹,路由器等。

2)neutron-linuxbridge-agent.service报告状态;处理RPC API;实现neutron中定义的⽹络拓扑。

3)neutron-dhcp-agent.service ⽤于创建和管理虚拟DHCP Server。

4)neutron-metadata-agent.service neutron-metadata-agent运⾏在⽹络节点上,作为中间⼈使instance可以访问请求nova-api-metadata。

(1)共享网络名:public-net,由admin用户创建,并设置共享

#查看物理网络类型"provider-network-type"

[root@localhost ~]# grep type_drivers /etc/neutron/plugin.ini

type_drivers = flat,vlan,gre,vxlan,geneve

#显示网络类型为flat

#查看物理网络名称"provider-physical-network"

[root@localhost ~]# grep ^flat /etc/neutron/plugin.ini

flat_networks = provider

[root@localhost ~]# grep ^flat /etc/neutron/plugins/ml2/ml2_conf.ini

flat_networks = provider

usage:

#命令语法

openstack network create --provider-physical-network 物理网络名称 --provider-network-type flat --share --external

#-share 允许所有项目都可以使用该网络 #-external 定义连通外部的虚拟网络 #物理网络名称,由ml2_conf.ini文件的flat_networks确定

#物理网络类型,映射到虚拟主机的网卡eth0,由linuxbridge_agent.ini文件中的physical_interface_mappings确定

[root@localhost ~]# openstack network create --project sangf --os-username admin --external --enable --share --provider-network-type flat --provider-physical-network provider public-net

[root@localhost ~]# openstack network list

(2)创建共享网络子网:subnet-pub,网段为本地eth0

[root@localhost ~]# hostname -I

192.168.17.222 192.168.122.1

[root@localhost ~]# openstack subnet create --subnet-range 10.0.10.0/24 --gateway 10.0.10.2 --network public-net --dns-nameserver 114.114.114.114 --allocation-pool start=10.0.10.151,end=10.0.10.200 --dhcp subnet-pub

[root@localhost ~]# openstack subnet list

(3)私有网络名:private-net,由sangfor用户创建

在openstack中,网络管理是比较复杂且难度较大的一个知识点,本实验租户网络使用linuxbridge,计算节点基于 Self-service networks,在 linuxbridge 环境中,一个数据包从 Instance 云主机实例发送到物理网卡会经过下面几个类型的设备:

· tap Interface : tapNxxx(N 为 0、1、2.....)

· Linux Bridge : brqxxx

· vlan Interface : ethX.Y(或ensX.Y;X 为 Interface 的序号,Y 为 vlan id。)

· vxlan Interface : vxlan-Z(Z 是 VNI)

· 物理 Interface: ethx(或ensx;x 为 Interface 的序号)

[root@localhost ~]# source sangfor-openrc

[root@localhost ~]# openstack network create --project sangf --os-username sangfor --enable private-net

[root@localhost ~]# openstack network list

(4)创建私有网络子网:subnet-private,网段为192.168.10网段

[root@localhost ~]# openstack subnet create --subnet-range 192.168.10.0/24 --gateway 192.168.10.254 --network private-net --dns-nameserver 8.8.8.8 --allocation-pool start=192.168.10.151,end=192.168.10.200 --dhcp subnet-private

[root@localhost ~]# openstack subnet list

6、创建路由,并关联内外网

(1)名称:s_router

[root@localhost ~]# source admin-openrc

[root@localhost ~]# openstack router create --enable s_router

[root@localhost ~]# openstack router list

(2)设置外部网关

选择外部网络public-net设置网关:

usage:

[root@localhost ~]# openstack router set --external-gateway public-net s_router

[root@localhost ~]# openstack router show s_router | grep external_gateway

(3)设置内部接口

usage:

[root@localhost ~]# openstack router add subnet s_router subnet-private

[root@localhost ~]# openstack router show s_router | grep interfaces_info

网络拓扑:

7、创建安全组

(1)名称:s_sec

[root@localhost ~]# openstack security group create s_sec

[root@localhost ~]# openstack security group list

(2)开放22号端口

[root@localhost ~]# openstack security group rule create --protocol tcp --dst-port 22 --ethertype IPv4 --ingress s_sec

[root@localhost ~]# openstack security group rule list s_sec

8、生成密钥对

(1)名称:s_key

[root@localhost ~]# openstack keypair create s_key > ~/s-key.pem

(2)密钥需保存在本地:cd /root/

[root@localhost ~]# ll

(3)设置密钥文件为仅可读

[root@localhost ~]# chmod 400 s-key.pem

[root@localhost ~]# ll

9、创建云主机实例,并分配浮动IP

(1)使用镜像:Centos7、使用云主机类型:s_flavor、使用网络:private-net、使用安全组:s_sec、使用密钥对:s_key,名称:s_cloud

[root@localhost ~]# source admin-openrc

[root@localhost ~]# openstack server create --image Centos7 --key-name s_key --security-group s_sec --flavor s_flavor --network private-net s_cloud

其他练习示例:

openstack server create --image cirros --flavor m1.nano --network private-net s_cloud02

openstack server create --image cirros --key-name s_key --security-group s_sec --flavor m1.nano --network private-net s_cloud03

[root@localhost ~]# openstack server list

重置镜像默认密码为自定义:

稍等片刻......待实例云主机创建完成能访问之后:

openstack server set --root-password 实例ID

[root@localhost ~]# openstack server set --root-password be70cf30-3b91-4d17-8917-9e94d5928899 #改为自己实际的实例id

根据提示设置输入自定义密码,即root登录密码。

(2)生成浮动IP

[root@localhost ~]# openstack floating ip create public-net

[root@localhost ~]# openstack floating ip list

(3)给云主机绑定浮动IP

[root@localhost ~]# openstack server add floating ip s_cloud 10.0.10.153 #改为自己实际的浮动IP地址

[root@localhost ~]# openstack server list

10、远程连接云主机,并查看网络信息

[root@localhost ~]# ssh -i s-key.pem root@10.0.10.153

[root@localhost ~]# ifconfig

文章作者傅先全:深信服云计算认证专家,产业教育中心资深讲师,曾任职于中国电信集团、华晟经世教育集团,分别担任云平台资深架构师、IT课程总监及名师团金牌讲师、多所高校特聘专家讲师;十余年云计算、大数据行业从业经验,在企业信息化建设、企业项目管理、云平台架构设计等方面有较强的实战经验;研究方向为云计算、大数据技术等,具有丰富的知识转换以及课程交付经验;同时,在院校学科建设、人才培养、项目科研、职业技能人才认证等方面具有丰富的产教融合体系建设与组织经验。

深信服技术认证之Openstack云平台使用入门相关推荐

  1. 深信服技术认证之容灾与备份(一)

    1.1 业务数据可用性问题 随着信息技术的发展,互联网上的数据量激增,随之而来的数据和业务的可用性越来越重要.但是实际上业务系统中的业务数据可用性问题就像打地鼠游戏一样,永远猜不到下一个问题会在哪里冒 ...

  2. 深信服技术认证之IPV6地址表示及常见分类

    根据最新数据显示我国IPV6活跃用户数已达4.35亿,约占中国网民的46.27%,IPV6地址资源位居全球第二,未来IPV6市场规模将超10亿.在巨大的资源背景推动下,了解IPV6已经成为当代IT从业 ...

  3. 深信服技术认证之F5隐写工具初探

    什么是"隐写" "隐写",即人们通常所说的信息隐藏,是利用人类感觉器官的不敏感性(感觉冗余),以及多媒体数字信号本身存在的冗余(数据冗余特性),将秘密信息隐藏于 ...

  4. Openstack云平台的搭建与部署(具体实验过程截图评论拿)

    目录 Openstack云平台的搭建与部署................................... 3 Keywords:Openstack.Cloud Computing.Iaas.. ...

  5. 云计算 openstack 云平台搭建详细教程(基于 Vmware 虚拟机搭建)

    OpenStack 和 云计算 1.OpenStack 基本概述 早在1988年,类似云计算概念的"网络就是计算机"概念就被 SUN 微系统公司 的合作创建者约翰 · 盖奇首次提出 ...

  6. 手把手带你去搭建一套OpenStack云平台

    1 前言 今天我们为一位朋友搭建一套OpenStack云平台. 我们使用Kolla部署stein版本的OpenStack云平台. kolla是用于自动化部署OpenStack的一个项目,它基于dock ...

  7. 构建基于openEuler2209的OpenStack云平台(十一)

    上一篇:构建基于openEuler2209的OpenStack云平台(十) 11 安装和配置Heat服务(Orchestration service) Heat服务(Orchestration ser ...

  8. openStack 云平台管理节点管理网口流量非常大 出现丢包严重 终端总是时常中断问题调试及当前测试较有效方案...

    openStack 云平台管理节点管理网口流量非常大 出现丢包严重 终端总是时常中断问题调试及当前测试较有效方案 tuning for Data Transfer hosts connected at ...

  9. openstack horizon dashboard_陕西高校邦OpenStack云平台实践章节答案

    陕西高校邦OpenStack云平台实践章节答案 遗传算法的基本操作不包括( )遗传算法大的优点在于能够快速在解空间中找到目标函数的佳解.遗传算法的构成要素有哪些(    )如果适应度函数有两个变量,则 ...

  10. 干货 | 手把手教你搭建一套OpenStack云平台

    1 前言 今天我们为一位朋友搭建一套OpenStack云平台. 我们使用Kolla部署stein版本的OpenStack云平台. kolla是用于自动化部署OpenStack的一个项目,它基于dock ...

最新文章

  1. python 列出出当前目录及所有子目录下的文件
  2. 如何查看指定端口.(win)
  3. LSTM模型在问答系统中的应用 2017-06-27 21:03 在问答系统的应用中,用户输入一个问题,系统需要根据问题去寻找最合适的答案。 1:采用句子相似度的方式。根据问题的字面相似度选择相似度最
  4. 使用Windows PowerShell管理虚拟交换机
  5. mysql查询数据库desc_数据库查询DESC
  6. 将四个整数进行从小到大的顺序排列 java_07_Java基础语法_第7天(练习)_讲义(练习加强+在eclipse中实现)...
  7. HTML5 Canvas像素处理常用接口
  8. 实现ftoa与itoa
  9. 如何用SQLDMO在ASP.NET页面下实现数据库的备份与恢复
  10. 使用常识 | 如何在word中添加勾选框
  11. MacBook高效优先设置,你都开启了吗?
  12. B树和TreeSet与TreeMap
  13. SQL数据库附加数据及查询方法
  14. 1、操作系统的定义和作用?
  15. java图形验证码去除干扰,使用python 对验证码图片进行降噪处理
  16. Sa-token 之 SaManager
  17. 生信自学笔记(九)智慧的长者与多序列联配之clustal全局联配算法
  18. Case Study _均值方差模型 MatLab
  19. 建模simulink - xpc自定义模块
  20. Qt之QTextCodec乱谈

热门文章

  1. NLPIR 汉语分词系统 (PyNLPIR) 学习手札
  2. 全网最全清理c盘大全
  3. 计算机编辑文档教程,腾讯TIM在线文档编辑功能使用方法教程
  4. 21天学通c语言错误,为《21天学通C语言》(第7版)(Sams Teach Yourself C in 21 Days)正名...
  5. 浅谈前端是否需要精通JS三大框架,vue,angular,react。
  6. python拟合曲线求方程,曲线拟合方程python
  7. 小米随身wifi驱动linux驱动下载,小米随身WIFI驱动|小米WIFI驱动官方最新版(支持Win10)...
  8. 算法精解(一):C语言描述(链表)
  9. 2022年计算机体系结构与软件工程国际会议(CASE 2022 )
  10. Web前端开发技术第三版课后练习答案