openstack_openstack网络拓扑图-程序员宅基地

技术标签: openstack  

1:云计算的定义

云计算是一种按使用量付费的模式,这种模式提供可用的、便捷的、按需的网络访问,进入可配置的计算资源共享池(资源包括网络、服务器、存储和应用软件等),这些资源能够被快速提供,只需投入很少的管理工作或与服务供应商进行很少的交互。

2:云计算五大特征

① 按需自助服务:消费者可以单方面部署资源。例如服务器、网络存储,资源是按需自动部署的,不需要与服务供应商进行人工交互。
② 通过互联网获取:资源可以通过互联网获取,并可以通过标准方式访问。例如,通过瘦客户端或富客户端(移动电话、笔记本电脑和工作站等)。
③ 资源池化:供应商的资源被池化,以便以多用户租用模式被不同客户使用。例如,不同的物理和虚拟资源可根据客户需求动态分配和重新分配,通常与地域无关,这些资源包括存储、处理器、内存和网络带宽。
④ 快速伸缩:资源可以弹性地部署和释放,有时是自动化的,以便能够迅速地按需扩大和缩小规模。
⑤ 可计量:云计算系统通过使用一些与服务种类(存储、计算、带宽、激活的用户账号)对应的抽象信息提供计量能力(通常在此基础上实现按使用付费)。

4:云计算的服务模型

云计算的服务模型SPI由3大服务组成

1:IaaS 基础设施即服务)
2:PaaS (平台即服务)
3:SaaS (软件即服务)
详细内容如下

① IaaS:消费者使用"基础计算资源”。资源服务包括处理能力、存储空间、网络组件或中间件服务。消费者能掌控操作系统、存储空间、已部署的应用程序及网络组件(如防火墙、负载均衡器等),但并不掌控云基础架构。如Amazon AWS、Rackspace等。

② PaaS:消费者使用主机操作应用程序。消费者掌控运作应用程序的环境(也拥有主机部分掌控权),但并不掌控操作系统、硬件或网络基础架构。平台通常是应用程序基础架构。如Google App Engine。

③ SaaS:消费者使用应用程序,但并不掌控操作系统、硬件或网络基础架构。它是一种服务观念的基础,软件服务供应商以租赁的概念提供客户服务,而非购买,比较常见的模式是提供一组账号密码。

**

5:云计算四大部署类型

**

① 私有云:云计算基础设施由一个单一的组织部署和独占使用,可由该组织、第三方或两者的组合来拥有和管理。
② 社区云:云计算基础设施由一些具有共有关注点的组织形成的社区中的用户部署和使用,可由一个或多个社区中的组织、第三方或两者的组合来拥有和管理、运营。
③ 公有云:云计算基础设施被部署给广泛的公众开放地使用。它可能被一个商业组织、研究机构、政府机构或者几者的混合所拥有、管理和运营,被一个销售云计算服务的组织所拥有,该组织将云计算服务销售于一般人或广泛的工业群体。
④ 混合云:云计算基础设施是由两种或两种以上的云(私有、社区或公共)组成,每种云仍然保持独立,但用标准的或专有的技术将它们组合起来,具有数据和应用程序的可移植性。

云计算平台分类
存储型云平台:数据存储为主
计算型云平台:数据处理为主
综合云计算平台:计算和数据存储处理兼顾

**

第一章:OpenStack基本环境搭建

**

1: OpenStack环境拓扑图

A

2:环境基本描述及配置要求

3:重命名机器

改名规划
第一台虚拟机(控制节点):control
第二台虚拟机(实例节点):computer
控制节点(control)配置

hostnamectl set-hostname control

实例节点(computer)配置

hostnamectl set-hostname computer

改完名字后需要重启虚拟机

reboot

4:设置ip

配置控制节点(control)IP
配置文件存放位置/etc/syconfig/network-scripts

cd /etc/syconfig/network-scripts

他会出现两个网卡配置文件
在这里插入图片描述

第一个eno16777736是仅主机模式
修改内容如下:

vi ifcfg-eno16777736

找到BOOTPROTO=dhcp改成BOOTPROTO=static
找到ONBOOT=no改成ONBOOT=yes

末尾追加

IPADDR=192.168.100.10
NETMASK=255.255.255.0
GATEWAY=192.168.100.2
DNS1=114.114.114.144

第二个eno33554984是NAT模式
修改内容如下:

vi ifcfg-eno33554984

找到BOOTPROTO=dhcp改成BOOTPROTO=static
找到ONBOOT=no改成ONBOOT=yes

末尾追加

IPADDR=192.168.128.10
NETMASK=255.255.255.0
GATEWAY=192.168.128.2
DNS1=114.114.114.144

配置完成后需要重启一下网卡

service network restart

实例节点IP配置

配置文件存放位置/etc/syconfig/network-scripts

cd /etc/syconfig/network-scripts

配置第一块网卡
第一个eno16777736是仅主机模式
修改内容如下:

vi ifcfg-eno16777736

找到BOOTPROTO=dhcp改成BOOTPROTO=static
找到ONBOOT=no改成ONBOOT=yes

末尾追加
IPADDR=192.168.100.20
NETMASK=255.255.255.0
GATEWAY=192.168.100.2
DNS1=114.114.144.144

第二个eno33554984是NAT模式
修改内容如下:

vi ifcfg-eno33554984

找到BOOTPROTO=dhcp改成BOOTPROTO=static
找到ONBOOT=no改成ONBOOT=yes

末尾追加
IPADDR=192.168.128.20
NETMASK=255.255.255.0
GATEWAY=192.168.128.2
DNS1=114.114.114.144

配置完成后需要重启一下网卡

service network restart

**

5:修改配置文件配置域名解析**

控制节点(control)的域名解析配置
文件存放位置/etc/hosts

vi /etc/hosts

末尾追加以下内容
192.168.128.10 control
192.168.128.20 computer

实例节点(computer)配置和控制节点(control)的配置一致

6:配置yum源(相当于手机的应用商店)

控制节点(computer)配置
配置文件存放位置/etc/yum.repos.d/

先上传ios文件 一个先电 一个CentOS
上传到/root 下

rm -rf /etc/yum.repos.d/*

我这里删除所有默认yum源在创建一个本地yum源
vi /etc/yum.repos.d/yum.repo

添加以下内容

[centos]
name=centos
baseurl=file:///opt/centos
gpgcheck=0
enabled=1

[openstack]
name=OpenStack
baseurl=file:///opt/iaas/iaas-repo
gpgcheck=0
enabled=1

创建挂载点文件

mkdir -p /opt/centos /opt/iaas/iaas-repo

挂载iOS镜像文件

echo "/root/CentOS-7-x86_64-DVD-1511.iso /opt/centos/ auto defaults 0 0

/root/XianDian-IaaS-v2.2.iso /opt/iaas/ auto defaults 0 0
" >> /etc/fstab

清理yum缓存

yum clean all

创建新的yum源缓存

yum makecache

实例节点(computer)的yum源配置配置同上

7:防火墙配置

控制节点(control)配置

关闭防火墙服务

systemctl stop firewalld

关闭防火墙开机自启

systemctl disable firewalld

实例节点(computer)的防火墙配置配置同上

关闭selinux
配置文件存放位置/etc/selinux/config

vi /etc/selinux/config

改SELINUX=enforcing为SELINUX=disabled

关闭selinux的原因:表示系统会收到警告信息,但是不会受到限制,作为selinux的debug模式用处

实例节点(computer)的selinux配置同上

8:磁盘分区

控制节点(control)配置

给机器添加一个新的磁盘(要先关机)
在这里插入图片描述

后面的选项默认即可(硬盘容量默认20G)
开机进行分区操作

使用fdisk命令查看新添加的硬盘

使用fdisk命令分区
在这里插入图片描述

[root@control ~]# fdisk /dev/sdb

Welcome to fdisk (util-linux 2.23.2).

Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.

Device does not contain a recognized partition table
Building a new DOS disklabel with disk identifier 0xea6a6f15.

Command (m for help): n
Partition type:
   p   primary (0 primary, 0 extended, 4 free)
   e   extended
Select (default p): p

Partition number (1-4, default 1): 

First sector (2048-41943039, default 2048): 

Using default value 2048
Last sector, +sectors or +size{
   
    K,M,G} (2048-41943039, default 41943039): +10G

Partition 1 of type Linux and of size 10 GiB is set

Command (m for help): n

Partition type:
   p   primary (1 primary, 0 extended, 3 free)
   e   extended
   
Select (default p): 
Using default response p

Partition number (2-4, default 2): 

First sector (20973568-41943039, default 20973568): 
Using default value 20973568

Last sector, +sectors or +size{
   
    K,M,G} (20973568-41943039, default 41943039): 
Using default value 41943039

Partition 2 of type Linux and of size 10 GiB is set

Command (m for help): w
The partition table has been altered!

Calling ioctl() to re-read partition table.
Syncing disks.

格式化刚才分的两个区

[root@control ~]# mkfs.xfs /dev/sdb1
meta-data=/dev/sdb1              isize=256    agcount=4, agsize=655360 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=0        finobt=0
data     =                       bsize=4096   blocks=2621440, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=0
log      =internal log           bsize=4096   blocks=2560, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0

[root@control ~]# mkfs.xfs /dev/sdb2
meta-data=/dev/sdb2              isize=256    agcount=4, agsize=655296 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=0        finobt=0
data     =                       bsize=4096   blocks=2621184, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=0
log      =internal log           bsize=4096   blocks=2560, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0

实例节点的配置和上面的一样

9:安装软件

控制节点配置
下载文件包

yum install -y iaas-xiandian

修改配置文件
/etc/xiandian/openrc.sh(配置环境变量)

##--------------------system Config--------------------##
##--------------------系统配置--------------------##

##控制器服务器管理器IP。示例:x.x.x.x
HOST_IP=192.168.128.10  #控制节点的NAT网卡IP地址

##控制器服务器主机名。示例:control
HOST_NAME=control		#控制节点主机名

##计算节点管理器IP。示例:x.x.x.x
HOST_IP_NODE=192.168.128.20  #实例节点NAT网卡IP地址

##计算节点主机名。示例:compute
HOST_NAME_NODE=computer		#实例节点主机名

##--------------------Rabbit Config ------------------##

##rabbit的用户。示例:openstack
RABBIT_USER=openstack

##rabbit用户的密码。示例:000000
RABBIT_PASS=000000

##--------------------MySQL Config---------------------##
##--------------------MySQL配置---------------------##
##MySQL根用户的密码.示例:000000
DB_PASS=000000

##--------------------Keystone Config------------------##
##--------------------密钥配置------------------##
##密钥库管理员用户的密码。示例:000000
DOMAIN_NAME=demo		#自定义(域)
ADMIN_PASS=000000		#用户密码
DEMO_PASS=000000

##Mysql密钥库用户的密码。示例:000000
KEYSTONE_DBPASS=000000

##--------------------Glance Config--------------------##
##--------------------浏览配置--------------------##
##Mysql glance用户的密码。 示例:000000
GLANCE_DBPASS=000000

##Keystore glance用户的密码。 示例:000000
GLANCE_PASS=000000

##--------------------Nova Config----------------------##
##Mysql nova 用户的密码 示例:000000
NOVA_DBPASS=000000

##Keystore nova 用户的密码。 示例:000000
NOVA_PASS=000000

##--------------------Neturon Config-------------------##
##--------------------Neturon配置-------------------##

##Mysql中子用户的密码。示例:000000
NEUTRON_DBPASS=000000

##密钥库中子用户的密码。示例:000000
NEUTRON_PASS=000000

##metadata secret for neutron. 示例:000000
METADATA_SECRET=000000

##外部网络接口。示例:eth1
INTERFACE_NAME=eno16777736		#仅主机模式的网卡名字

##Vlan网络的Vlan范围中的第一个Vlan ID。 示例:101
#minvlan=

##Vlan网络的Vlan范围中的最后一个Vlan ID。示例:200
#maxvlan=

##--------------------Cinder Config--------------------##
##Mysql cinder用户的密码。示例:000000
CINDER_DBPASS=000000

##Key
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_57808082/article/details/116429404

智能推荐

while循环&CPU占用率高问题深入分析与解决方案_main函数使用while(1)循环cpu占用99-程序员宅基地

文章浏览阅读3.8k次,点赞9次,收藏28次。直接上一个工作中碰到的问题,另外一个系统开启多线程调用我这边的接口,然后我这边会开启多线程批量查询第三方接口并且返回给调用方。使用的是两三年前别人遗留下来的方法,放到线上后发现确实是可以正常取到结果,但是一旦调用,CPU占用就直接100%(部署环境是win server服务器)。因此查看了下相关的老代码并使用JProfiler查看发现是在某个while循环的时候有问题。具体项目代码就不贴了,类似于下面这段代码。​​​​​​while(flag) {//your code;}这里的flag._main函数使用while(1)循环cpu占用99

【无标题】jetbrains idea shift f6不生效_idea shift +f6快捷键不生效-程序员宅基地

文章浏览阅读347次。idea shift f6 快捷键无效_idea shift +f6快捷键不生效

node.js学习笔记之Node中的核心模块_node模块中有很多核心模块,以下不属于核心模块,使用时需下载的是-程序员宅基地

文章浏览阅读135次。Ecmacript 中没有DOM 和 BOM核心模块Node为JavaScript提供了很多服务器级别,这些API绝大多数都被包装到了一个具名和核心模块中了,例如文件操作的 fs 核心模块 ,http服务构建的http 模块 path 路径操作模块 os 操作系统信息模块// 用来获取机器信息的var os = require('os')// 用来操作路径的var path = require('path')// 获取当前机器的 CPU 信息console.log(os.cpus._node模块中有很多核心模块,以下不属于核心模块,使用时需下载的是

数学建模【SPSS 下载-安装、方差分析与回归分析的SPSS实现(软件概述、方差分析、回归分析)】_化工数学模型数据回归软件-程序员宅基地

文章浏览阅读10w+次,点赞435次,收藏3.4k次。SPSS 22 下载安装过程7.6 方差分析与回归分析的SPSS实现7.6.1 SPSS软件概述1 SPSS版本与安装2 SPSS界面3 SPSS特点4 SPSS数据7.6.2 SPSS与方差分析1 单因素方差分析2 双因素方差分析7.6.3 SPSS与回归分析SPSS回归分析过程牙膏价格问题的回归分析_化工数学模型数据回归软件

利用hutool实现邮件发送功能_hutool发送邮件-程序员宅基地

文章浏览阅读7.5k次。如何利用hutool工具包实现邮件发送功能呢?1、首先引入hutool依赖<dependency> <groupId>cn.hutool</groupId> <artifactId>hutool-all</artifactId> <version>5.7.19</version></dependency>2、编写邮件发送工具类package com.pc.c..._hutool发送邮件

docker安装elasticsearch,elasticsearch-head,kibana,ik分词器_docker安装kibana连接elasticsearch并且elasticsearch有密码-程序员宅基地

文章浏览阅读867次,点赞2次,收藏2次。docker安装elasticsearch,elasticsearch-head,kibana,ik分词器安装方式基本有两种,一种是pull的方式,一种是Dockerfile的方式,由于pull的方式pull下来后还需配置许多东西且不便于复用,个人比较喜欢使用Dockerfile的方式所有docker支持的镜像基本都在https://hub.docker.com/docker的官网上能找到合..._docker安装kibana连接elasticsearch并且elasticsearch有密码

随便推点

Python 攻克移动开发失败!_beeware-程序员宅基地

文章浏览阅读1.3w次,点赞57次,收藏92次。整理 | 郑丽媛出品 | CSDN(ID:CSDNnews)近年来,随着机器学习的兴起,有一门编程语言逐渐变得火热——Python。得益于其针对机器学习提供了大量开源框架和第三方模块,内置..._beeware

Swift4.0_Timer 的基本使用_swift timer 暂停-程序员宅基地

文章浏览阅读7.9k次。//// ViewController.swift// Day_10_Timer//// Created by dongqiangfei on 2018/10/15.// Copyright 2018年 飞飞. All rights reserved.//import UIKitclass ViewController: UIViewController { ..._swift timer 暂停

元素三大等待-程序员宅基地

文章浏览阅读986次,点赞2次,收藏2次。1.硬性等待让当前线程暂停执行,应用场景:代码执行速度太快了,但是UI元素没有立马加载出来,造成两者不同步,这时候就可以让代码等待一下,再去执行找元素的动作线程休眠,强制等待 Thread.sleep(long mills)package com.example.demo;import org.junit.jupiter.api.Test;import org.openqa.selenium.By;import org.openqa.selenium.firefox.Firefox.._元素三大等待

Java软件工程师职位分析_java岗位分析-程序员宅基地

文章浏览阅读3k次,点赞4次,收藏14次。Java软件工程师职位分析_java岗位分析

Java:Unreachable code的解决方法_java unreachable code-程序员宅基地

文章浏览阅读2k次。Java:Unreachable code的解决方法_java unreachable code

标签data-*自定义属性值和根据data属性值查找对应标签_如何根据data-*属性获取对应的标签对象-程序员宅基地

文章浏览阅读1w次。1、html中设置标签data-*的值 标题 11111 222222、点击获取当前标签的data-url的值$('dd').on('click', function() { var urlVal = $(this).data('ur_如何根据data-*属性获取对应的标签对象

推荐文章

热门文章

相关标签