栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

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

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

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

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课程总监及名师团金牌讲师、多所高校特聘专家讲师;十余年云计算、大数据行业从业经验,在企业信息化建设、企业项目管理、云平台架构设计等方面有较强的实战经验;研究方向为云计算、大数据技术等,具有丰富的知识转换以及课程交付经验;同时,在院校学科建设、人才培养、项目科研、职业技能人才认证等方面具有丰富的产教融合体系建设与组织经验。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/964134.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号