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

OpenStack系列第四篇:云平台基础功能与操作(Dashboard)

文章目录

  • 1. 镜像(Image)
    • 添加镜像
    • 查看镜像
    • 删除镜像
  • 2. 卷(Volume)
    • 创建卷
    • 查看卷
    • 删除卷
  • 3. 网络(虚拟网络)
    • 创建网络
    • 查看网络
    • 删除网络
  • 4. 实例类型
    • 创建实例类型
    • 查看实例类型
    • 删除实例类型
  • 4. 密钥对(Key Pair)
    • 创建密钥对
  • 4. 安全组(Security Group)
  • 4. 实例(Instance)
    • 创建实例
    • 查看实例
    • 连接实例
    • 连接卷
    • 删除实例
  • 5. 快照(Snapshot)
  • 总结


在前几篇文章中,完成了 OpenStack 的部署。本篇将聚焦于基础使用,快速熟悉 OpenStack Dashboard 上的主要功能模块。

1. 镜像(Image)

镜像是虚拟机的操作系统模板,用于快速创建实例,是云平台中的“操作系统安装盘”。

添加镜像

点击 创建镜像
点击下载 CentOS-7-x86_640GenericCloud-2009.qcow2(官方) 或
又或到 CentOS官方云镜像 下载
![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/e599639f89cd4c47a4c657d1141a20f8.png
在这里插入图片描述

等同于在 Controller 节点上执行如下命令:

openstack image create --file CentOS-7-x86_64-GenericCloud-2009.qcow2 --disk-format qcow2 --container-format bare --public centos7qcow2

查看镜像

刷新页面即可查看
在这里插入图片描述

从网页上传非常久,建议拉到 Controller 节点再使用命令上传

删除镜像

不细讲了,点击就是删除

2. 卷(Volume)

卷是提供给实例的动态存储设备,用于保存数据并支持独立管理,就像虚拟机的“硬盘”。

创建卷

在这里插入图片描述

查看卷

在这里插入图片描述

删除卷

不细讲了,点击就是删除

3. 网络(虚拟网络)

虚拟网络是为实例提供通信和联网能力的桥梁,负责管理内外网连接及安全策略。

创建网络

管理员 -> 网络 -> 网络 -> 创建网络
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

等同于在 Controller 节点上执行如下命令:

# 网络
openstack network create --share --external --provider-physical-network provider --provider-network-type flat vlr-net
# 子网
openstack subnet create --network vlr-net --allocation-pool start=192.168.62.100,end=192.168.62.200 --dns-nameserver 114.114.114.114 --gateway 192.168.62.2 --subnet-range 192.168.62.0/24 subnet

查看网络

在这里插入图片描述

删除网络

不细讲了,点击就是删除

4. 实例类型

实例类型是定义虚拟机规格的模板,用于指定实例的CPU、内存和磁盘资源配置,帮助管理员灵活分配计算资源。

创建实例类型

管理员 -> 计算 -> 实例类型 -> 创建实例类型
在这里插入图片描述

等同于在 Controller 节点上执行如下命令:

openstack flavor create --id auto --vcpus 1 --ram 1024 --disk 10 mini

查看实例类型

在这里插入图片描述

删除实例类型

不细讲了,点击就是删除

4. 密钥对(Key Pair)

密钥对是实例的安全认证工具,用于通过 SSH 登录保护虚拟机,替代传统密码。
公钥用于分发给他人,私钥则由自己保管。当实现免密登录时,自己连接到目标主机时,目标主机会用存储的公钥验证你的私钥,匹配成功即可完成免密登录。

创建密钥对

有两种方法:

  • ssh-keygen 命令创建并上传

    # 按 yssh-keygen -t ed25519 -b 2048 -N ""
    

~/.ssh/ 目录下会生成 id_ed25519id_ed25519.pub 两个文件(根据加密方式命名的),将 id_ed25519.pub 上传到 OpenStack 即可,项目->计算->密钥对->导入密钥

  • Dashboard 创建密钥对
    项目->计算->密钥对->创建密钥->密钥类型(SSH密钥)
    会生成一个后缀为 pem 的文件提供下载
    这个 pem 文件和私钥一样可用于验证公钥,但不是私钥

4. 安全组(Security Group)

安全组是虚拟防火墙规则的集合,用于定义实例的网络访问权限,通过控制入站和出站流量确保网络安全。
在默认安全组下追加以下规则:
在这里插入图片描述

4. 实例(Instance)

实例是通过镜像创建的虚拟机,用于运行应用或任务,是云平台的核心资源。

创建实例

管理员 -> 计算 -> 实例 -> 创建实例
在这里插入图片描述在这里插入图片描述在这里插入图片描述

在这里插入图片描述在这里插入图片描述

查看实例

在这里插入图片描述

连接实例

  1. ssh 免密连接
ssh -i '密钥.pem' centos@192.168.62.107
  1. 宿主机直连
    进入 compute 节点:
# 查看虚拟机编号
virsh list
# 进入虚拟机(如:12)
virsh console 12
5. 密码连接(失败)
  1. ssh 密码直连
    部分官方 .qcow2 镜像支持通过脚本修改密码
    在创建新虚拟机时,配置->定制化脚本,输入如下:
#cloud-config
ssh_pwauth: True
password: lian
chpasswd:list: |root:lianexpire: False

看网上的说法,似乎qemu是不会生效,kvm虚拟化才会生效,所以无法修改。

  1. 控制台(失败)
    点击实例名字进去控制台后,发现报错
Something went wrong, connection is closed

查看日志:

tail -f /var/log/nova/nova-novncproxy.log
code 400, message Client must support 'binary' or 'base64' protocol

修改内核协议解决:

vim /usr/share/novnc/core/websock.js
# 修改open(uri, protocols) {#this.attach(new WebSocket(uri, protocols));this.attach(new WebSocket(uri, ['binary','base64']));}

参考链接:
https://blog.csdn.net/sikoutang/article/details/138336726
https://blog.csdn.net/qq_41786090/article/details/131366053
https://github.com/novnc/noVNC/issues/1276
https://techglimpse.com/openstack-novnc-code-400-base64-protocol-error/

然后控制台就进入到 loading 了,没日志,网上也没相同情况,就没办法处理,可能是 qemu 或者 Openstack 版本 又或者是 浏览器版本 原因。

连接卷

就是添加硬盘到虚拟机上的意思,如下:

在这里插入图片描述

重启后,使用 lsblk 命令查看会发现多一块硬盘

$ lsblk
NAME    MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
vda     252:0    0  10G  0 disk
|-vda1  252:1    0  10G  0 part /
`-vda15 252:15   0   8M  0 part
vdb     252:16   0  10G  0 disk

删除实例

不细讲了,点击就是删除

注:

  1. 不确定是openstack版本问题还是浏览器问题, 创建实例 按钮老是消失,刷新+换浏览器+无痕模式 解决
  2. 用的是 qemu 虚拟化而不是 kvm,定制脚本 不会生效
  3. 曾在 debug 的时候将 compute 节点删了再加入,Dashboard 页面的 创建实例 按钮也会消失,通过 openstack server create 命令创建实例(运行失败),查看日志才知道说计算节点 compute 同名了,这里要注意一下

5. 快照(Snapshot)

快照是实例状态和数据的备份文件,用于恢复、模板制作或版本管理。

与 VMware WorkStation 、 VMware Vsphere 不同,这里快照拍完后,直接出现在 镜像那了,使用方式与镜像一样直接就创建虚拟机了,实例无法通过快照恢复,但能通过快照创建新的虚拟机。

总结

通过本文的介绍,大家完成了OpenStack基础资源的部署与管理,包括镜像、卷、网络、实例等,帮助大家对OpenStack的主要功能有了初步认识,并掌握了如何通过Dashboard和命令行进行常见操作。

相关文章:

OpenStack系列第四篇:云平台基础功能与操作(Dashboard)

文章目录 1. 镜像(Image)添加镜像查看镜像删除镜像 2. 卷(Volume)创建卷查看卷删除卷 3. 网络(虚拟网络)创建网络查看网络删除网络 4. 实例类型创建实例类型查看实例类型删除实例类型 4. 密钥对&#xff08…...

ESP32 I2S音频总线学习笔记(一):初识I2S通信与配置基础

文章目录 简介为什么需要I2S?关于音频信号采样率分辨率音频声道 怎样使用I2S传输音频?位时钟BCLK字时钟WS串行数据SD I2S传输模型I2S通信格式I2S格式左对齐格式右对齐格式 i2s基本配置i2s 底层API加载I2S驱动设置I2S使用的引脚I2S读取数据I2S发送数据卸载…...

25上半年软考高级系统分析师易混淆知识点

第1章 系统工程与信息系统基础 易混淆点1:系统工程生命周期与信息系统的生命周期 1、系统工程生命周期阶段 探索性研究→概念阶段→开发阶段→生产阶段→使用阶段→保障阶段→退役阶段 2、信息系统的生命周期 产生阶段→开发阶段(单个系统开发&…...

采集JSON解析错误的修复

两段采集来的JSON格式: 一: {"hwgOnlineId":"554312", "jiwuChatId":"", "phoneCategoryId":"20006", "cuxiaoSeq":{voucherTitle:1,lh 二: {"pic":&q…...

Java中实现对象的深拷贝(Deep Copy)

在Java中实现对象的深拷贝(Deep Copy)意味着创建一个对象的副本,使得原对象和副本对象完全分离,对副本对象的任何修改都不会影响到原对象。以下是几种实现深拷贝的方法: 1. 手动实现深拷贝 对于自定义类,…...

位置编码-APE

Transformer 中的绝对位置编码 (以下由gpt 生成) Transformer 的绝对位置编码(Absolute Position Encoding, APE)是用于对序列数据中的位置信息进行建模的一种方法。在 Transformer 的架构中,输入数据(如句…...

MySQL有哪些锁?

1.MySQL有哪些锁? 全局锁表级锁 表锁元数据锁意向锁 行级锁 记录锁间隙锁临键锁临时意向锁 我了解的是MySQL的锁可以分为全局锁、表级锁、行级锁。 我比较熟悉的是表级锁和行级锁,如果我们对表结构进行修改时,MySQL就会对这个表结构加一个…...

Everything实现,快速搜索文件

最近编写NTFS文件实时搜索工具, 类似 Everything 这样, 翻阅了很多博客, 结果大致如下: 1.分析比较肤浅, 采用USN日志枚举来获取文件记录 速度一言难尽, 因为日志枚举的是全盘所有文件的所有日志, 记录比文件记录还多, 速度当然很慢, 还有的甚至于是 使用 DeviceIoControl 函数…...

[硬件] DELL BIOS 相关注意事项

前言 前段时间重装系统. DELL BIOS属实资料少, 又难用. 这里给出相关的注意事项, 并且配上图片. BIOS相关注意事项 进入BIOS ESC/F2/ F12. 都可以进入BIOS, 当进U盘的入Win PE系统时, 使用F12 效果更佳. 关闭安全模式 切换到Boot Configuration选项,将Secure Boot选项off选…...

Rocky Linux 下安装Liboffice

Rocky Linux下安装Liboffice。 Step1: 在桌面,单击击键盘的Window键,点击出现的白色software按钮图标; Step2: 输入lib,即可自动跳出libre Office, 进行安装; Step3: Have fun with Rocky Linux....

【每日学点鸿蒙知识】长时任务、HarmonyAppProvision申请、preferences、Testing工具、应用保活

1、HarmonyOS 如何解决语音聊天、通信app退后台系统采集播放回调就会停止,回前台未恢复? 关于应用切到后台系统采集播放回调停止的问题原因如下:为了降低设备耗电速度、保障用户使用流畅度,系统会对退至后台的应用进行管控&#…...

步进电机驱动算法——S形加减速算法原理

1. 前言: 最近项目又用到了步进电机,为了在运动中加减速更加平稳决定研究一下S型加减速,原来用过野火的s型加减速程序,云里雾里的移植成功了,今天再翻来程序看一脸懵逼,重新学习了一下发现所有公式都能看懂…...

【图像去噪】论文复现:大道至简!ZS-N2N的Pytorch源码复现,跑通源码,获得指标计算结果,补充保存去噪结果图像代码,代码实现与论文理论对应!

请先看【专栏介绍文章】:【图像去噪(Image Denoising)】关于【图像去噪】专栏的相关说明,包含适配人群、专栏简介、专栏亮点、阅读方法、定价理由、品质承诺、关于更新、去噪概述、文章目录、资料汇总、问题汇总(更新中) 完整代码和训练好的模型权重文件下载链接见本文底…...

2024年中国新能源汽车用车发展怎么样 PaperGPT(一)

概述 在国家政策的强力扶持下,2024年中国新能源汽车市场迎来了新的发展机遇。本文将基于《中国新能源汽车用车报告(2024年)》的数据,对新能源汽车的市场发展和用车趋势概述。 新能源汽车市场发展 政策推动:国家和地…...

数据结构-排序思想

直接插入排序 将后面的无序区中的元素挨个向前面的有序区中插入。 1.将顺序表中R[0]用作哨兵,按索引i2...n的次序,将R[i]向有序区R[1...i-1]中执行插入操作。 2.插入操作可采取在有序区中从后向前的查找比较和移动的方法。 3.此操作中比较的次数与原序列…...

python 快速排序(Quick Sort)

快速排序(Quick Sort) 快速排序是一种高效的排序算法,采用分治法(Divide and Conquer)策略。它的基本思想是:选择一个基准元素(pivot),将数组分为两部分,使得…...

MySQL数据库——常见慢查询优化方式

本文详细介绍MySQL的慢查询相关概念,分析步骤及其优化方案等。 文章目录 什么是慢查询日志?慢查询日志的相关参数如何启用慢查询日志?方式一:修改配置文件方式二:通过命令动态启用 分析慢查询日志方式一:直…...

【AIGC篇】AIGC 引擎:点燃创作自动化的未来之火

:羑悻的小杀马特.-CSDN博客 未来都是惊喜。你生来本应为高山。并非草芥。 引言: 在当今数字化的时代,人工智能生成内容(AIGC)正以一种前所未有的力量改变着我们的创作领域。它就像一个神秘而强大的魔法师,…...

C语言性能优化:从基础到高级的全面指南

引言 C 语言以其高效、灵活和功能强大而著称,被广泛应用于系统编程、嵌入式开发、游戏开发等领域。然而,要写出高性能的 C 语言代码,需要对 C 语言的特性和底层硬件有深入的了解。本文将详细介绍 C 语言性能优化的背后技术,并通过…...

常用的公共 NTP(网络时间协议)服务器

公共 NTP 服务列表 以下是一些常用的公共 NTP(网络时间协议)服务器,供您参考: 中国地区公共 NTP 服务器 国家授时中心 NTP 服务器:ntp.ntsc.ac.cn中国 NTP 快速授时服务:cn.ntp.org.cn阿里云公共 NTP 服务…...

Cesium1.95中高性能加载1500个点

一、基本方式&#xff1a; 图标使用.png比.svg性能要好 <template><div id"cesiumContainer"></div><div class"toolbar"><button id"resetButton">重新生成点</button><span id"countDisplay&qu…...

YSYX学习记录(八)

C语言&#xff0c;练习0&#xff1a; 先创建一个文件夹&#xff0c;我用的是物理机&#xff1a; 安装build-essential 练习1&#xff1a; 我注释掉了 #include <stdio.h> 出现下面错误 在你的文本编辑器中打开ex1文件&#xff0c;随机修改或删除一部分&#xff0c;之后…...

基于数字孪生的水厂可视化平台建设:架构与实践

分享大纲&#xff1a; 1、数字孪生水厂可视化平台建设背景 2、数字孪生水厂可视化平台建设架构 3、数字孪生水厂可视化平台建设成效 近几年&#xff0c;数字孪生水厂的建设开展的如火如荼。作为提升水厂管理效率、优化资源的调度手段&#xff0c;基于数字孪生的水厂可视化平台的…...

华为OD机试-食堂供餐-二分法

import java.util.Arrays; import java.util.Scanner;public class DemoTest3 {public static void main(String[] args) {Scanner in new Scanner(System.in);// 注意 hasNext 和 hasNextLine 的区别while (in.hasNextLine()) { // 注意 while 处理多个 caseint a in.nextIn…...

Nginx server_name 配置说明

Nginx 是一个高性能的反向代理和负载均衡服务器&#xff0c;其核心配置之一是 server 块中的 server_name 指令。server_name 决定了 Nginx 如何根据客户端请求的 Host 头匹配对应的虚拟主机&#xff08;Virtual Host&#xff09;。 1. 简介 Nginx 使用 server_name 指令来确定…...

让AI看见世界:MCP协议与服务器的工作原理

让AI看见世界&#xff1a;MCP协议与服务器的工作原理 MCP&#xff08;Model Context Protocol&#xff09;是一种创新的通信协议&#xff0c;旨在让大型语言模型能够安全、高效地与外部资源进行交互。在AI技术快速发展的今天&#xff0c;MCP正成为连接AI与现实世界的重要桥梁。…...

代码随想录刷题day30

1、零钱兑换II 给你一个整数数组 coins 表示不同面额的硬币&#xff0c;另给一个整数 amount 表示总金额。 请你计算并返回可以凑成总金额的硬币组合数。如果任何硬币组合都无法凑出总金额&#xff0c;返回 0 。 假设每一种面额的硬币有无限个。 题目数据保证结果符合 32 位带…...

使用LangGraph和LangSmith构建多智能体人工智能系统

现在&#xff0c;通过组合几个较小的子智能体来创建一个强大的人工智能智能体正成为一种趋势。但这也带来了一些挑战&#xff0c;比如减少幻觉、管理对话流程、在测试期间留意智能体的工作方式、允许人工介入以及评估其性能。你需要进行大量的反复试验。 在这篇博客〔原作者&a…...

GitFlow 工作模式(详解)

今天再学项目的过程中遇到使用gitflow模式管理代码&#xff0c;因此进行学习并且发布关于gitflow的一些思考 Git与GitFlow模式 我们在写代码的时候通常会进行网上保存&#xff0c;无论是github还是gittee&#xff0c;都是一种基于git去保存代码的形式&#xff0c;这样保存代码…...

多模态图像修复系统:基于深度学习的图片修复实现

多模态图像修复系统:基于深度学习的图片修复实现 1. 系统概述 本系统使用多模态大模型(Stable Diffusion Inpainting)实现图像修复功能,结合文本描述和图片输入,对指定区域进行内容修复。系统包含完整的数据处理、模型训练、推理部署流程。 import torch import numpy …...