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

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 命令创建并上传

    # 按 y
      ssh-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:lian
  expire: 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和命令行进行常见操作。


http://www.kler.cn/a/460641.html

相关文章:

  • 运算符重载 - 自定义运算符行为
  • 【开源免费】基于SpringBoot+Vue.JS保密信息学科平台(JAVA毕业设计)
  • Mac 版本向日葵退出登录账号
  • android studio android sdk下载地址
  • 【每日学点鸿蒙知识】导入cardEmulation、自定义装饰器、CallState状态码顺序、kv配置、签名文件配置
  • Linux 服务器启用 DNS 加密
  • Spring 创建和管理 Bean 的原理,以及Spring 的单例模式是否线程安全?(有无状态Bean)
  • 电子电器架构 --- 智能座舱与AI结合
  • 数据仓库工具箱—读书笔记02(Kimball维度建模技术概述05、处理缓慢变化维度SCD属性)
  • 基于深度学习的医疗问诊助手
  • Postman[3] 创建Get和Post请求
  • Django中创建自增主键字段的几种方法
  • UEBA-对等组聚类
  • 数据结构与算法之动态规划: LeetCode 72. 编辑距离 (Ts版)
  • 198.213.337.打家劫舍
  • MySql find_in_set 函数
  • 数据仓库: 9- 数据仓库数据治理
  • KubeOS
  • java基于ThreadLocal实现单例模式
  • Android 系统 AlertDialog 系统层深度定制
  • 基于AT89C51单片机的可暂停八路抢答器设计
  • 试用ChatGPT的copilot编写一个程序从笔记本电脑获取语音输入和图像输入并调用开源大模型进行解析
  • 【一起python】银行管理系统
  • linux上使用cmake编译的方法
  • ArrayList 和LinkedList的区别比较
  • 酒后饮品选择指南:科学缓解不适