Apache CloudStack Official Document 翻译节选(十三)

news2024/9/23 15:28:29

快速部署一朵 Apache CloudStack 云  (二)

部署一朵pache CloudStack 云

安装Apache CloudStack的云内管理服务组件

本部分我们将安装Apache CloudStack的云内管理服务组件及周边工具。

关于数据库的安装与配置:

我们会安装和配置MySQL并配置它与Apache CloudStack协同工作。由于CentOS-7.9中不再提供MySQL的二进制安装包,因此我们需要使用社区版的MySQL软件仓库安装MySQL-server:

【注意:本文档编写时使用了MySQL 的 version 5】

MySQL-server安装完毕后,我们需要修改配置文件 /etc/my.cnf ,在“[mysqld]”一节中添加如下内容:

【注意:Ubuntu 16 及以后的版本中,需要给MySQL-server的配置文件设置唯一的“server-id”】

现在我们可以启用MySQL-server了:

关于访问MySQL-server所需的Python连接驱动程序:

执行“yum -y install mysql-connector-python”安装访问MySQL-server的Python驱动。由于Apache CloudStack云管理程序中集成了访问MySQL-server所需的java驱动,因此不必单独安装mysql-connector-java了。

关于Apache CloudStack云管理程序:

执行“yum -y install cloudstack-management”以安装Apache CloudStack云管理服务程序。Apache CloudStack version 4.19依赖Java 11版本的java运行环境。尽管安装Apache CloudStack云管理服务程序时Java 11会被一起安装,但最好是把Java 11 设定为活跃JRE——尤其是在宿主机上有多个版本的Java环境时。执行“alternatives --config java”可以选定目标Java版本。

Java运行环境设定完毕后,接下来要初始化数据库了,当以下命令执行结束后会出现提示信息“CloudStack has successfully initialized the database.”:

现在数据库初始化结束了,我执行以下命令来完成设定Apache CloudStack云管理服务程序的最后一步:

关于系统级虚拟机的模板:

Apache CloudStack会使用一批系统级虚拟机来提供诸如接入虚拟机实例控制台、网络服务、存储管理等功能。我们需要下载系统级虚拟机模板、并放置到辅助存储上。一般我们会使用NFS-server上已经为我们创建好的本地挂载路径“/export/secondary”,否则就需要把辅助存储挂载到一个临时挂载点进行使用、而不是直接使用路径“/export/secondary”:

关于虚拟化引擎 KVM :

在本手册中,我们的Apache CloudStack 管理节点同时也承担了计算节点的角色,这就意味着设置计算节点的一些操作已经被我们在设置管理节点时提前执行了。但我们仍需要清除设置计算节点的完整步骤,它们是:设定宿主机网络、设定宿主机的主机名、关闭安全强化Linux、配置始终同步服务的客户端、配置Apache CloudStack的安装包仓库。

KVM-agent的安装是普通而平凡的,仅需一条命令。但是安装之后我们需要配置一些内容(主要是针对libvirt和QEMU)。KVM-agent的安装命令如下:

关于配置KVM:

我们需要配置的是libvirt和QEMU这两个部分。

我么需要使用QEMU VNC功能,因此需要在配置文件/etc/libvirt/qemu.conf中启用“vnc_listen=0.0.0.0”这行配置。

Apache CloudStack使用libvirt来管理虚拟机实例,为进一步熟悉通用要求,我们推荐执行以下配置内容。为了实现虚拟机实例的热迁移,libvirt监听了非安全型TCP连接。我们还需要关闭libvirt使用多播DNS广告的尝试。为此我们需要修改配置文件 /etc/libvirt/libvirtd.conf 中的如下内容:

而后在配置文件/etc/sysconfig/libvirtd启用“LIBVIRTD_ARGS="--listen"”,并重启libvirtd。为完整起见,通过执行“lsmod | grep kvm”确认KVM的配置结果。

至此,KVM的安装和配置就结束了,接下来要通过Apache CloudStack的web-Portal来配置“Apache CloudStack云”了。

关于Apache CloudStack云的配置:

通过浏览器访问Apache CloudStack云的web-Portal(本例中使用http://172.16.10.2:8080/client),默认账户是“admin”、默认密码是“password”。

专职地带(zone)是Apache CloudStack中的第二大被管理实体(第一大被管理实体是统辖区域【region】),我们首先要创建一个专职地带。在本例中,我们会创建一个高级别的专职地带,允许我们同时访问云内管理网和云外公网(通过给云内管理网和云外公网使用同一个CIDR地址块的不同范围实现)需要明确的是,这种网络规划千万不要在业务生产环境中使用、仅限于在概念验证环境中使用。在Apache CloudStack云的web-Portal中点击“继续安装”并更改登录密码。此时会弹出一个专职地带创建向导,选择“高级”并点击“下一步”。

专职地带配置详情:

在这个页面上,我们需要填入DNS服务器所在信息。Apache CloudStack可以区分内网DNS服务器和公网DNS服务器。内网DNS服务器被假定为仅能够解析内网的主机名,而公网DNS服务器对云内虚拟机实例提供了公网IP地址解析能力。Apache CloudStack允许同一个DNS服务器同时承担内网DNS服务器和公网DNS服务器角色,㘝这么做,必须确保云内网IP和公网IP皆可被路由到此DNS服务器。在我们的特定规划中,我们不为云内资源设定任何域名解析——尽管我们的确会把云内资源设定为看起来像云外的资源那样,因此我们也不会再这个规划中添加一个DNS服务器。

  1. Name——一般设定为一个永久性的描述名称,例如“zone1”或“ZhongtianDataCenter”
  2. IPv4 DNS 1——这是对公网的DNS服务器,可以设定为“114.114.114.114”
  3. IPv4 DNS 2——这是对公网的DNS服务器,可以设定为“8.8.8.8”
  4. Internal DNS1——这是对云内的DNS服务器,基于我们同一个CIDR网络的基本设定,这里可以填写成公网中的DNS服务器,例如“114.114.114.114”
  5. Internal DNS2——这是对云内的DNS服务器,基于我们同一个CIDR网络的基本设定,这里可以填写成公网中的DNS服务器,例如“8.8.8.8”
  6. Hypervisor——在本专职地带中药使用的虚拟化引擎,例如“KVM”

关于实体网路:

Apache CloudStack支持多种网络隔离方式。默认的VLAN格式方式已经能很好满足我们的需求了。为了提升网路性能和网路安全性,Apache CloudStack允许不同的网路流量跑在特定的专用网卡上(这种专用网卡是添加到虚拟化引擎宿主机上的)。在我们的特定规划中,我们不做任何改变,使用默认设置。

关于公网网路流量:

在Apache CloudStack部署过程中,可被公开访问的IP必须被分配。然而,由于我们是在特定规划中部署Apache CloudStack,因此我们会使用CIDR地址块的一部分填写在此处。

  1. Gateway——你的实体网路的网络关口,此处我们使用本规划中的CIDR地址块网络关口“192.168.136.2”(和本规划中的宿主机使用相同的网络关口)
  2. Netmask——你的实体网路的网络掩码,此处我们使用本规划中的CIDR地址块网络掩码“255.255.255.0”
  3. VLAN/VNI——你的实体网路中的VLAN信息,在我们的本次规划中此处应留空
  4. Start IP——用于公网NAT的起始IP,在我们的本次规划中可以填写“192.168.136.11”
  5. End IP——用于公网NAT的结束IP,在我们的本次规划中可以填写“192.168.136.20”

关于豆荚舱的配置:

在豆荚舱内我们会配置一段云内管理IP(这些IP会被分配给在这个实体机柜中的诸如“辅助存储”、“虚拟机实例控制台代理”之类的系统级虚拟机),这部分IP地址也被称为“预留IP”。这些IP依旧是我们规划中的CIDR地址块的一部分,例如可以是“192.168.136.21”到“192.168.136.30”。

  1. Pod Name——豆荚舱(实体机柜)的名称,可以使“pod1”或者“ZhangdeStateRack”
  2. Reserved system gateway——你实体网络中规划给这个机柜的网路关口,在本里规划中为CIDR地址块网络关口“192.168.136.2”(和本规划中的宿主机使用相同的网络关口)
  3. Reserved system netmask——你实体网络中规划给这个机柜的网路掩码,在本里规划中为CIDR地址块网络掩码“8.8.8.8”
  4. Start reserved system IPs——预留给系统级虚拟机使用的起始IP,在我们的本次规划中可以填写“192.168.136.21”
  5. End Reserved system IP——预留给系统级虚拟机使用的结束IP,在我们的本次规划中可以填写“192.168.136.30”

关于客户机网路流量:

为虚拟机实例配置可用的VLAN-ID范围,这个范围决定了当前这个豆荚舱中可以容纳多少个虚拟机实例的“局域网”。在我们当前的规划中,填写“100至200”这个范围就满足我们使用了。

关于宿主机集群:

一个豆荚舱中可以有多个宿主机集群、一个宿主机集群中可以有多个宿主机。在我们使用的规划中,一个豆荚舱中只存在一个宿主机集群,因此我们需要个这个宿主机集群命名(可以使“cluster1”或者“ZhangdeState”)。

关于宿主机:

在这里我们详述了一台虚拟化引擎宿主机的细节信息。在我们的当前规划中,Apache CloudStack的云管理服务节点192.168.136.209,同时也承担了Apache CloudStack计算节点的角色,因此我们依次填入了下图中的信息:

  1. Hostname——需要填写计算节点的hostname或者IP地址,按照既定规划我们填入了“192.168.136.209”
  2. Username——需要填写登录计算节点OS的用户名,推荐填写“root”(OS为CentOS-7-2009)
  3. Password——需要填写登录计算节点OS的用户名登录密码(OS为CentOS-7-2009)

关于主存储:

宿主机集群设定到了这一步,就需要填写cluster的主存储信息了:

  1. Name——主存储的名称,自定义填写,例如“Primary1”或“primary-NFS-192.168.136.209”
  2. Scope——主存储可被使用的范围,可以选择“cluster”或“zone”
  3. Protocol——主存储使用的网络协议,此处按照既定规划我们选用了“NFS”
  4. Server——主存储服务所在主机的hstname或IP地址,此处按照既定规划我们填写了NFS-server的IP地址“192.168.136.209”
  5. Path——主存储的关口路径,按照既定规划我们填入“/export/primary”

关于辅助存储:

一般我们需要填写一下信息:

  1. Provider——辅助存储的供应协议,按照既定规划我们选择“NFS”
  2. Name——辅助存储的名称,自定义填写,例如“Secondary1”或“secondary-NFS-192.168.136.209”
  3. NFS server——辅助储服务所在主机的hstname或IP地址,此处按照既定规划我们填写了NFS-server的IP地址“192.168.136.209”
  4. Path——辅助存储的关口路径,按照既定规划我们填入“/export/secondary”

至此,一个专职地带便配置完毕,现在可以启动一个Apache CloudStack专职地带了。

要确认你所部署完毕的Apache CloudStack是否正常,可点击左侧的“基础设施”查看“系统虚拟机”,应该可以看到“S-2-VM”和“V-1-VM”处于拉起状态且正在运行。而后来到“模板”点击“虚拟机模板”,点击下载Apache CloudStack的内置虚拟机模板。也可以使用“模板”下的“ISO”,从一个文件共享服务器上把一个ISO文件注册到Apache CloudStack上(本例中使用了http服务作为ISO文件共享服务器)。此时便可以使用虚拟机怒版或者ISO镜像文件创建一个虚拟机实例了。

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

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

相关文章

【机器学习入门】一文读懂非线性支持向量机SVM

前面已经分别介绍了基于硬间隔最大化的线性可分支持向量机、基于软间隔最大化的线性支持向量机,这次来总结下使用核函数来解决非线性可分问题的非线性支持向量机。 【机器学习入门】一文读懂线性可分支持向量机【机器学习入门】一文读懂线性支持向量机SVM 一 非线…

GCViT实战:使用GCViT实现图像分类任务(一)

摘要 GC ViT(全局上下文视觉转换器)是一种创新的深度学习架构,旨在提升计算机视觉任务中的参数和计算效率。它通过将全局上下文自注意力模块与标准的局部自注意力相结合,有效地建模长程和短程空间交互,同时避免了传统…

IJCAI-信也科技杯全球AI大赛-华东师范大学亚军队伍分享

作者:彭欣怡(找不到工作版) 华东师范大学; 马千里(搬砖版) 虾皮; 指导:闫怡搏(科研版) 华东师范大学 比赛链接:https://ai.ppdai.com/mirror/goToMirrorDetailSix?mirrorId34 前言 这是我们首次参加语音领域的比赛,最初只是抱着…

深度学习之 OpenCV 图像边缘检测算法解析及代码演示

引言 在计算机视觉领域,边缘检测是一种重要的图像预处理技术,用于识别图像中对象的边界。边缘检测有助于提取图像的关键特征,这对于后续的图像分析(如物体识别、运动检测等)至关重要。OpenCV 是一个强大的计算机视觉库…

Zabbix 企业级高级应用(Zabbix Enterprise Advanced Application)

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:Linux运维老纪的首页…

备忘录1【java环境变量手动更改】

B站视屏链接:https://www.bilibili.com/video/BV1cV8BeCESA?vd_source3e4562475feb55327a8adde111050d4e 1.电脑设置 2.系统-------系统信息 3.高级系统设置 4.环境变量 5.系统变量中,更改之前创建好的JAVA_HOME 版本可以将1.8改成本机安装的其他版本…

Java进阶13讲__第九讲

Stream流 1. 案例初体验 package cn.hdc.oop9.stream.using;import java.util.LinkedList; import java.util.List; import java.util.stream.Collectors; import java.util.stream.Stream;public class t1 {public static void main(String[] args) {LinkedList<String&g…

认知杂谈30

今天分享 有人说的一段争议性的话 I I 《豁然开朗&#xff1a;男性成长的关键转折》 在男人的人生旅程当中啊&#xff0c;最金贵的可不是那些让人眼馋的钱财啥的&#xff0c;也不是啥惊天动地的事儿&#xff0c;更不是偶尔碰到的贵人帮忙。真正无价的宝贝呢&#xff0c;是在…

培训第四十一天(docker-compose一键部署项目,haproxy容器代理多个web或java容器)

# 创建脚本&#xff0c;可以在java环境中运行任何的jar包或者war包#!/bin/bash/usr/local/jdk/bin/java -jar /java/src/*.?ar 一、思路分析&#xff1a; &#xff08;1&#xff09;nginx 1、下载镜像&#xff0c;将本地的dist项目的目录挂载在容器的/usr/share/nginx/html…

论文解读:Visual Prompt Tuning

Comment: ECCV2022 摘要 当前调整预训练模型的方法需要更新backbone的全部参数&#xff0c;即完全微调。本文提出了一种高效的方法VPT&#xff0c;成为视觉中大规模transformer模型完全微调的替代方案。从微调大规模语言模型中吸取经验&#xff0c;VPT仅在输入空间中引入少数…

【C语言】通讯录的实现(详解)

通讯录的实现 主要用到的知识&#xff1a; 1.结构体相关知识 2.枚举 3.多文件 在学习完结构体和枚举后就可以利用学过的知识去实现一个通讯录了 1.通讯录要求 用C语言所学知识实现下面这样一个通讯录 1.通讯录100个联系人 2.姓名 性别 年龄 电话 地址 3.添加联系人 4.删除指…

SQL server数据库实现远程跨服务器定时同步传输数据

项目背景 公司新建项目&#xff0c;需要访问生产数据&#xff0c;但是规定不能直接访问生产数据库服务器&#xff0c;所以得考虑通过中间库的形式实现。经过评估项目需求 &#xff0c;以及当前拥有的环境。 需求&#xff1a; 1.用户不需要实时获取生产数据 2.用户只需要指定的…

Python青少年简明教程:函数

Python青少年简明教程&#xff1a;函数 在Python中&#xff0c;函数是一段可重用的代码块&#xff0c;用于执行特定的任务。函数能够接受输入参数&#xff0c;执行特定的操作&#xff0c;并返回结果。 Python提供了许多内置函数&#xff0c;如print()、len()、eval()等&#x…

Java基于微信小程序的校园兼职小程序

博主介绍&#xff1a;✌stormjun、7年大厂程序员经历。全网粉丝12w、csdn博客专家、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&#x1f3fb; 精彩专栏推荐订阅&#x1f447;&…

shadertoy-sdf 操作

vec3 col getBackgroundColor(uv); float d1 sdCircle(uv, 0.1, vec2(0., 0.)); float d2 sdSquare(uv, 0.1, vec2(0.15, 0));float res; // result1、union res min(d1, d2); // union2、intersection res max(d1, d2); // intersection3、subtraction res max(-d1, d…

Python实战案例数据合并订单表和商品价格表数据

有如下数据&#xff0c;订单表和商品价格表&#xff0c;进行数据合并&#xff0c;输出客户需要的效果。 数据样例&#xff1a;&#x1f447; 订单表: 商品价格表: 最终效果&#xff1a; 01实现思路 目的是将订单数据和商品价格数据按照商品id和时间进行匹配&#xff0c;以…

基于nodejs+vue+uniapp的学习资料销售平台小程序

开发语言&#xff1a;Nodejs框架&#xff1a;expressuniapp数据库&#xff1a;mysql 5.7&#xff08;一定要5.7版本&#xff09;数据库工具&#xff1a;Navicat11开发软件&#xff1a;VS Code 系统展示 管理员登录 管理员主界面 用户管理 学习资料管理 订单管理 系统管理 用户…

未来已来:2024年远程控制行业的新星工具推荐

个人用户对于设备管理的便捷需求&#xff0c;远程控制软件都以其独特的优势&#xff0c;搭建起一座座沟通的桥梁。今天&#xff0c;我们就来探索一款集高效性、安全性与易用性于一体的远程控制软件。为了软件得到的方便我会介绍比如能从向日葵远程控制官网、TD官网、GH官网能直…

用RPC Performance Inspector 优化你的区块链

目录 什么是RPC&#xff1f; RPC Performance Inspector 是做什么的&#xff1f; 为什么需要这个工具&#xff1f; 如何使用它&#xff1f; 适合谁用&#xff1f; 如何使用&#xff1f; 什么是RPC&#xff1f; RPC Performance Inspector 是一个专门用于测试和分析RPC性能…

C语言 动态内存管理 #动态内存函数的介绍 #常见的动态内存错误 #C\C++ 程序的内存开辟 #柔性数组

文章目录 前言 一、为什么存在动态内存分配 二、动态内存函数的介绍 1、malloc 2、free 3、calloc 4、realloc realloc 的工作原理&#xff1a; 三、常见的动态内存错误 1、对NULL指针的解引用操作 2、对动态开辟空间的越界访问 3、对非动态开辟的空间使用 free 来释…