当前位置: 首页 > news >正文

OpenStack快速入门

任务一    熟悉OpenStack图形界面操作

1.1 Horizon项目

OpenStack服务的图形界面都是由Horizon提供的

Horizon提供基于Web的模块化用户界面。

Horizon云管理员提供一个整体的视图

Horizon终端用户提供一个自主服务的门户

Horizon由云管理员进行管理与控制,云管理员可以通过Web界面管理OpenStack平台上的资源。

1.2 HorizonDjango框架

Horizon是一个基于Django框架的Web应用

Django基于MVC(模型视图控制器)模式设计实现。

模型 Models 文件 ——model.py ,使用 Python 类来描述数据表及其操作
视图 Views 文件 ——views.py ,包含页面的业务逻辑,该文件中的函数被称为视图。
Urls 文件 ——urls.py ,指出使用 URL 地址访问时需要调用的视图。
模板 Templates 文件 ——HTML 网页,定义 HTML 模板。

Horizon秉承Django的设计理念,注重可重用性,致力于开发可扩展性的面板框架。

1.3•Horizon功能架构

1.4 项目与用户

项目 OpenStack 服务调度的基本 单元。
用户 又称云用户,是指使用 OpenStack 云服务的个人、系统或服务的账户名称
可以 将用户分配给特定的项目,用户作为该项目的成员就拥有该项目的权限,而权限由用户的角色决定。
一个项目可以有多个用户(项目成员),一个用户可以操作和管理多个项目
OpenStack 用户要访问云资源,必须通过项目发出请求,项目中必须包括相关的用户
用户 用于身份认证,项目用于资源管理,而两者又是相互关联的。

1.5 自定义仪表板和面板

Horizon 负责 OpenStack 管理的统一 Web 界面,其源代码分布在两个 位置。
Ø / usr /lib/python2.7/site-packages/horizon :存放最 基本的、可以共享的类、表格和模板等。
Ø / usr /share/ openstack -dashboard :存放与 界面有直接关系、更加具体的类、表格和模板等,这些文件可以由用户修改以实现界面定制。
Horizon 提供 4 个仪表板,对应着图形界面的一级 节点,其中 每个仪表板目录中又定义其下级节点(面板)。
Ø admin (管理员
Ø identity (身份管理
Ø project (项目
Ø settings (设置

任务二    创建和操作虚拟机实例

2.1 创建虚拟机实例的前提条件

实例 —— 镜像、实例快照 (镜像快照) 、卷或卷快照。
实例类型 —— 实例 规格,表示一组特定的虚拟 资源。
密钥对 —— 虚拟机 实例启动时注入镜像中的 SSH 凭据。
安全组 —— 组特定防火墙规则的集合
网络 —— 虚拟 网络,在云中为虚拟机实例提供网络通信,使实例能够访问内部网络和外部网络

2.2 •虚拟机实例与镜像

实例 是在云中的物理节点上运行的虚拟机个体
镜像 是由特定的一系列文件按照规定格式制作,便于用户下载和使用的单一文件
创建 虚拟机实例所用的镜像是一个完整的操作系统
镜像 包括一个持有可启动操作系统的虚拟磁盘
实例 运行过程中的任何改变都不会影响其基础镜像 ,基础 镜像是只读的。

任务三    实现虚拟机与外部网络的通信

3.1 •OpenStack的虚拟网络

OpenStack 的网络 服务为 虚拟机实例提供网络 连接。
Neutron 为整个 OpenStack 环境提供软件定义网 络( SD N )支持。
开放式虚拟交换机( OVS 成为 OpenStack 部署中非常受欢迎的虚拟交换机
开放式 虚拟网络 OVN )增加 了对虚拟网络的原生支持 ,提高 OVS 在实际应用环境中的性能和规模
只要 能够运行 OVS ,就可以运行 OVN ,从 OVS 升级到 OVN 非常容易
典型的 Neutron 虚拟网络包括外部网络、内部网络和路由器

3.2 •浮动IP地址

私有地址是由 DHCP 服务器自动分配给虚拟机实例网络接口的 IP 地址
浮动 IP 地址是 Neutron 组件提供的 服务。
将数据包发送到分配有浮动 IP 地址的网络接口的工作由 Neutron 负责。
分配 有浮动 IP 地址的实例能够通过浮动 IP 地址从外部网络被访问。
要从外部网络中的其他计算机访问实例,需为实例分配浮动 IP 地址。

3.3 •OpenStack主机网卡添加到br-ex网桥上

1)将ens33网卡的配置文件复制一份到ifcfg-br-ex接口配置文件中。

2)使用文本编辑器修改br-ex网桥的配置文件其中关键是要将TYPE的值修改为OVSBridge,将DEVICETYPE的值设为ovs,将NAMEDEVICE的值都改为br-ex

3)使用文本编辑器修改ens33网卡的配置文件,其中关键是将TYPE值修改为OVSPort

4)重启network服务使上述修改生效。

★ ★外部网桥br-ex获得原ens33网卡的IP配置,而ens33网卡作为该网桥上的一个端口后,可以没有IP地址。

3.4 Linux计算机上通过SSH访问虚拟机实例

测试 SSH 密码 登录

 [root@node-a ~]# ssh cirros@192.168.199.87

The authenticity of host '192.168.199.87 (192.168.199.87)' can't be established.

ECDSA key fingerprint is SHA256:f/rI4UsneTZD/1B4S3GmxsbMJRVa/HK7hsvuHipExAg.

ECDSA key fingerprint is MD5:0d:35:2f:03:30:26:f3:6b:6a:59:52:c0:d9:16:83:5c.

Are you sure you want to continue connecting (yes/no)? yes     #加入可信主机列表中

Warning: Permanently added '192.168.199.87' (ECDSA) to the list of known hosts.

cirros@192.168.199.87's password:         #默认密码为gocubsgo

$ date                                      #登录成功后测试

Fri Aug 28 05:01:20 UTC 2020

$ exit                                       #退出登录

Connection to 192.168.199.87 closed.

3.5 Linux计算机上通过SSH访问虚拟机实例

SSH 证书 登录
Ø 基本用法

ssh -i 私钥文件 <用户名>@<实例IP地址>

Ø 示范

[root@node-a ~]# cp Downloads/demo-key.pem ~/.ssh

[root@node-a ~]# ssh -i ~/.ssh/demo-key.pem cirros@192.168.199.87

$ date                                 #免密码登录成功后测试

Fri Aug 28 05:05:55 UTC 2020

$ exit

Connection to 192.168.199.87 closed.

相关文章:

OpenStack快速入门

任务一 熟悉OpenStack图形界面操作 1.1 Horizon项目 •各OpenStack服务的图形界面都是由Horizon提供的。 •Horizon提供基于Web的模块化用户界面。 •Horizon为云管理员提供一个整体的视图。 •Horizon为终端用户提供一个自主服务的门户。 •Horizon由云管理员进行管理…...

STM32CubeIDE对STM32F072进行ADC配置及使用

目录 1. 配置2. 时钟3. ADC配置4. 代码补充 1. 配置 引脚配置&#xff1a;PB0 2. 时钟 都是48MHz 3. ADC配置 ADC配置&#xff1a; 开启中断&#xff1a; 4. 代码补充 轮训ADC采样&#xff1a; HAL_ADC_PollForConversion(&hadc,10);ADC采样&#xff1a; HAL_ADC_Start (&a…...

Leetcode Hot 100 刷题记录 - Day 1

问题描述&#xff1a; 给定一个整数数组 nums 和一个整数目标值 target&#xff0c;请你在该数组中找出 和为目标值 target 的那 两个整数&#xff0c;并返回它们的数组下标。 你可以假设每种输入只会对应一个答案。但是&#xff0c;数组中同一个元素在答案里不能重复出现。 示…...

k8s学习--Kruise Rollouts 基本使用

文章目录 Kruise Rollouts简介什么是 Kruise Rollouts&#xff1f;核心功能 应用环境一、OpenKruise部署1.安装helm客户端工具2. 通过 helm 安装 二、Kruise Rollouts 安装2. kubectl plugin安装 三、Kruise Rollouts 基本使用(多批次发布)1. 使用Deployment部署应用2.准备Roll…...

PHP框架详解 - CakePHP框架

CakePHP 是一个开源的 PHP Web 应用框架&#xff0c;它遵循 MVC&#xff08;模型-视图-控制器&#xff09;设计模式。CakePHP 提供了快速开发的功能&#xff0c;如代码自动生成、数据库交互的 CRUD 操作支持、灵活的路由、模板引擎、表单处理以及其它许多有用的特性22。 CakeP…...

el-cascader 支持多层级,多选(可自定义限制数量),保留最后一级

多功能的 el-cascader 序言&#xff1a;最近遇到一个需求关于级联的&#xff0c;有点东西&#xff0c;这里是要获取某个产品类型下的产品&#xff0c;会存在产品类型和产品在同一级的情况&#xff0c;但是产品类型不能勾选&#xff1b; 情况1&#xff08;二级菜单是产品&…...

leetcode498 对角线遍历

题目 给你一个大小为 m x n 的矩阵 mat &#xff0c;请以对角线遍历的顺序&#xff0c;用一个数组返回这个矩阵中的所有元素。 示例 输入&#xff1a;mat [[1,2,3],[4,5,6],[7,8,9]] 输出&#xff1a;[1,2,4,7,5,3,6,8,9] 解析 本题目主要考察的就是模拟法&#xff0c;首…...

北京活动会议通常会邀约哪些媒体参会报道?

传媒如春雨&#xff0c;润物细无声&#xff0c;大家好&#xff0c;我是51媒体网胡老师。 北京作为我国的首都和文化中心&#xff0c;各类活动会议资源丰富&#xff0c;吸引了众多媒体的关注。以下是一些通常会被邀约参会报道的重要媒体类型&#xff1a; 国家级新闻机构&#x…...

随心笔记,第六更

目录 一、 三步构建 XML转成java bean 1.XML转XSD 2.XSD转JavaBean 3.jaxb 工具类 4.测试 &#x1f4e2;&#x1f4e2;&#x1f4e2;&#x1f4e3;&#x1f4e3;&#x1f4e3; 哈喽&#xff01;大家好&#xff0c;我是「Leen」。刚工作几年&#xff0c;想和大家一同进步&am…...

zustand 状态管理库的使用 结合TS

zustand 是一个用于React应用的简单、快速且零依赖的状态管理库。它使用简单的钩子&#xff08;hooks&#xff09;API来创建全局状态&#xff0c;使得在组件之间共享状态变得容易。 React学习Day10 基本用法 安装&#xff1a;首先&#xff0c;你需要安装zustand库。 npm insta…...

Maven 的生命周期详解

Maven 是目前最流行的项目管理和构建工具之一&#xff0c;广泛应用于 Java 开发项目中。它通过一系列约定和配置&#xff0c;极大地简化了项目的构建、依赖管理和生命周期管理。其中&#xff0c;Maven 的生命周期是其核心概念之一&#xff0c;贯穿了项目从构建、测试、打包到部…...

【稳定检索/投稿优惠】2024年生物技术与食品科学国际会议(ICBFS 2024)

2024 International Conference on Biotechnology and Food Science 2024年生物技术与食品科学国际会议 【会议信息】 会议简称&#xff1a;ICBFS 2024 大会时间&#xff1a;点击查看 截稿时间&#xff1a;点击查看 大会地点&#xff1a;中国厦门 会议官网&#xff1a;www.icb…...

iOS Category

原理&#xff1a; 【iOS】——分类、扩展和关联对象_ios 为什么分类不能加成员变量-CSDN博客 面试题&#xff1a; 1.Category和Extension区别&#xff1f; 在 Objective-C 中&#xff0c;Category 和 Extension 是两种用于向现有类添加新功能的机制&#xff0c;但它们各有特…...

5.Sentinel入门与使用

5.Sentinel入门与使用 1.什么是 Sentinel?Sentinel 主要有以下几个功能: 2.为什么需要 Sentinel?3.Sentinel 基本概念3.1 什么是流量控制?3.1.1 常见流量控制算法3.1.2 Sentinel 流量控制流控效果介绍如下: 3.2 什么是熔断?熔断策略 3.3 Sentinel 组成&#xff08;资源和规…...

上位机图像处理和嵌入式模块部署(h750 mcu和图像处理)

【 声明&#xff1a;版权所有&#xff0c;欢迎转载&#xff0c;请勿用于商业用途。 联系信箱&#xff1a;feixiaoxing 163.com】 前面我们说过&#xff0c;h750和之前的103、407相比较&#xff0c;本身cpu频率比较高&#xff0c;flash大小一般&#xff0c;但是ram比较大&#x…...

信创服务器操作系统的适配迁移分析

浅谈信创服务器操作系统的适配迁移 01 服务器操作系统迁移适配流程复杂 随着CentOS停服临近和红帽RHEL源码权限受限&#xff0c;服务器操作系统安全漏洞风险加剧。国内众多企业面临CentOS、REHL等系统升级替换的挑战。同时&#xff0c;出于安全、功能升级和合规需求&#xff0…...

在Ubuntu 20.04上安装和配置MySQL 8:详细指南和远程访问设置

目录 一、MySQL 8的特点和优势 二、在Ubuntu 20.04上安装MySQL 8 三、初始化MySQL 四、配置MySQL远程访问 五、 创建远程访问用户 六. 配置防火墙 七、 测试远程访问 总结 MySQL是一种开源的关系型数据库管理系统&#xff0c;被广泛应用于各种应用程序和网站中。MySQL …...

Vue43-单文件组件

一、脚手架的作用 单文件组件&#xff1a;xxx.vue&#xff0c;浏览器不能直接运行&#xff01;&#xff01;&#xff01; 脚手架去调用webpack等第三方工具。 二、vue文件的命名规则 建议用下面的两种方式。&#xff08;首字母大写&#xff01;&#xff01;&#xff01;&#x…...

如何快速使用向量检索服务DashVector?

免费体验阿里云高性能向量检索服务&#xff1a;https://www.aliyun.com/product/ai/dashvector 本文将介绍如何快速上手使用向量检索服务DashVector。 前提条件 已创建Cluster&#xff1a;创建Cluster。 已获得API-KEY&#xff1a;API-KEY管理。 已安装最新版SDK&#xff1a…...

Linux 用户和用户组 创建用户 创建组

介绍 一个组有多个用户&#xff0c;可以给组分配权限&#xff0c;那么该组的使用用户都有该组的权限&#xff0c;就不用一个个分配&#xff0c;而且很好管理。 创建用户组 groupadd 组名删除用户组 groupdel test查看用户所属组 id [用户名]修改用户组 把abc用户添加到m…...

《Playwright:微软的自动化测试工具详解》

Playwright 简介:声明内容来自网络&#xff0c;将内容拼接整理出来的文档 Playwright 是微软开发的自动化测试工具&#xff0c;支持 Chrome、Firefox、Safari 等主流浏览器&#xff0c;提供多语言 API&#xff08;Python、JavaScript、Java、.NET&#xff09;。它的特点包括&a…...

【SSH疑难排查】轻松解决新版OpenSSH连接旧服务器的“no matching...“系列算法协商失败问题

【SSH疑难排查】轻松解决新版OpenSSH连接旧服务器的"no matching..."系列算法协商失败问题 摘要&#xff1a; 近期&#xff0c;在使用较新版本的OpenSSH客户端连接老旧SSH服务器时&#xff0c;会遇到 "no matching key exchange method found"​, "n…...

Python 实现 Web 静态服务器(HTTP 协议)

目录 一、在本地启动 HTTP 服务器1. Windows 下安装 node.js1&#xff09;下载安装包2&#xff09;配置环境变量3&#xff09;安装镜像4&#xff09;node.js 的常用命令 2. 安装 http-server 服务3. 使用 http-server 开启服务1&#xff09;使用 http-server2&#xff09;详解 …...

android RelativeLayout布局

<?xml version"1.0" encoding"utf-8"?> <RelativeLayout xmlns:android"http://schemas.android.com/apk/res/android"android:layout_width"match_parent"android:layout_height"match_parent"android:gravity&…...

macOS 终端智能代理检测

&#x1f9e0; 终端智能代理检测&#xff1a;自动判断是否需要设置代理访问 GitHub 在开发中&#xff0c;使用 GitHub 是非常常见的需求。但有时候我们会发现某些命令失败、插件无法更新&#xff0c;例如&#xff1a; fatal: unable to access https://github.com/ohmyzsh/oh…...

[特殊字符] 手撸 Redis 互斥锁那些坑

&#x1f4d6; 手撸 Redis 互斥锁那些坑 最近搞业务遇到高并发下同一个 key 的互斥操作&#xff0c;想实现分布式环境下的互斥锁。于是私下顺手手撸了个基于 Redis 的简单互斥锁&#xff0c;也顺便跟 Redisson 的 RLock 机制对比了下&#xff0c;记录一波&#xff0c;别踩我踩过…...

写一个shell脚本,把局域网内,把能ping通的IP和不能ping通的IP分类,并保存到两个文本文件里

写一个shell脚本&#xff0c;把局域网内&#xff0c;把能ping通的IP和不能ping通的IP分类&#xff0c;并保存到两个文本文件里 脚本1 #!/bin/bash #定义变量 ip10.1.1 #循环去ping主机的IP for ((i1;i<10;i)) doping -c1 $ip.$i &>/dev/null[ $? -eq 0 ] &&am…...

leetcode_69.x的平方根

题目如下 &#xff1a; 看到题 &#xff0c;我们最原始的想法就是暴力解决: for(long long i 0;i<INT_MAX;i){if(i*ix){return i;}else if((i*i>x)&&((i-1)*(i-1)<x)){return i-1;}}我们直接开始遍历&#xff0c;我们是整数的平方根&#xff0c;所以我们分两…...

【版本控制】GitHub Desktop 入门教程与开源协作全流程解析

目录 0 引言1 GitHub Desktop 入门教程1.1 安装与基础配置1.2 核心功能使用指南仓库管理日常开发流程分支管理 2 GitHub 开源协作流程详解2.1 Fork & Pull Request 模型2.2 完整协作流程步骤步骤 1: Fork&#xff08;创建个人副本&#xff09;步骤 2: Clone&#xff08;克隆…...

python读取SQLite表个并生成pdf文件

代码用于创建含50列的SQLite数据库并插入500行随机浮点数据&#xff0c;随后读取数据&#xff0c;通过ReportLab生成横向PDF表格&#xff0c;包含格式化&#xff08;两位小数&#xff09;及表头、网格线等美观样式。 # 导入所需库 import sqlite3 # 用于操作…...