项目六 OpenStack虚拟机实例管理

2024-06-20 13:12

本文主要是介绍项目六 OpenStack虚拟机实例管理,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

任务一 理解OpenStack计算服务

1.1 •什么是Nova

Nova是OpenStack中的计算服务项目 ,计算虚拟机实例生命周期的所有活动都由 Nova 管理
Nova 提供统一的计算资源 服务。
Nova 需要下列 OpenStack 服务的 支持。
Ø Keystone :为所有的 OpenStack 服务提供身份管理和认证。
Ø Glance :提供计算用的镜像库
Ø Neutron :负责配置管理计算实例启动时的虚拟或物理网络连接。
Ø Placement :负责跟踪云中可用的资源 库存。

1.2 •Nova所用的虚拟化技术

KVM——通用的开放虚拟化技术。
Xen —— 部署 最快速、最安全、开源的虚拟化软件 技术。
Linux 容器 —— 单一 Linux 主机上提供多个隔离的 Linux 环境的操作系统级虚拟化技术
Hyper- vare ——Microsoft 公司推出的企业级虚拟化解决方案
VMware ESXi ——VMware 用于 创建和运行虚拟机和虚拟 设备的产品。
Baremetal Ironic—— 传统 的物理机服务

1.3 •Nova的系统架构

1.4 •虚拟机实例化流程

1用户执行Nova客户端提供的用于创建虚拟机实例的命令。

2API组件将请求转换为AMQP消息之后加入消息队列,通过消息队列调用Conductor组件。

3Conductor组件从消息队列中接收到虚拟机实例化请求消息后,进行一些准备工作。

4Conductor组件通过消息队列通知Scheduler组件选择一个合适的计算节点来创建虚拟机实例。

5Conductor组件从Scheduler组件处得到合适的计算节点信息后,通过消息队列通知Compute组件实现虚拟机实例的创建

1.5 •验证Nova服务

查看 当前运行的 Nova 服务。

[root@node-a ~]#  systemctl status *nova*.service

Ø openstack -nova- scheduler.service —— 计算 调度子 服务
Ø openstack -nova- compute.service —— 计算 服务
Ø openstack -nova- conductor.service —— 处理 需要调度的请求的子 服务
Ø openstack -nova- novncproxy.service —— 通过 VNC 连接访问正在运行的虚拟机实例提供一个 代理

1.6 •试用计算服务的API

Nova 支持 3 API 端点
Ø / :列出可用的版本。
Ø / v2 :计算 API 的第 1 个版本,可进行扩展。
Ø / v2.1 :除了使用 Microversion (小版本)之外,与 v2 版本相同。
列出 所有可用的主版本列表。

curl -s -H "X-Auth-Token: $OS_TOKEN"   http://localhost:8774/

试用 API

1)请求一个demo项目作用域的令牌。

2)导出环境变量OS_TOKEN,将其值设置为上述操作获取的令牌ID

3)尝试通过Nova API v2.1获取当前实例列表。

curl -s -H "X-Auth-Token: $OS_TOKEN"   http://localhost:8774/v2.1/servers

任务二 创建和管理虚拟机实例

2.1 •nova-api服务

nova-api服务接收和响应来自最终用户的计算API请求。
最终 用户不会直接发送 RESTful API 请求,而是通过 OpenStack 命令行、仪表板和其他需要跟 Nova 交换的组件 使用 API
•nova-api是外部访问并使用Nova提供的各种服务的唯一途径 ,也是客户端和 Nova 之间的中间层

2.2 •nova-scheduler服务

nova-scheduler 服务解决 选择启动虚拟机实例的计算节点的问题
nova-scheduler 服务按照 实例类型去选择合适的计算节点

2 )过滤器调度器调度过程。过滤器调度器的调度过程分为两个阶段。第 1 个阶段通过指定的过滤器选择满足条件的计算节点(运行 nova-compute 服务的主机),例如内存使用率低于 50% ,可以使用多个过滤器依次进行过滤。第 2 个阶段对过滤之后的主机列表进行权重计算并排序,选择最优(权重值最大)的计算节点来创建虚拟机实例。
这里展示调度过程的一个实例,如图 6-2 所示。刚开始有 6 个可用的计算节点主机,通过多个过滤器层层过滤,将主机 2 和主机 4 排除了。剩下的 4 个主机再通过计算权重与排序,按优先级从高到低依次为主机 5 、主机 3 、主机 6 和主机 1 ,主机 5 权重值最高,最终入选。
6-2  过滤调度器调度过程
3 )过滤器。当过滤器调度器需要执行调度操作时,会让过滤器对计算节点进行判断,返回 True (真)或 False (假)。 / etc /nova/ nova.conf 配置文件中的 scheduler_available_filters 选项用于配置可用的过滤器,默认所有 Nova 内置的过滤器都可以用于执行过滤操作。
scheduler_available_filters = nova.scheduler.filters.all_filters
另外还有一个 scheduler_default_filters 选项用于指定 nova-scheduler 服务要使用的过滤器,其默认值如下。
scheduler_default_filters = RetryFilter , AvailabilityZoneFilter , RamFilter , DiskFilter , ComputeFilter , ComputeCapabilitiesFilter , ImagePropertiesFilter , ServerGroupAntiAffinityFilter , ServerGroupAffinityFilter
过滤器调度器将按照选项值列表中的顺序依次过滤。各过滤器的简介如表 6-1 所示。
6-1  Nova 内置的过滤器
过滤器  说明
RetryFilter (再审过滤器)  用于过滤掉之前已经调度过的节点
AvailabilityZoneFilter (可用区域过滤器)  用于将不属于指定可用区域的计算节点过滤掉。为提高容灾性和提供隔离服务,可以将计算节点划分到不同的可用区域中
RamFilter (内存过滤器)  根据可用内存来调度,将不能满足实例类型内存需求的计算节点过滤掉
DiskFilter (磁盘过滤器)  根据可用磁盘空间来调度,将不能满足实例类型磁盘需求的计算节点过滤掉
CoreFilter (核心过滤器)  根据可用 CPU 核心来调度,将不能满足实例类型 vCPU 需求的计算节点过滤掉
ComputeFilter (计算过滤器)  只有 nova-compute 服务正常工作的计算节点才能够被 nova-scheduler 服务调度,这是必选的过滤器
ComputeCapabilitiesFilter (计算能力过滤器)  根据计算节点的特性来过滤
ImagePropertiesFilter (镜像属性过滤器)  根据所选镜像的属性来过滤
ServerGroupAntiAffinityFilter (服务器组反亲和性过滤器)  要求尽量将虚拟机实例分散部署到不同的计算节点上
ServerGroupAffinityFilter (服务器组亲和性过滤器)  要求尽量将虚拟机实例部署到同一个计算节点上
4 )权重计算。 nova-scheduler 服务可以使用多个过滤器依次进行过滤,过滤之后的节点再通过计算权重选出最合适的能够部署虚拟机实例的节点。如果有多个计算节点通过了过滤,那么最终选择哪个节点还需要进一步确定。可以为这些主机计算权重值并进行排序,得到一个最佳的计算节点。这个过程需要调用指定的各种 Weighter 模块,得出主机的权重值。
所有的权重实现模块位于 nova/scheduler/weights 目录下。目前 nova-scheduler 的默认权重实现模块是 RAMWeighter ,根据计算节点空闲的内存量来计算权重值,空闲内存越多,权重越大,虚拟机实例将被部署到当前空闲内存最多的计算节点上。
过滤器 调度器调度 过程

1阶段:通过指定的过滤器选择满足条件的计算节点。

2阶段:对过滤之后的主机列表进行权重计算并排序,选择最优的计算节点来创建虚拟机实例。

过滤器
Ø RetryFilter (再审过滤器
Ø AvailabilityZoneFilter (可用区域过滤器
Ø RamFilter (内存过滤器
Ø DiskFilter (磁盘过滤器
Ø CoreFilter (核心过滤器
Ø ComputeFilter (计算过滤器
Ø ComputeCapabilitiesFilter (计算能力过滤器
Ø ImagePropertiesFilter (镜像属性过滤器
Ø ServerGroupAntiAffinityFilter (服务器组反亲和性过滤器
Ø ServerGroupAffinityFilter (服务器组亲和性过滤器

权重计算
Ø nova-scheduler 服务可以使用多个过滤器依次进行过滤,过滤之后的节点再通过计算权重选出最合适的能够部署虚拟机实例的节点
Ø 所有的权重实现模块位于 nova/scheduler/weights 目录下
Ø 目前 nova-scheduler 的默认权重实现模块是 RAMWeighter ,根据计算节点空闲的内存量来计算权重 值。

2.3 •nova-compute服务

nova-compute 在计算节点上运行,负责管理节点上的虚拟机实例
创建 虚拟机实例最终需要与 Hypervisor 打交道。 Hypervisor 以驱动形式 OpenStack 系统中实现即插即 用。

                       nova-computeHypervisor一起实现OpenStack对虚拟机实例生命周期的管理。

2.4 •nova-conductor服务

nova-conductor 服务对数据库进行操作。
nova-conductor 作为 nova-compute 服务与数据库之间交互的中介,避免了直接访问由 nova-compute 服务创建的云数据库
nova-conductor nova-compute 与数据库分离之后提高了 Nova 的可伸缩性
nova-conductor 方便升级。

2.5 •Nova计算服务与Placement放置服务

OpenStack Stein 版本开始 Placement API 作为 一个独立的项目,提供的是放置服务,用于满足计算服务和其他任何服务的资源选择和使用的管理需求。
nova-compute 中的 Nova 资源跟踪器负责创建对应于运行资源跟踪器的计算主机资源提供者 记录。
nova-scheduler 负责为工作负载选择合适的目标主机。

2.6 •镜像和实例的关系

实例是在云中的计算节点上运行的虚拟机个体
虚拟机镜像为 虚拟机文件系统提供模板
实例所做的任何改变都不会影响基础镜像
计算 服务控制实例、镜像的存储和管理。
未运行虚拟机实例的基础镜像状态

2.7 •命令行的实例创建用法

查看 所需的前提 条件
Ø openstack flavor list           # 列出可用的实例类型
Ø openstack image list          # 列出可用的镜像
Ø openstack network list        # 列出可用的网络
Ø openstack security group list  # 列出可用的安全组

                                        openstack keypair list         #列出可用的密钥

创建实例命令

openstack server create

    (--image <镜像> | --volume <>)

    --flavor <实例类型>

    [--security-group <安全组>]

    [--key-name <密钥对>]

    [--property <服务器属性>]

    [--file <目的文件名=源文件名>]

    [--user-data <实例注入文件信息>]

    [--availability-zone <域名>]

    [--block-device-mapping <块设备映射>]

    [--nic <net-id=网络ID,v4-fixed-ip=IP地址,v6-fixed-ip=IPv6地址,port-id=端口UUID,auto,none>]

    [--network <网络>]

    [--port <端口>]

    [--hint <=>]

    [--config-drive <配置驱动器卷>|True]

    [--min <创建实例最小数量>]

    [--max <创建实例最大数量>]

    [--wait]

    <实例名>

2.8 •命令行的实例管理用法

1)获取列表

openstack server list

2)查看实例详情

openstack server show [--diagnostics] <实例名或ID >

3)启动实例

openstack server start <实例名或ID> [<实例名或ID > ...]

4)暂停实例及恢复

openstack server [pause  | unpause] <实例名或ID> [<实例名或ID > ...]

5)挂起实例及恢复

openstack server [suspend | resume] <实例名或ID> [<实例名或ID > ...]

6)废弃实例及恢复

openstack server [shelve  | unshelve]<实例名或ID> [<实例名或ID > ...]

7)关闭实例

openstack server stop  <实例名或ID> [<实例名或ID > ...]

8)重启实例

openstack server reboot [--hard | --soft] [--wait] <实例名或ID>

9)调整实例大小

openstack server resize   [--flavor <flavor> | --confirm | --revert]  [--wait]  <实例名或ID>

10)删除实例

openstack server delete <实例名或ID> [<实例名或ID > ...]

11)修改实例

openstack server set  [--name <新名称>]  [--root-password]  [--property <=>]

    [--state <状态>]  <实例名或ID>

2.9 •生成密钥对

创建 一个名为“ demo-pub” 的公钥。

openstack keypair create --public-key ~/.ssh/id_rsa.pub demo-pub

查看 当前的密钥对列表,列表中显示每个密钥对的名称和对应的指纹。

openstack keypair list

查看 指定密钥对的详细信息。

openstack keypair show demo-key

加上 --public-key 选项则仅显示指定密钥对的公钥。

openstack keypair show --public-key demo-key

使用 openstack keypair delete 命令可删除指定密钥对。

任务三  注入元数据实现虚拟机实例个性化配置

3.1 •元数据注入

通过 向虚拟机实例注入元数据 信息完成 个性化配置工作
元数据 信息分成两大
Ø 元数据 —— 结构化数据,以键值对形式注入虚拟机 实例。
Ø 用户数据 —— 结构化数据,通过文件或脚本的方式进行注入,支持多种文件 格式。
注入 机制分为 两种
Ø 元数据 服务 机制。
Ø 配置 驱动器机制
SSH 密钥 注入 实现过程

                   (1OpenStack创建一个SSH密钥对。

                   (2)创建虚拟机实例时选择该SSH密钥对。

                   (3)用户可以用该SSH密钥对的私钥直接登录实例。

3.2 •元数据服务机制

元数据 服务的 架构

虚拟机 实例通过元数据服务获取元数据的大致 流程

1)虚拟机实例通过项目网络将元数据请求发送到neutron-ns-metadata-proxy

2neutron-ns-metadata-proxy通过unix domain socket将请求发送给neutron- metadata-agent

3neutron-metadata-agent通过内部管理网络将请求转发给nova-api-metadata

4)获取的元数据被原路返回给发出请求的虚拟机实例。

3.3 •配置驱动器机制

配置 驱动器主要用于配置虚拟机实例的网络 信息。
配置 驱动器是一个特殊的文件系统。
配置驱动器的具体实现会根据 Hypervisor 和具体配置 有所不同。
使用配置驱动器对计算主机和镜像都有一定的要求
启用 配置驱动器, 可在 执行 openstack server create 命令创建虚拟机实例时使用 --config-drive true 选项,也在 / etc /nova/ nova.conf 配置文件中 设置 force_config_drive =true

3.4 •向虚拟机实例注入用户数据

在脚本中使用 cloud- config 指令,利用 cloud- init cc_set_passwords.py 模块为用户设置密码并启用密码登录方式。
需要传入的脚本示例

#cloud-config        #cloud-init会读取它开头的数据,这一行一定要写上

chpasswd:

   list: |

       root:abc123     #设置root密码

       fedora:abc123  #设置默认用户fedora的密码

   expire: false         #密码不过期

ssh_pwauth: true       #启用SSH密码登录(默认只能通过SSH密钥登录

3.5 •验证元数据服务机制

实例 可通过 http://169.254.169.254 访问元数据服务
元数据 服务支持两套 API
Ø OpenStack 元数据 API
Ø EC2 兼容的 API
获取 元数据 API 所支持的版本列表。

curl http://169.254.169.254/openstack

进一步 获取其中最新版本( latest )的元数据文件目录。

curl http://169.254.169.254/openstack/latest

查看 meta_data.json 文件的内容并以 JSON 格式 显示。

curl http://169.254.169.254/openstack/latest/meta_data.json | python -m json.tool

访问用户数据。

curl http://169.254.169.254/openstack/latest/user_data

3.6 •验证配置驱动器机制

通过 SSH 登录该实例 ,将 配置 驱动器挂载 / mnt /config 目录。

[fedora@fedora-newvm ~]$ su root                                       #切换到root身份操作

Password:

[root@fedora-newvm fedora]# mkdir -p /mnt/config                          #创建挂载目录

[root@fedora-newvm fedora]# mount /dev/disk/by-label/config-2 /mnt/config   #挂载配置驱动器

mount: /mnt/config: WARNING: device write-protected, mounted read-only.

[root@fedora-newvm fedora]# exit                                         #退出root身份操作

exit

执行 mount 命令查看当前挂载的 文件系统。

/dev/sr0 on /mnt/config type iso9660 (ro,relatime,nojoliet,check=s,map=n,blocksize=2048)

查看 该挂载目录下的内容,可以发现其中有两个目录。

[root@fedora-newvm fedora]# ls /mnt/config

ec2  openstack

查看 最新版本( latest )的元数据文件目录。

[root@fedora-newvm fedora]# ls /mnt/config/openstack/latest

meta_data.json  network_data.json  user_data  vendor_data2.json  vendor_data.json

任务四  增加一个计算节点

4.1 •Nova的物理部署

Nova 个组件和 服务部署 在计算节点和控制 节点节点
计算 节点上安装 Hypervisor 以运行虚拟机实例,只需要运行 nova-compute 服务
其他 Nova 组件和服务则一起部署在控制节点 上。
通过增加控制节点和计算节点,可以实现简单、方便的系统扩容

4.2 •Nova的部署模式

4.3 •准备双节点OpenStack云平台安装环境

添加 一个计算节点 node-b 192.168.199.32/24 ),为 2 个节点准备环境
更改 其主机名为“ node-b” ,将新的主机名追加到 / etc /hosts 配置文件中,并将第 1 个节点的主机名的解析添加进来,本例配置如下。

192.168.199.31   node-a node-a.localdomain

192.168.199.32   node-b node-b.localdomain

2 个节点主机名的解析也添加到第 1 个节点主机的 / etc /hosts 配置文件中。
设置 时间同步。第 2 个节点也与第 1 个节点一样配置 Chrony
编辑应答文件
编辑 packstack-answers-addnode.txt

CONFIG_COMPUTE_HOSTS=192.168.199.31,192.168.199.32

CONFIG_PROVISION_DEMO_FLOATRANGE=192.168.199.0/24

CONFIG_KEYSTONE_ADMIN_PW=ABC123456

CONFIG_KEYSTONE_DEMO_PW=ABC123456

使用修改过的应答文件运行 Packstack 安装器

[root@node-a ~]# packstack --answer-file=packstack-answers-addnode.txt

Installing:

Clean Up                                             [ DONE ]

Discovering ip protocol version                      [ DONE ]

root@192.168.199.32's password:                     #提供第2个节点root账户密码

Setting up ssh keys                                  [ DONE ]

Preparing servers                                    [ DONE ]

Copying Puppet modules and manifests                 [ DONE ]

Applying 192.168.199.31_controller.pp

192.168.199.31_controller.pp:                        [ DONE ]          

Applying 192.168.199.31_network.pp

192.168.199.31_network.pp:                           [ DONE ]       

Applying 192.168.199.31_compute.pp

Applying 192.168.199.32_compute.pp                     #应用第2个计算节点

192.168.199.31_compute.pp:                           [ DONE ]       

192.168.199.32_compute.pp:                           [ DONE ]       

Applying Puppet manifests                            [ DONE ]

Finalizing                                           [ DONE ]

最后登入仪表盘进行验证

任务五  迁移虚拟机实例

5.1 什么是实例冷迁移

冷迁移是一种非在线的迁移 方式。
冷迁移 主要 用于重新分配节点的计算资源,或者主机节点停机维护等场合
实例 冷迁移的功能与调整实例大小类似 ,只是冷 迁移不改变实例的实例 类型。
冷迁移不要求源和目的主机必须共享存储,但要求两者必须满足在计算节点间配置 nova 用户的无密码 SSH 访问。
默认只有云管理员角色能够执行实例迁移 操作。

5.2 •什么是实例热迁移

热迁移是一种在线的迁移方式,又称实时 迁移。
迁移过程中实例不会关闭,始终保持运行 状态。

5.3 •热迁移命令行用法

openstack server migrate

    [--live <目的主机>]

    [--shared-migration | --block-migration]

    [--disk-overcommit | --no-disk-overcommit]

    [--wait]

    <实例名或ID>

在计算节点之间配置 SSH 无密码访问

1)在两个节点上准备SSH密钥对及其配置文件。

Ø 使 SSH 可以进行非交互式登录。

[root@node-a ~]# echo -e 'StrictHostKeyChecking no' > /var/lib/nova/.ssh/config

Ø /var/lib/nova/. ssh /config 文件复制到 node-b 节点对应的目录中。

[root@node-a ~]# scp -r /var/lib/nova/.ssh/config node-b:/var/lib/nova/.ssh

2在两个节点上分别执行命令使nova用户可以登录。

usermod -s /bin/bash nova

3在两个节点上检查确认nova用户可以不用密码登录到对方节点

4)以root用户身份在两个节点上重新启动libvirt和计算服务。

systemctl restart libvirtd.service openstack-nova-compute.service

执行实例的冷迁移 操作
查看实例 列表
执行命令 迁移虚拟机 实例

[root@node-a ~(keystone_admin)]# openstack server migrate c76418b1-24ca- 43b0-8d49-70114d8e41e6

执行实例的冷迁移 操作
执行命令 确认调整。

[root@node-a ~(keystone_admin)]# openstack server resize confirm c76418b1-24ca-43b0- 8d49-70114d8e41e6

查看 实例列表
实现热迁移的通用配置

1)在每个计算节点上的/etc/nova/nova.conf配置文件中设置server_listeninstances_path参数

2确认每个计算节点具有相同的名称解析配置,以便它们能通过主机名互相访问

3启用root用户免密码SSH功能。

① 在1个节点上将root用户的SSH公钥加入authorized_keys文件。

② 在1个节点上将authorized_keys文件复制到第2个节点上。

2个节点上将root用户的SSH公钥追加到authorized_keys文件中。

④ 在第2个节点上将authorized_keys文件复制回第一个节点上。

4)如果启用防火墙,则应允许计算节点之间的libvirt通信

 

这篇关于项目六 OpenStack虚拟机实例管理的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1078231

相关文章

用Microsoft.Extensions.Hosting 管理WPF项目.

首先引入必要的包: <ItemGroup><PackageReference Include="CommunityToolkit.Mvvm" Version="8.2.2" /><PackageReference Include="Microsoft.Extensions.Hosting" Version="8.0.0" /><PackageReference Include="Serilog

eclipse运行springboot项目,找不到主类

解决办法尝试了很多种,下载sts压缩包行不通。最后解决办法如图: help--->Eclipse Marketplace--->Popular--->找到Spring Tools 3---->Installed。

swiper实例

大家好,我是燐子,今天给大家带来swiper实例   微信小程序中的 swiper 组件是一种用于创建滑动视图的容器组件,常用于实现图片轮播、广告展示等效果。它通过一系列的子组件 swiper-item 来定义滑动视图的每一个页面。 基本用法   以下是一个简单的 swiper 示例代码:   WXML(页面结构) <swiper autoplay="true" interval="3

Java面试题:通过实例说明内连接、左外连接和右外连接的区别

在 SQL 中,连接(JOIN)用于在多个表之间组合行。最常用的连接类型是内连接(INNER JOIN)、左外连接(LEFT OUTER JOIN)和右外连接(RIGHT OUTER JOIN)。它们的主要区别在于它们如何处理表之间的匹配和不匹配行。下面是每种连接的详细说明和示例。 表示例 假设有两个表:Customers 和 Orders。 Customers CustomerIDCus

关于如何更好管理好数据库的一点思考

本文尝试从数据库设计理论、ER图简介、性能优化、避免过度设计及权限管理方面进行思考阐述。 一、数据库范式 以下通过详细的示例说明数据库范式的概念,将逐步规范化一个例子,逐级说明每个范式的要求和变换过程。 示例:学生课程登记系统 初始表格如下: 学生ID学生姓名课程ID课程名称教师教师办公室1张三101数学王老师101室2李四102英语李老师102室3王五101数学王老师101室4赵六103物理陈

vue项目集成CanvasEditor实现Word在线编辑器

CanvasEditor实现Word在线编辑器 官网文档:https://hufe.club/canvas-editor-docs/guide/schema.html 源码地址:https://github.com/Hufe921/canvas-editor 前提声明: 由于CanvasEditor目前不支持vue、react 等框架开箱即用版,所以需要我们去Git下载源码,拿到其中两个主

React+TS前台项目实战(十七)-- 全局常用组件Dropdown封装

文章目录 前言Dropdown组件1. 功能分析2. 代码+详细注释3. 使用方式4. 效果展示 总结 前言 今天这篇主要讲全局Dropdown组件封装,可根据UI设计师要求自定义修改。 Dropdown组件 1. 功能分析 (1)通过position属性,可以控制下拉选项的位置 (2)通过传入width属性, 可以自定义下拉选项的宽度 (3)通过传入classN

springboot家政服务管理平台 LW +PPT+源码+讲解

3系统的可行性研究及需求分析 3.1可行性研究 3.1.1技术可行性分析 经过大学四年的学习,已经掌握了JAVA、Mysql数据库等方面的编程技巧和方法,对于这些技术该有的软硬件配置也是齐全的,能够满足开发的需要。 本家政服务管理平台采用的是Mysql作为数据库,可以绝对地保证用户数据的安全;可以与Mysql数据库进行无缝连接。 所以,家政服务管理平台在技术上是可以实施的。 3.1

vue3项目将所有访问后端springboot的接口统一管理带跨域

vue3项目将所有访问后端springboot的接口统一管理带跨域 一、前言1.安装Axios2.创建Axios实例3.创建API服务文件4.在组件中使用API服务 二、跨域三、总结 一、前言 在Vue 3项目中,统一管理所有访问后端Spring Boot接口的最佳实践是创建一个专门的API服务层。这可以让你的代码更加模块化、可维护和集中管理。你可以使用Axios库作为HTT

vscode-创建vue3项目-修改暗黑主题-常见错误-element插件标签-用法涉及问题

文章目录 1.vscode创建运行编译vue3项目2.添加项目资源3.添加element-plus元素4.修改为暗黑主题4.1.在main.js主文件中引入暗黑样式4.2.添加自定义样式文件4.3.html页面html标签添加样式 5.常见错误5.1.未使用变量5.2.关闭typescript检查5.3.调试器支持5.4.允许未到达代码和未定义代码 6.element常用标签6.1.下拉列表