OpenStack Yoga版安装笔记(十一)nova安装(上)

news2025/1/16 19:05:55

1、官方文档

OpenStack Installation Guideicon-default.png?t=N7T8https://docs.openstack.org/install-guide/

本次安装是在Ubuntu 22.04上进行,基本按照OpenStack Installation Guide顺序执行,主要内容包括:

  • 环境安装 (已完成)
  • OpenStack服务安装
    • keyston安装(已完成)
    • glance安装 (已完成)
    • placement安装(已完成) 
    • nova安装(本篇文档安装)◄──
  • 启动一个实例

参考OpenStack Yoga版最小化部署(Minimal deployment for Yoga),顺序安装必须的核心服务,本次安装nova服务。

2、概述(Overview)

2.1 OpenStack是一个开源的云计算平台

OpenStack 是一个开源的云计算平台,它允许企业和服务提供商构建自己的私有云或公有云环境:

  1. 开源: OpenStack 是由社区驱动的,它的代码和设计是公开的,任何人都可以查看、修改和使用。

  2. 云计算平台: 它提供了一套工具和服务,使得用户能够在虚拟化环境中创建、管理和部署应用程序。

  3. 支持所有类型的云环境: OpenStack 设计灵活,可以适应不同的云部署模型,包括私有云、公有云和混合云。

  4. 简单实施: OpenStack 的目标之一是让云服务的搭建和使用尽可能简单,减少复杂性。

  5. 大规模可扩展性: 它能够支持从小型开发环境到大规模生产环境的扩展,满足不同规模的需求。

  6. 丰富的功能集: OpenStack 提供了一套完整的服务,包括计算、网络、存储等,以满足各种云应用的需求。

  7. 全球云计算专家的贡献: 来自世界各地的云技术专家参与到 OpenStack 的开发和改进中,确保平台的先进性和适用性。

总的来说,OpenStack 是一个由社区驱动的、灵活的、功能丰富的云计算平台,它允许用户根据自己的需求构建和扩展云服务。

2.2 OpenStack提供IaaS解决方案

OpenStack 提供的 Infrastructure-as-a-Service (IaaS) 解决方案,可以通过以下方面来理解:

  1. IaaS(基础设施即服务): 这是一种云计算模型,其中提供商为用户提供虚拟化的计算资源,如服务器、存储和网络资源。用户可以按需使用这些资源,而不需要自己拥有和维护物理硬件。

  2. 多种互补服务: OpenStack 不是一个单一的服务,而是由多个不同的服务组成,每个服务负责云计算基础设施的不同方面。例如,Nova 负责计算服务,Swift 负责对象存储服务,Cinder 负责块存储服务,Neutron 负责网络服务等。

  3. 应用程序编程接口(API): 每个 OpenStack 服务都提供了 API,这些 API 允许用户以编程方式访问和控制服务。这意味着用户可以通过编写代码来自动化资源的创建、配置和管理。

  4. 集成和自动化: 提供 API 的目的是为了促进不同服务之间的集成和自动化。用户和开发者可以利用这些 API 来构建自己的应用程序,实现对云资源的高级管理和编排。

  5. 灵活性和扩展性: 通过 API,OpenStack 允许用户根据自己的需求定制和扩展云服务。用户可以开发自定义的解决方案,以满足特定的业务需求。

  6. 社区驱动的创新: OpenStack 的 API 和服务设计允许社区成员贡献新的想法和功能,推动平台的持续发展和创新。

总的来说,OpenStack 通过提供 IaaS 解决方案和开放的 API,使用户能够灵活地构建和管理云计算基础设施,实现资源的自动化和集成。

2.3 OpenStack安装环境说明

《OpenStack Installation Guide》OpenStack安装指南提供了一个功能性测试架构,适合 OpenStack 新用户,指导如何逐步部署 OpenStack 的主要服务。该指南并非面向生产环境的安装,而是旨在建立一个最小化的概念验证(POC)环境,以便学习 OpenStack 相关知识。

2.4 将来的生产环境部署建议

在熟悉了 OpenStack 服务的基本安装、配置、操作和故障排除之后,向使用生产架构部署迈进的一些建议步骤:

  1. 确定并实施必要的核心和可选服务:这意味着你需要根据你的性能和冗余需求来决定哪些 OpenStack 服务是必需的,哪些是可选的。核心服务是运行 OpenStack 云所必需的,而可选服务可以根据特定需求添加。

  2. 满足性能和冗余要求:在生产环境中,你需要确保系统能够处理预期的工作负载,并且在一个组件失败时,系统仍然可以继续运行。这通常涉及到使用多个节点和数据副本来实现高可用性。

  3. 增强安全性:在生产环境中,安全性至关重要。这包括使用防火墙来控制进出流量,使用加密来保护数据传输和存储,以及实施服务策略来确保只有授权用户才能访问资源。

  4. 使用部署工具自动化部署和管理:在生产环境中,手动部署和管理 OpenStack 服务可能会非常耗时且容易出错。使用自动化工具,如 Ansible、Chef、Puppet 或 Salt,可以帮助你自动化部署流程,确保一致性,并简化日常管理任务。

  5. 生产架构:与概念验证或测试环境不同,生产架构需要考虑更多的因素,如扩展性、安全性、监控和维护。这意味着你的部署计划应该包括对这些方面的详细考虑。

总的来说,这些步骤强调了在将 OpenStack 服务从学习阶段转移到生产部署时,需要考虑的关键方面,包括服务的选择、性能和冗余、安全性以及自动化部署和管理。

3、计算服务概述(Compute Service Overview)

3.1 主要特性

OpenStack Compute(通常称为Nova)在云计算系统中的作用和特性,以及它与其他OpenStack组件的交互描述如下:

  1. OpenStack Compute:是OpenStack项目的一部分,用于托管和管理云计算系统。它是一个开源的云计算平台,允许用户在云环境中创建和管理虚拟机实例。

  2. Infrastructure-as-a-Service (IaaS):OpenStack Compute 是基础设施即服务(Infrastructure-as-a-Service,简称 IaaS)系统的重要组成部分。基础设施即服务,是一种云计算服务模型,用户可以租用计算资源,如虚拟机、存储和网络资源,而无需购买和维护物理硬件。

  3. Python实现:OpenStack Compute的主要模块是用Python编程语言编写的。

  4. 与OpenStack Identity交互:用于身份验证和授权,确保只有授权用户可以访问和管理云资源。

  5. 与OpenStack Placement交互:用于跟踪和选择库存资源,帮助确定在何处启动新实例以优化资源利用。

  6. 与OpenStack Image服务交互:用于管理和访问磁盘和服务器镜像,这些镜像用于启动新的虚拟机实例。

  7. 与OpenStack Dashboard交互:提供用户和管理员界面,允许用户通过一个图形界面管理和监控他们的云资源。

  8. 项目和用户限制:镜像访问受到项目和用户的限制,意味着不同项目或用户组可能只能访问特定的镜像。

  9. 配额限制:每个项目都有配额限制,例如实例的数量,这有助于控制资源使用和成本。

  10. 水平扩展:OpenStack Compute可以在标准硬件上水平扩展,意味着可以通过增加更多的节点来增加计算能力。

  11. 下载镜像启动实例:OpenStack Compute可以下载所需的镜像文件,并使用这些镜像来启动新的虚拟机实例。

总的来说,OpenStack Compute是一个强大的云管理工具,它通过与其他OpenStack服务的紧密集成,提供了一个全面的IaaS解决方案。

3.2 主要组件

OpenStack Compute的不同组件及其功能介绍如下:

  1. nova-api 服务

    • 接受并响应来自终端用户(end user)的compute API调用。
    • 支持OpenStack计算API。
    • 执行一些策略,并启动大多数编排活动,如运行实例。
  2. nova-api-metadata 服务

    • 接受来自实例的元数据请求。
    • 更多信息请参考元数据服务。
  3. nova-compute 服务

    • 一个工作守护进程,通过虚拟化API(hypervisor API)创建和终止虚拟机实例。
    • 例如使用libvirt与KVM或QEMU,或VMwareAPI与VMware。
    • 处理过程相当复杂,基本上守护进程接受队列中的操作,并执行一系列系统命令,如启动KVM实例并更新其在数据库中的状态。
  4. nova-scheduler 服务

    • 从队列中获取虚拟机实例请求,并决定在哪个计算服务器主机上运行。
  5. nova-conductor 模块

    • 在nova-compute服务和数据库之间进行交互的中介。
    • 消除了nova-compute服务对云数据库的直接访问。
    • nova-conductor模块可以水平扩展。但是,不要在运行nova-compute服务的节点上部署它。
    • 更多信息,请查看配置选项中的conductor部分。
  6. nova-novncproxy 守护进程

    • 提供通过VNC连接访问运行实例的代理。
    • 支持基于浏览器的novnc客户端。
  7. nova-spicehtml5proxy 守护进程

    • 提供通过SPICE连接访问运行实例的代理。
    • 支持基于浏览器的HTML5客户端。
    • SPICE(Simple Protocol for Independent Computing Environments)是一种开源的远程桌面协议,用于连接虚拟机或远程桌面环境。它允许用户通过浏览器或专用客户端软件安全地访问和管理他们的虚拟桌面或虚拟机。在OpenStack环境中,SPICE可以用来提供对虚拟机实例的图形界面访问,使得用户能够像操作本地计算机一样操作云中的虚拟机。这在需要进行图形界面操作或配置虚拟机时非常有用。
  8. 队列

    • 守护进程之间传递消息的中心枢纽。
    • 通常使用RabbitMQ实现,但还有其他选项可用。
  9. SQL数据库

    • 存储云基础设施的大部分构建时和运行时状态(build-time and run-time states),包括:
      • 可用的实例类型
      • 使用中的实例
      • 可用的网络
      • 项目
    • 理论上,OpenStack Compute可以支持SQLAlchemy支持的任何数据库。
    • 常见的数据库有SQLite3(用于测试和开发工作)、MySQL、MariaDB和PostgreSQL。

OpenStack Compute的这些组件共同工作,以提供强大的云计算服务!

4、 本次安装环境介绍

《OpenStack Yoga版安装笔记(二)》中已详细描述了本次安装的环境,以下将再次进行说明:

 4.1 controller node

控制节点已经安装身份服务(keystone)、镜像服务(glance)、放置服务(placement)。它还包括支持服务,如SQL数据库、消息队列、缓存(memcached)和网络时间协议(NTP)

本次将安装计算服务(nova)的管理功能(management portions of Compute)

将controller node虚机快照转到以下位置,然后开机:

开机后,检查controller node配置状态:

root@controller:~# chronyc sources                           
MS Name/IP address         Stratum Poll Reach LastRx Last sample               
===============================================================================
^* 120.25.115.20                 2   7   124   301  -5955us[-7265us] +/-   33ms
root@controller:~# cat /etc/netplan/00-installer-config.yaml 
# This is the network config written by 'subiquity'
network:
  ethernets:
    ens33:
      addresses:
      - 10.0.20.11/24
      nameservers:
        addresses:
        - 10.0.20.2
        search: []
      routes:
      - to: default
        via: 10.0.20.2
    ens34:
      dhcp4: false
  version: 2
root@controller:~# cat /etc/hosts
127.0.0.1 localhost
# 127.0.1.1 os-1

# The following lines are desirable for IPv6 capable hosts
::1     ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters

10.0.20.11 controller
10.0.20.12 compute1

root@controller:~# 

4.2 compute node

在《OpenStack Yoga版安装笔记(二)》,计算节点已经完成网卡ens33 ip地址配置、hosts文件配置、NTP配置。

计算节点运行计算服务的虚拟化部分,负责操作实例(instance)。(The compute node runs the hypervisor portion of Compute that operates instances. By default, Compute uses the kernel-based VM (KVM) hypervisor. )。默认情况下,计算服务使用基于内核的虚拟机(KVM)虚拟化技术。

将compute node虚机快照转到以下位置,然后开机:

开机后,检查compute node配置状态:

root@compute1:~# chronyc sources
MS Name/IP address         Stratum Poll Reach LastRx Last sample               
===============================================================================
^* controller                    3   6   377    35   +501us[ +710us] +/-   36ms
root@compute1:~# cat /etc/netplan/00-installer-config.yaml 
# This is the network config written by 'subiquity'
network:
  ethernets:
    ens32:
      addresses:
      - 10.0.20.12/24
      nameservers:
        addresses:
        - 10.0.20.2
        search: []
      routes:
      - to: default
        via: 10.0.20.2
    ens33:
      dhcp4: false
  version: 2
root@compute1:~# cat /etc/hosts
127.0.0.1 localhost
# 127.0.1.1 os-2

# The following lines are desirable for IPv6 capable hosts
::1     ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters

10.0.20.11 controller
10.0.20.12 compute1
root@compute1:~# ping controller
PING controller (10.0.20.11) 56(84) bytes of data.
64 bytes from controller (10.0.20.11): icmp_seq=1 ttl=64 time=0.254 ms
64 bytes from controller (10.0.20.11): icmp_seq=2 ttl=64 time=0.372 ms
64 bytes from controller (10.0.20.11): icmp_seq=3 ttl=64 time=0.412 ms
^C
--- controller ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2029ms
rtt min/avg/max/mdev = 0.254/0.346/0.412/0.067 ms
root@compute1:~# ping www.sina.com.cn
PING ww1.sinaimg.cn.w.alikunlun.com (180.163.145.206) 56(84) bytes of data.
64 bytes from 180.163.145.206 (180.163.145.206): icmp_seq=1 ttl=128 time=57.6 ms
64 bytes from 180.163.145.206 (180.163.145.206): icmp_seq=2 ttl=128 time=42.0 ms
^C
--- ww1.sinaimg.cn.w.alikunlun.com ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1002ms
rtt min/avg/max/mdev = 41.951/49.792/57.633/7.841 ms
root@compute1:~#

(待续)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1977380.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

一文详解大模型蒸馏工具TextBrewer

原文:https://zhuanlan.zhihu.com/p/648674584 本文分享自华为云社区《TextBrewer:融合并改进了NLP和CV中的多种知识蒸馏技术、提供便捷快速的知识蒸馏框架、提升模型的推理速度,减少内存占用》,作者:汀丶。 TextBre…

谷粒商城实战笔记-122~124-全文检索-ElasticSearch-分词

文章目录 一,122-全文检索-ElasticSearch-分词-分词&安装ik分词二,124-全文检索-ElasticSearch-分词-自定义扩展词库1,创建nginx容器1.1 创建nginx文件夹1.2 创建nginx容器获取nginx配置1.3 复制nginx容器配置文件1.4 删除临时的nginx容器…

《Milvus Cloud向量数据库指南》——什么是高可用:深入理解数据库系统中的高可用性架构

什么是高可用:深入理解数据库系统中的高可用性架构 在信息技术日新月异的今天,高可用性(High Availability,简称HA)已成为衡量一个系统,尤其是数据库系统稳定性和可靠性的重要标准。高可用性的核心目标在于确保系统能够持续不断地提供服务,最大限度地减少因维护活动、硬…

从零开始安装Jupyter Notebook和Jupyter Lab图文教程

前言 随着人工智能热浪(机器学习、深度学习、卷积神经网络、强化学习、AGC以及大语言模型LLM, 真的是一浪又一浪)的兴起,小伙伴们Python学习的热情达到了空前的高度。当我20年前接触Python的时候,做梦也没有想到Python会发展得怎么…

【初阶数据结构题目】10. 链表的回文结构

链表的回文结构 点击链接做题 思路1:创建新的数组,遍历原链表,遍历原链表,将链表节点中的值放入数组中,在数组中判断是否为回文结构。 例如: 排序前:1->2->2->1 设置数组来存储链表&a…

KubeSphere 最佳实战:探索 K8s GPU 资源的管理,在 KubeSphere 上部署 AI 大模型 Ollama

转载:KubeSphere 最佳实战:探索 K8s GPU 资源的管理,在 KubeSphere 上部署 AI 大模型 Ollama 随着人工智能、机器学习、AI 大模型技术的迅猛发展,我们对计算资源的需求也在不断攀升。特别是对于需要处理大规模数据和复杂算法的 AI…

数据恢复软件:电脑丢失文件,及时使用数据恢复软件恢复!

数据恢复软件什么时候会用到? 答:如果真的不小心删除文件,清空回收站,电脑重装系统等情况发生,我们要懂的及时停止使用电子设备,使用可靠的数据恢复软件,帮助我们恢复这些电子设备的数据&#…

【SQL Server 】故障排除:端口冲突排查、网络问题诊断及日志分析与监控6.1 端口冲突排查

目录 第6章:故障排除 端口冲突排查 示例:使用 PowerShell 排查端口冲突 网络问题诊断 示例:使用 Wireshark 捕获 SQL Server 网络流量 日志分析与监控 示例:使用 SQL Server Profiler 监控网络连接 安全注意事项 第6章&am…

Celery:Python异步任务处理的终极利器

文章目录 **Celery:Python异步任务处理的终极利器**第一部分:背景介绍异步任务处理的挑战为什么选择Celery?引入Celery 第二部分:Celery概述什么是Celery? 第三部分:安装Celery使用pip安装Celery 第四部分&…

腰部 KOL 发展潜力预测与企业定制 AI 智能名片 O2O 商城小程序的协同发展

摘要:随着社交媒体和内容创作平台的蓬勃发展,KOL(关键意见领袖)在品牌推广和营销领域的作用日益凸显。在头部 KOL 资源竞争激烈的当下,腰部 KOL 成为了新的运营重点。然而,挖掘有潜力的腰部 KOL 并非易事。…

【机器学习】重塑游戏世界:机器学习如何赋能游戏创新与体验升级

📝个人主页🌹:Eternity._ 🌹🌹期待您的关注 🌹🌹 ❀目录 🔍1. 引言:游戏世界的变革前夜📒2. 机器学习驱动的游戏创新🌞智能化游戏设计与开发&…

项目实战_图书管理系统(简易版)

你能学到什么 一个简单的项目——图书管理系统(浏览器:谷歌)基础版我们只做两个功能(因为其它的功能涉及的会比较多,索性就放在升级版里了,基础版先入个门) 登录: ⽤⼾输⼊账号,密码完成登录功…

华水2022年专升本计算机培养方案

华水2022年专升本计算机培养方案 文章目录 华水2022年专升本计算机培养方案计科第一学期第二学期第三学期第四学期 软工第一学期第二学期第三学期第四学期 计科 第一学期 通识必修课 大学外语线性代数离散数学 专业基础课 高级语言程序设计 专业选修课 Java 第二学期 通识…

我知道越来越多的专业摄影师在他们的修饰工作流程中使用 Portraiture,因为它可以让你在保持重要纹理的同时使皮肤非常光滑

Portraiture4.5新版功能亮点: 1. 高级皮肤修饰技术:4.5版本引入了更为先进的皮肤修饰算法,能够更自然地平滑皮肤,同时保留必要的皮肤纹理和细节,实现专业级别的人像修饰效果。 Portraiture4.5新版 2. 智能面部特征识…

计算机的错误计算(五十一)

摘要 探讨 的符号。 例1. 请确定 的符号[1]。 在计算过程中&#xff0c;若保留8位、16位、20位有效数字&#xff0c;则计算过程与结果分别如下: 若在Windows 10&#xff0c;Visual Studio 2010下计算&#xff1a; #include <math.h>double ysin(pow(2,(double)1…

Java11.0标准之重要特性及用法实例(二十一)

简介&#xff1a; CSDN博客专家&#xff0c;专注Android/Linux系统&#xff0c;分享多mic语音方案、音视频、编解码等技术&#xff0c;与大家一起成长&#xff01; 新书发布&#xff1a;《Android系统多媒体进阶实战》&#x1f680; 优质专栏&#xff1a; Audio工程师进阶系列…

(四)springboot2.7.6集成activit5.23.0之更换数据源

前面学习时&#xff0c;使用的内存数据库H2&#xff0c;实际使用时&#xff0c;一般会替换我们指定的数据库&#xff0c;这个时候要怎么配置呢&#xff1f; 1.查看activiti-spring-boot-starter-basic的spring.factories配置。 2.查看DataSourceProcessEngineAutoConfigurati…

诗意、甜美、可爱的水果:berry和cherry

我曾经在单词记忆的课上讲过&#xff0c;sweat(汗)和sweet(甜)的记忆之法&#xff0c;是甜这个单词sweet可以拟作甜丝丝来记忆&#xff0c;它是双写的-ee-结构&#xff0c;这样就能很好地与sweat相区别&#xff0c;同样desert(沙漠)和dessert(甜点)也是如此&#xff0c;和甜有关…

策略模式的一次应用

项目的需求是将一组图像按照相似度分类。 采用了模板匹配计算相似度的实现方式。 #include <opencv2/core.hpp> #include <openev2/core/utility.hpp> #include <opencv2/highqui.hpp> #include <openav2/imgproc.hpp> cv::Mat image matched; double …

基于微信小程序的游戏王交流平台设计与实现-计算机毕设 附源码 06533

基于微信小程序的游戏王交流平台设计与实现 摘要 本项目旨在设计并实现一款基于微信小程序的游戏王交流平台&#xff0c;旨在为广大游戏王爱好者提供一个交流互动的平台。通过该平台&#xff0c;用户可以分享游戏交流、分享卡片信息、参与线上比赛等活动&#xff0c;促进玩家之…