Linux 云平台搭建

实验环境

  • 底层操作系统镜像:CentOS Linux release 7.5.1804 (Core)
  • 云平台镜像:chinaskills_cloud_iaas.iso
  • 搭建方式:需要两台服务器,1台作为控制节点,1台作为计算机节点,2台服务器来维持云平台的运作
服务器均已关闭防火墙

 

服务器要求

网络环境


性能要求

Controller

Compute

两台服务器cpu均已开启虚拟化功能

搭建流程

Controller控制节点

Compute计算节点

Keystone安全认证服务
Glance镜像服务
Nova计算控制服务 Nova Compute计算服务
Dashboard管理界面
Neutron Server网络服务 Neutron节点网络服务
Cinder存储控制服务 Cinder Volume存储控制服务
Rabbit消息服务
Mysql数据库
Swift 代理服务 Swift 代理服务
Heat编配服务
Ceilometer监控服务 Ceilometer监控代理

 

准备工作

在Controller节点配置

镜像文件准备

首先将镜像包文件都上传至服务器内

镜像挂载

[root@controller ~]# mkdir -p /opt/{centos,iaas-repo,images}
[root@controller ~]# chmod -R 777 /opt/
[root@controller ~]# mount -o loop CentOS-7-x86_64-DVD-1804.iso /opt/centos/
[root@controller ~]# mount -o loop chinaskills_cloud_iaas.iso /opt/iaas-repo/

准备云平台qcow2的镜像,存放至images文件夹

配置yum源

[root@controller ~]# rm -rf /etc/yum.repos.d/*
[root@controller ~]# vi /etc/yum.repos.d/local.repo
[centos]
name=centos
baseurl=file:///opt/centos
gpgcheck=0
enable=1
[iaas]
name=iaas
baseurl=file:///opt/iaas-repo
gpgcheck=0
enable=
:wq   保存退出

重新载入yunm缓存

[root@controller ~]# yum clean all
[root@controller ~]# yum makecache

搭建vsftp

将本机的/opt资源共享给compute节点

[root@controller ~]# yum -y install vsftpd

配置为匿名访问,设置路径

[root@controller ~]# vi /etc/vsftpd/vsftpd.conf

保存退出

[root@controller ~]# systemctl restart vsftpd

在Compute节点配置

配置yum源

[root@compute ~]# rm -rf /etc/yum.repos.d/*
[root@compute ~]# vi /etc/yum.repos.d/ftp.repo
[centos]
name=centos
baseurl=ftp://172.16.45.10/centos
gpgcheck=0
enable=1
[iaas]
name=iaas
baseurl=ftp://172.16.45.10/iaas-repo
gpgcheck=0
enable=1
:wq

重新载入缓存

[root@compute ~]# yum clean all
[root@compute ~]# yum makecache

分配磁盘

将空白空间进行划分提供给cinder和swift使用

[root@compute ~]# parted /dev/sdb
(parted) mkpart swift 0G 100G
(parted) mkpart cinder 100G 200G
(parted) quit
[root@compute ~]# mkfs.xfs /dev/sdb1
[root@compute ~]# mkfs.xfs /dev/sdb2

 

编辑环境变量

controller服务器配置

[root@controller ~]# yum install -y iaas-xiandian
[root@controller ~]# vi /etc/xiandian/openrc.sh
一键去注释 ctrl+v选中所有行,按d
设置密码都为000000   :%s/PASS=/PASS=000000/g
:wq 保存退出
[root@controller ~]# cat /etc/xiandian/openrc.sh
[root@controller ~]# cat /etc/xiandian/openrc.sh 
#--------------------system Config--------------------##
#Controller Server Manager IP. example:x.x.x.x
HOST_IP=172.16.45.10

#Controller HOST Password. example:000000 
HOST_PASS=000000

#Controller Server hostname. example:controller
HOST_NAME=controller

#Compute Node Manager IP. example:x.x.x.x
HOST_IP_NODE=172.16.45.20

#Compute HOST Password. example:000000 
HOST_PASS_NODE=000000

#Compute Node hostname. example:compute
HOST_NAME_NODE=compute

#--------------------Chrony Config-------------------##
#Controller network segment IP.  example:x.x.0.0/16(x.x.x.0/24)
network_segment_IP=172.16.45.0/24

#--------------------Rabbit Config ------------------##
#user for rabbit. example:openstack
RABBIT_USER=openstack

#Password for rabbit user .example:000000
RABBIT_PASS=000000

#--------------------MySQL Config---------------------##
#Password for MySQL root user . exmaple:000000
DB_PASS=000000

#--------------------Keystone Config------------------##
#Password for Keystore admin user. exmaple:000000
DOMAIN_NAME=admin
ADMIN_PASS=000000
DEMO_PASS=000000

#Password for Mysql keystore user. exmaple:000000
KEYSTONE_DBPASS=000000

#--------------------Glance Config--------------------##
#Password for Mysql glance user. exmaple:000000
GLANCE_DBPASS=000000

#Password for Keystore glance user. exmaple:000000
GLANCE_PASS=000000

#--------------------Nova Config----------------------##
#Password for Mysql nova user. exmaple:000000
NOVA_DBPASS=000000

#Password for Keystore nova user. exmaple:000000
NOVA_PASS=000000

#--------------------Neturon Config-------------------##
#Password for Mysql neutron user. exmaple:000000
NEUTRON_DBPASS=000000

#Password for Keystore neutron user. exmaple:000000
NEUTRON_PASS=000000

#metadata secret for neutron. exmaple:000000
METADATA_SECRET=000000

#Tunnel Network Interface. example:x.x.x.x
INTERFACE_IP=172.16.45.10

#External Network Interface. example:eth1
INTERFACE_NAME=ens33

#External Network The Physical Adapter. example:provider
Physical_NAME=provider

#First Vlan ID in VLAN RANGE for VLAN Network. exmaple:101
minvlan=101

#Last Vlan ID in VLAN RANGE for VLAN Network. example:200
maxvlan=200

#--------------------Cinder Config--------------------##
#Password for Mysql cinder user. exmaple:000000
CINDER_DBPASS=000000

#Password for Keystore cinder user. exmaple:000000
CINDER_PASS=000000

#Cinder Block Disk. example:md126p3
BLOCK_DISK=sdb1

#--------------------Swift Config---------------------##
#Password for Keystore swift user. exmaple:000000
SWIFT_PASS=000000

#The NODE Object Disk for Swift. example:md126p4.
OBJECT_DISK=sdb2

#The NODE IP for Swift Storage Network. example:x.x.x.x.
STORAGE_LOCAL_NET_IP=172.16.45.20

#--------------------Heat Config----------------------##
#Password for Mysql heat user. exmaple:000000
HEAT_DBPASS=000000

#Password for Keystore heat user. exmaple:000000
HEAT_PASS=000000

#--------------------Zun Config-----------------------##
#Password for Mysql Zun user. exmaple:000000
ZUN_DBPASS=000000

#Password for Keystore Zun user. exmaple:000000
ZUN_PASS=000000

#Password for Mysql Kuryr user. exmaple:000000
KURYR_DBPASS=000000

#Password for Keystore Kuryr user. exmaple:000000
KURYR_PASS=000000

#--------------------Ceilometer Config----------------##
#Password for Gnocchi ceilometer user. exmaple:000000
CEILOMETER_DBPASS=000000

#Password for Keystore ceilometer user. exmaple:000000
CEILOMETER_PASS=000000

#--------------------AODH Config----------------##
#Password for Mysql AODH user. exmaple:000000
AODH_DBPASS=000000

#Password for Keystore AODH user. exmaple:000000
AODH_PASS=000000

#--------------------Barbican Config----------------##
#Password for Mysql Barbican user. exmaple:000000
BARBICAN_DBPASS=000000

#Password for Keystore Barbican user. exmaple:000000
BARBICAN_PASS=000000

compute节点配置

[root@compute ~]# yum install -y iaas-xiandian

为了方便可以将controller节点处已经配置完成好的openrc.sh传输过来进行细微修改即可

[root@controller ~]# scp /etc/xiandian/openrc.sh compute:/etc/xiandian/openrc.sh
找到下列选项修改一条即可
[root@compute ~]# vi /etc/xiandian/openrc.sh
#Tunnel Network Interface. example:x.x.x.x
INTERFACE_IP=172.16.45.20
:wq 保存退出

 

安装服务

1.通过脚步安装服务

controller

[root@controller ~]# iaas-pre-host.sh
[root@controller ~]# reboot

compute

[root@compute ~]# iaas-pre-host.sh
[root@compute ~]# reboot

2.安装mysql数据库

controller

[root@controller ~]# iaas-install-mysql.sh

compute

[root@compute ~]# yum -y install MySQL-python    注意大小写!!

3.安装keystone服务

controller

[root@controller ~]# iaas-install-keystone.sh

4.安装glance服务

controller

[root@controller ~]# iaas-install-glance.sh

上传镜像检查服务是否成功

[root@controller /]# cd /opt/images/
[root@controller images]# source /etc/keystone/admin-openrc.sh
[root@controller images]# glance image-create --name "centos7.5" --disk-format qcow2 --container-format bare --progress < CentOS_7.5_x86_64_XD.qcow2
[root@controller images]# glance image-create --name "centos6.5" --disk-format qcow2 --container-format bare --progress < CentOS_6.5_x86_64_XD.qcow2

上传了2个镜像,下面运行指令查看是否成功添加进去

[root@controller images]# glance image-list

[root@controller images]# openstack image list

成功

5.安装nova服务

controller

[root@controller ~]# iaas-install-nova-controller.sh

compute

[root@compute ~]# iaas-install-nova-compute.sh

6.安装neutron服务

controller

[root@controller ~]# iaas-install-neutron-controller.sh

compute

[root@compute ~]# iaas-install-neutron-compute.sh

7.安装dashboard服务

controller

[root@controller ~]# iaas-install-dashboard.sh

8.安装Cinder服务

controller

[root@controller ~]# iaas-install-cinder-controller.sh

compute

[root@compute ~]# iaas-install-cinder-compute.sh

9.安装Swift服务

controller

[root@controller ~]# iaas-install-swift-controller.sh

compute

[root@compute ~]# iaas-install-swift-compute.sh

10.安装heat服务

controller

[root@controller ~]# iaas-install-heat.sh

11.安装Zun服务

controller

[root@controller ~]# iaas-install-zun-controller.sh

compute

[root@compute ~]# iaas-install-zun-compute.sh

12.安装Ceilometer服务

controller

[root@controller ~]# iaas-install-ceilometer-controller.sh

compute

[root@compute ~]# iaas-install-ceilometer-compute.sh

13.安装Aodh服务

controller

[root@controller ~]# iaas-install-aodh.sh

 

添加控制节点资源到云平台

controller

[root@controller ~]# vi /etc/xiandian/openrc.sh

把compute节点的IP地址和主机名改为controller节点的IP和主机名

:wq 保存退出

[root@controller ~]# iaas-install-nova-compute.sh

执行过程中需要输入controller节点root用户密码

 

登录云平台web页面

访问网址为http://172.16.45.10/dashboard

登录

账号为: admin 密码为: 000000

账号密码的定义为openrc.sh中Keystone Config区域

概览中可看到云平台的基本参数

 

云主机构建流程

修改引导

创建之前需要修改引导方式,不然云主机会进不去系统

controller

[root@controller ~]# vi /etc/nova/nova.conf

添加

:wq 保存退出

[root@controller ~]# systemctl restart openstack-nova-*

compute

做一样的配置,文章不再概述

创建网络

选择到管理员-网络-网络选项

点击右上角创建网络,因为是虚拟机创建的所以供应商选择Flat,物理网络填入provider

下一项

下一项,输入地址池,点击创建

创建云主机类型

点击选择管理员—云主机类型—创建云主机类型

因为是打算创建一台Centos7.5所以配置要求不用太高

点击右下角创建

创建云主机

选择项目—资源管理—云主机—创建主机

第一步,填写相关信息

选择Centos7.5的镜像点击上箭头的按钮

选择刚刚创建的云主机类型,点击下一项

网络也是一样

点击安全组(类似防火墙),将系统默认的添加上去

最后点击创建实例,等待一段时间即可自动创建完成

 

控制云主机

有2种方法在web上面控制云主机

第一种,直接点击云主机名称

随后点击控制台,即可网页控制云主机

第二种,网络拓扑图

个人比较偏好这一种

选择项目—网络—网络拓扑—点击云主机

即可出现小窗控制云主机,方便,不会出现打不了字的bug

 

作者: 红烧悠鸽
本文采用 CC BY-NC-SA 4.0 协议
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇