OpenStack入门体验

1.1云计算概述

相信大家都听到很多的阿里云、腾讯云、百度云等等这些词,那到底什么是云计算?云
计算又能做什么?

1.1.1什么是云计算

云计算(cloud computing)是一种基于网络的超级计算模式,基于用户的不同需求,提供所需的资源,包括计算资源、存储资源、网络资源等。云计算服务务运行在若干台高性能物理服务器之上,提供每秒10万亿次的运算能力,可以用于模拟核爆炸、预测气候变化以及市场发展趋势。

云计算有广义和狭义之分。
> 狭义的云计算是指通过网络按需向用户提供IT基础设施,包括硬件、平台和软件,提
供资源的网络被称为"云"。

> 广义的云计算是指服务的交付和使用模式,通过网络以按需、、易扩展的方式获得所需的
服务。

1.1.2云计算的服务模型

云计算模型中有laaS (Infrastructure as a Service,基础架构即服务)、Paas(Platform
as a Service,平台即服务)、SaaS (Software as a Service,软件即服务)三种基本服务模型

1.laaS

laas提供最底层的IT基础设施服务,包括处理能力、存储空间、网各资源等。

2.PasS

Paas是把已经安装好开发环境的系统平台作为一种服务通通过互联网提供给用户。

3.Saas

Saas可直接通过互联网为用户提供软件和应用程序等服务

1.1.3OpenStack概述

OpenStack 是一个旨在为公共及私有云的建设与管理提供软件的开源项目。它不是一个单一的软件,而是由多个组件组成的云计算平台。这些组件相互协作,提供诸如创建和管理虚拟机、分配和管理存储资源、配置网络等功能。​

OpenStack 主要包含以下核心组件:​

  1. Nova:计算服务组件,负责虚拟机实例的生命周期管理,包括创建、启动、停止、删除虚拟机等操作。​
  2. Cinder:块存储服务组件,为虚拟机提供持久化的块存储设备,类似于我们在物理服务器上使用的硬盘。​
  3. Neutron:网络服务组件,用于管理和配置云环境中的网络,包括创建网络、子网、路由器,以及配置安全组等网络功能。​
  4. Glance:镜像服务组件,用于存储和管理虚拟机镜像,用户可以通过 Glance 上传、下载和共享镜像。​
  5. Horizon:OpenStack 的 Web 管理界面,通过图形化的方式,方便用户对 OpenStack 资源进行管理和操作,无需频繁使用命令行。​
  6. Keystone:身份认证服务组件,负责用户身份验证、权限管理和服务目录管理,确保只有授权用户才能访问相应的资源。​

了解这些核心组件的基本功能,有助于我们在后续的操作中更好地理解和使用 OpenStack。

1.2 OpenStack一键部署

1.2.1环境介绍

  • CPU:至少 4 核及以上​
  • 内存:16GB 及以上​
  • 存储:100GB 及以上可用磁盘空间
  • 操作系统:Ubuntu 20.04 LTS 或 CentOS 8(本次实验以 Ubuntu 20.04 LTS 为例)​
  • 网络:确保实验环境能够连接互联网,以便安装所需的软件包和依赖项​

在准备好实验环境后,我们还需要对操作系统进行一些基本的配置,如更新系统软件包、设置主机名和网络配置等。

  1. 更新系统软件包​

在终端中执行以下命令,更新系统已安装的软件包到最新版本:

sudo apt update

sudo apt upgrade -y

2设置主机名

执行以下命令设置主机名(假设我们将主机名设置为 openstack - node):

sudo hostnamectl set - hostname openstack - node

3关闭防火墙和 SELinux(仅在测试环境中)​

为了避免防火墙和 SELinux 对 OpenStack 服务造成干扰,在测试环境中可以将它们关闭。执行以下命令关闭防火墙:​

TypeScript

取消自动换行复制

sudo ufw disable​

对于 CentOS 系统,还需要关闭 SELinux,编辑/etc/selinux/config文件,将SELINUX的值改为disabled,然后重启系统使更改生效。​

三、安装 OpenStack 软件包​

(一)安装 OpenStack 源​

OpenStack 官方提供了稳定的软件源,我们可以通过添加源来安装 OpenStack 相关软件包。执行以下命令添加 OpenStack 源:​

TypeScript

取消自动换行复制

sudo apt - install software - properties - common​

sudo add - apt - repository cloud - archive:ussuri​

sudo apt update​

这里我们使用的是 OpenStack Ussuri 版本的源,你也可以根据自己的需求选择其他版本。​

(二)安装数据库​

OpenStack 的多个组件需要使用数据库来存储配置和运行数据,我们选择安装 MySQL 数据库。执行以下命令安装 MySQL:​

TypeScript

取消自动换行复制

sudo apt - install mariadb - server python3 - pymysql​

安装完成后,对 MySQL 进行安全配置,执行以下命令:​

TypeScript

取消自动换行复制

sudo mysql_secure_installation​

按照提示设置 root 用户密码,删除匿名用户、禁止 root 远程登录、删除 test 数据库等操作,以提高数据库的安全性。​

(三)安装消息队列服务​

OpenStack 组件之间通过消息队列进行通信,我们选择安装 RabbitMQ 作为消息队列服务。执行以下命令安装 RabbitMQ:​

TypeScript

取消自动换行复制

sudo apt - install rabbitmq - server​

安装完成后,添加一个 OpenStack 用户,并赋予其访问权限:​

TypeScript

取消自动换行复制

sudo rabbitmqctl add_user openstack password​

sudo rabbitmqctl set_permissions openstack ".*" ".*" ".*"​

这里将password替换为你设置的密码。​

(四)安装身份认证服务(Keystone)​

  1. 创建数据库​

登录 MySQL 数据库:​

TypeScript

取消自动换行复制

sudo mysql - u root - p​

输入之前设置的 root 密码后,执行以下 SQL 语句创建 Keystone 数据库:​

TypeScript

取消自动换行复制

CREATE DATABASE keystone;​

GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'localhost' IDENTIFIED BY 'password';​

GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'%' IDENTIFIED BY 'password';​

FLUSH PRIVILEGES;​

EXIT;​

将password替换为你设置的密码。​

  1. 安装 Keystone 软件包​

执行以下命令安装 Keystone:​

TypeScript

取消自动换行复制

sudo apt - install keystone python3 - keystoneclient apache2 libapache2 - mod - wsgi - python3​

  1. 配置 Keystone​

编辑/etc/keystone/keystone.conf文件,找到并修改以下配置项:​

TypeScript

取消自动换行复制

[database]​

connection = mysql+pymysql://keystone:password@localhost/keystone​

[token]​

provider = fernet​

将password替换为你设置的密码。​

  1. 初始化 Keystone 数据库​

执行以下命令初始化 Keystone 数据库:​

TypeScript

取消自动换行复制

sudo su - s /bin/bash - c "keystone-manage db_sync" keystone​

  1. 配置 Fernet 令牌​

执行以下命令初始化 Fernet 密钥:​

TypeScript

取消自动换行复制

sudo keystone - manage fernet_setup --keystone - user keystone --keystone - group keystone​

sudo keystone - manage credential_setup --keystone - user keystone --keystone - group keystone​

  1. 启动 Keystone 服务​

重启 Apache 服务使配置生效:​

TypeScript

取消自动换行复制

sudo systemctl enable --now apache2​

  1. 配置 Keystone 服务端点​

通过命令行设置 Keystone 服务端点:​

TypeScript

取消自动换行复制

export OS_USERNAME=admin​

export OS_PASSWORD=password​

export OS_PROJECT_NAME=admin​

export OS_USER_DOMAIN_NAME=Default​

export OS_PROJECT_DOMAIN_NAME=Default​

export OS_AUTH_URL=http://controller:5000/v3​

export OS_IDENTITY_API_VERSION=3​

openstack endpoint create --region RegionOne identity public http://controller:5000/v3​

openstack endpoint create --region RegionOne identity internal http://controller:5000/v3​

openstack endpoint create --region RegionOne identity admin http://controller:35357/v3​

将password替换为你设置的密码。​

(五)安装镜像服务(Glance)​

  1. 创建数据库​

登录 MySQL 数据库,执行以下 SQL 语句创建 Glance 数据库:​

TypeScript

取消自动换行复制

CREATE DATABASE glance;​

GRANT ALL PRIVILEGES ON glance.* TO 'glance'@'localhost' IDENTIFIED BY 'password';​

GRANT ALL PRIVILEGES ON glance.* TO 'glance'@'%' IDENTIFIED BY 'password';​

FLUSH PRIVILEGES;​

EXIT;​

将password替换为你设置的密码。​

  1. 创建服务用户和端点​

创建 Glance 服务用户:​

TypeScript

取消自动换行复制

openstack user create --domain default --password - prompt glance​

输入密码后,将 Glance 用户添加到service项目,并赋予admin角色:​

TypeScript

取消自动换行复制

openstack role add --project service --user glance admin​

创建 Glance 服务实体:​

TypeScript

取消自动换行复制

openstack service create --name glance --description "OpenStack Image" image​

创建 Glance 服务端点:​

TypeScript

取消自动换行复制

openstack endpoint create --region RegionOne image public http://controller:9292​

openstack endpoint create --region RegionOne image internal http://controller:9292​

openstack endpoint create --region RegionOne image admin http://controller:9292​

  1. 安装 Glance 软件包​

执行以下命令安装 Glance:​

TypeScript

取消自动换行复制

sudo apt - install glance​

  1. 配置 Glance​

编辑/etc/glance/glance - api.conf和/etc/glance/glance - registry.conf文件,找到并修改以下配置项:​

TypeScript

取消自动换行复制

[database]​

connection = mysql+pymysql://glance:password@localhost/glance​

[keystone_authtoken]​

auth_url = http://controller:5000/v3​

memcached_servers = controller:11211​

auth_type = password​

project_domain_name = Default​

user_domain_name = Default​

project_name = service​

username = glance​

password = password​

[paste_deploy]​

flavor = keystone​

将password替换为你设置的密码。​

  1. 初始化 Glance 数据库​

执行以下命令初始化 Glance 数据库:​

TypeScript

取消自动换行复制

sudo su - s /bin/bash - c "glance-manage db_sync" glance​

  1. 启动 Glance 服务​

执行以下命令启动 Glance 服务:​

TypeScript

取消自动换行复制

sudo systemctl enable glance - api glance - registry​

sudo systemctl start glance - api glance - registry​

(六)安装计算服务(Nova)​

  1. 创建数据库​

登录 MySQL 数据库,执行以下 SQL 语句创建 Nova 数据库:​

TypeScript

取消自动换行复制

CREATE DATABASE nova;​

GRANT ALL PRIVILEGES ON nova.* TO 'nova'@'localhost' IDENTIFIED BY 'password';​

GRANT ALL PRIVILEGES ON nova.* TO 'nova'@'%' IDENTIFIED BY 'password';​

FLUSH PRIVILEGES;​

EXIT;​

将password替换为你设置的密码。​

  1. 创建服务用户和端点​

创建 Nova 服务用户:​

TypeScript

取消自动换行复制

openstack user create --domain default --password - prompt nova​

输入密码后,将 Nova 用户添加到service项目,并赋予admin角色:​

TypeScript

取消自动换行复制

openstack role add --project service --user nova admin​

创建 Nova 服务实体:​

TypeScript

取消自动换行复制

openstack service create --name nova --description "OpenStack Compute" compute​

创建 Nova 服务端点:​

TypeScript

取消自动换行复制

openstack endpoint create --region RegionOne compute public http://controller:8774/v2.1/%\(tenant_id\)s​

openstack endpoint create --region RegionOne compute internal http://controller:8774/v2.1/%\(tenant_id\)s​

openstack endpoint create --region RegionOne compute admin http://controller:8774/v2.1/%\(tenant_id\)s​

  1. 安装 Nova 软件包​

执行以下命令安装 Nova:​

TypeScript

取消自动换行复制

sudo apt - install nova - compute​

  1. 配置 Nova​

编辑/etc/nova/nova.conf文件,找到并修改以下配置项:​

TypeScript

取消自动换行复制

[database]​

connection = mysql+pymysql://nova:password@localhost/nova​

[DEFAULT]​

transport_url = rabbit://openstack:password@controller​

my_ip = <你的服务器IP地址>​

use_neutron = True​

firewall_driver = nova.virt.firewall.NoopFirewallDriver​

[api]​

auth_strategy = keystone​

[keystone_authtoken]​

auth_url = http://controller:5000/v3​

memcached_servers = controller:11211​

auth_type = password​

project_domain_name = Default​

user_domain_name = Default​

project_name = service​

username = nova​

password = password​

[vnc]​

enabled = True​

vncserver_listen = 0.0.0.0​

vncserver_proxyclient_address = $my_ip​

novncproxy_base_url = http://controller:6080/vnc_auto.html​

[glance]​

api_servers = http://controller:9292​

[oslo_concurrency]​

lock_path = /var/lib/nova/tmp​

将password替换为你设置的密码,并将<你的服务器IP地址>替换为实际的服务器 IP 地址。​

  1. 初始化 Nova 数据库​

执行以下命令初始化 Nova 数据库:​

TypeScript

取消自动换行复制

sudo su - s /bin/bash - c "nova-manage api_db sync" nova​

sudo su - s /bin/bash - c "nova-manage db sync" nova​

  1. 启动 Nova 服务​

执行以下命令启动 Nova 服务:​

TypeScript

取消自动换行复制

sudo systemctl enable nova - compute​

sudo systemctl start nova - compute​

(七)安装网络服务(Neutron)​

  1. 创建数据库​

登录 MySQL 数据库,执行以下 SQL 语句创建 Neutron 数据库:​

TypeScript

取消自动换行复制

CREATE DATABASE neutron;​

GRANT ALL PRIVILEGES ON neutron.* TO 'neutron'@'localhost' IDENTIFIED BY 'password';​

GRANT ALL PRIVILEGES ON neutron.* TO 'neutron'@'%' IDENTIFIED BY 'password';​

FLUSH PRIVILEGES;​

EXIT;​

将password替换为你设置的密码。​

  1. 创建服务用户和端点​

创建 Neutron 服务用户:​

TypeScript

取消自动换行复制

openstack user create --domain default --password - prompt neutron​

输入密码后,将 Neutron 用户添加到service项目,并赋予admin角色:​

TypeScript

取消自动换行复制

openstack role add --project service --user neutron admin​

创建 Neutron 服务实体:​

TypeScript

取消自动换行复制

openstack service create --name neutron --description "OpenStack Networking" network​

创建 Neutron 服务端点:​

TypeScript

取消自动换行复制

openstack endpoint create --region RegionOne network public http://controller:9696​

openstack endpoint create --region RegionOne network internal http://controller:9696​

openstack endpoint create --region RegionOne network admin http://controller:9696​

  1. 安装 Neutron 软件包​

执行以下命令安装 Neutron:​

TypeScript

取消自动换行复制

sudo apt - install neutron - server neutron - plugin - ml2 neutron - linuxbridge - agent neutron - dhcp - agent neutron - l3 - agent​

  1. 配置 Neutron​

编辑/etc/neutron/neutron.conf文件,找到并修改以下配置项:​

TypeScript

取消自动换行复制

[database]​

connection = mysql+pymysql://neutron:password@localhost/neutron​

[DEFAULT]​

core_plugin = ml2​

service_plugins = router​

transport_url = rabbit://openstack:password@controller​

auth_strategy = keystone​

notify_nova_on_port_status_changes = True​

notify_nova_on_port_data_changes = True​

[keystone_authtoken]​

auth_url = http://controller:5000/v3​

memcached_servers = controller:11211​

auth_type = password​

project_domain_name = Default​

user_domain_name = Default​

project_name = service​

username = neutron​

password = password​

[nova]​

auth_url = http://controller:5000/v3​

auth_type = password​

project_domain_name = Default​

user_domain_name = Default​

region_name = RegionOne​

project_name = service​

username = nova​

password = password​

将password替换为你设置的密码。​

编辑/etc/neutron/plugins/ml2/ml2_conf.ini文件,找到并修改以下配置项:​

TypeScript

取消自动换行复制

[ml2]​

type_drivers = flat,vlan,vxlan​

tenant_network_types = vxlan​

mechanism_drivers = linuxbridge,l2population​

extension_drivers = port_security​

[ml2_type_flat]​

flat_networks = provider​

[securitygroup]​

enable_ipset = True​

编辑/etc/neutron/plugins/ml2/linuxbridge_agent.ini文件,找到并修改以下配置项:​

TypeScript

取消自动换行复制

[linux_bridge]​

physical_interface_mappings = provider:eth0​

[vxlan]​

enable_vxlan = True​

local_ip = <你的服务器IP地址>​

l2_population = True​

[securitygroup]​

enable_security_group = True​

firewall_driver = neutron.agent.linux.iptables_firewall.IptablesFirewallDriver​

将<你的服务器IP地址>替换为实际的服务器 IP 地址。​

编辑/etc/neutron/dhcp_agent.ini文件,找到并修改以下配置项:​

TypeScript

取消自动换行复制

[DEFAULT]​

interface_driver = linuxbridge​

dhcp_driver = neutron.agent.linux.dhcp.Dnsmasq​

enable_isolated_metadata = True​

编辑/etc/neutron/l3_agent.ini文件,找到并修改以下配置项:​

TypeScript

取消自动换行复制

[DEFAULT]​

interface_driver = linuxbridge​

  1. 初始化 Neutron 数据库​

执行以下命令初始化 Neutron 数据库:​

TypeScript

取消自动换行复制

sudo</doubaocanvas>​

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

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

相关文章

RK 安卓10/11平台 HDMI-IN 调试

这篇文章我们介绍一下在安卓9、10、11的版本上&#xff0c;rk平台的hdmi-in功能是如何实现的&#xff0c;下篇文章我们再介绍安卓12之后的版本有了什么变化。希望对在rk平台调试hdmi-in功能的朋友有一些帮助。 目录 &#xff08;1&#xff09;概述 &#xff08;2&#xff09;…

MongoDB学习记录(快速入门)

MongoDB核心 基础概念 数据库 数据库是按照数据结构来组织、存储和管理数据的仓库。在内存中运行的&#xff0c;一旦程序运行结束或者计算机断电&#xff0c;程序运行中的数据都会丢失。我们需要将一些程序运行的数据持久化到硬盘之中&#xff0c;以确保数据的安全性。数据库…

阿里一面:微服务拆分需要考虑什么因素?

要拆分微服务&#xff0c;首先我们要了解微服务拆了会有什么问题&#xff1f;怎么合理拆服务&#xff1f; 拆分服务会带来什么问题&#xff1f; 举个电商系统下单扣库存的例子。 对于单体应用&#xff0c;通讯在进程内部进行&#xff0c;下单方法调用扣库存方法&#xff0c;…

3D高斯泼溅和4D高斯

1.高斯函数 想象你往平静的湖水里扔一块石头&#xff0c;水波会以石头落点为中心向外扩散&#xff0c;形成一个逐渐衰减的圆形波纹。高斯函数的形状就和这个波纹类似&#xff1a; 中心最高&#xff08;石头落点&#xff0c;波峰最强&#xff09;。越往外&#xff0c;高度&…

comfyui插件和comfyui mac安装

mac comfyui安装包 ComfyUI.zip&#xff0c;官方最新0.3.40&#xff0c;如果后续官方有迭代&#xff0c;可以直接通过git更新源码升级 comfyui插件下载&#xff0c;解压放到custom_nodes目录下&#xff0c;包含 comfyui-animatediff-evolved&#xff08;视频插件&#xff09; 和…

面试题SpringCloud

SpringCloud有哪些特征&#xff1f; 分布式/版本化配置服务注册与发现路由服务到服务的调用负载均衡断路器领导选举和集群状态分布式消息传递 SpringCloud核心组件&#xff1f; Eureka 注册中心Ribbon 客户端负载均衡Hystrix&#xff1a; 服务容错处理Feign:声明式Rest客户端Zu…

ASR-PRO语音识别可能出现的问题

ASR-PRO语音识别可能出现的问题 4月份有一天刷到牢大/爱丽丝语音自开关灯设备&#xff0c;心血来潮&#xff0c;博主也是浅尝了一下&#xff0c;由此也总结一下&#xff0c;实现此项目会出现的问题。 在实现爱丽丝开关灯模块时ASRPRO语音识别可能出现的问题如下&#xff1a; …

苍穹外卖--缓存菜品Spring Cache

Spring Cache是一个框架&#xff0c;实现了基于注解的缓存功能&#xff0c;只需要简单地加一个注解&#xff0c;就能实现缓存功能。 Spring Cache提供了一层抽象&#xff0c;底层可以切换不同的缓存实现&#xff0c;例如&#xff1a; ①EHCache ②Caffeine ③Redis 常用注解…

个人简历制作MarkDown模板

MarkDown制作个人简历的模板放在了github上&#xff0c;大家如有需求&#xff0c;请自取&#xff1a; https://github.com/QQQQQQBY/ResumeTemplate 介绍一下此模板的特点&#xff1a; &#x1f338;个人面试期间使用的、整理的简历格式&#xff0c;现在分享给大家。 ⭐简历采…

【MySQL数据库 | 第五篇】DDL操作2

文章目录 当前数据库student的数据数据表操作 - 修改&删除&#x1f4d6;修改操作增加字段&#x1f44f;案例&#xff1a;向数据表student中添加字段 id修改字段的数据类型【只能修改字段的属性】&#x1f44f;案例&#xff1a;将student表中字段age的属性由tinyint unsigne…

【浏览器插件】如何开发一个Chrome浏览器插件

这篇文章来介绍一下,如何开发一个自己的Chrome浏览器插件程序。 Chrome浏览器插件,其实是让浏览器替我们执行我们自己写的代码,既然要让浏览器执行代码,那么首先,就需要定义一个规范,也就是说,需要让Chrome浏览器知道,你写的程序是一个插件。 这就需要介绍一下插件中…

详细讲解Redis为什么被设计成单线程

Redis 被设计成单线程的原因主要有以下几点&#xff0c;这些原因涉及性能优化、复杂性控制、数据一致性以及适用场景等多个方面&#xff1a; 1. 简化设计与实现 避免锁竞争&#xff1a;多线程环境下&#xff0c;多个线程访问共享资源时需要加锁来保证数据一致性。锁的使用会增…

Hive 逻辑优化器

Optimizer PointLookupOptimizer 作用&#xff1a;把符合条件的 OR 表达式转为 IN。 参数hive.optimize.point.lookup 设置是否开启 PointLookupOptimizer&#xff0c;默认为 true. 参数 hive.optimize.point.lookup.min 控制多少个 OR 表达式转为 IN&#xff0c;默认 31。 例…

ZYNQ Petalinux实战:PCIe直通NVMe固态硬盘,解锁存储性能新极限!

突破SD卡和SATA的速度枷锁!本文将手把手教你如何在ZYNQ平台上通过PCIe接口驱动NVMe固态硬盘。从硬件设计、Linux内核配置到创新性的DMA零拷贝优化,实现2000MB/s+ 的存储性能飞跃,附完整代码解析和性能实测对比。 一、为什么选择PCIe NVMe?存储性能革命 ZYNQ传统存储方案面…

05-mcp-server案例分享-用豆包大模型 1.6 手搓文生图视频 MCP-server发布到PyPI官网

1前言 上期给大家介绍过mcp-server案例分享-用豆包大模型 1.6 手搓文生图视频 MCP-server。当时部署的方式使用了一个私有云SSE的部署。当时缺少一个本地部署的方式&#xff0c;有的小伙伴给我留言能不能有一个本地话部署方式了。今天就给大家带来一个本地化部署的方案。 话不…

MCP Parameters 增加描述

场景&#xff1a;本地MCP开发完后是否发现CLINE上显示的Parameters 显示No description 方法1 &#xff1a;使用参数元数据 (Annotated) 可以使用 Pydantic 的with 类提供有关参数的其他元数据Annotated。这种方法更受欢迎&#xff0c;因为它更现代&#xff0c;并且将类型提示…

STM32 GPIO 寄存器开发

&#x1f527; ​一、核心寄存器概览​ ​寄存器​​功能​​位宽​​关键位域​​GPIOx_CRL/CRH​配置引脚模式&#xff08;输入/输出/复用/模拟&#xff09;和输出参数32位每4位控制1个引脚&#xff1a;CNF[1:0]&#xff08;模式&#xff09; MODE[1:0]&#xff08;速度&am…

powershell 获取 用户及进程列表

在PowerShell中获取用户的进程列表&#xff0c;可以通过几种方法实现。以下是一些常见的方法&#xff1a; 方法1&#xff1a;使用Get-WmiObject Get-WmiObject命令可以用来查询Windows Management Instrumentation (WMI)数据库&#xff0c;从而获取关于进程和用户的信息。 # …

量化面试绿皮书:15. 假币一

文中内容仅限技术学习与代码实践参考&#xff0c;市场存在不确定性&#xff0c;技术分析需谨慎验证&#xff0c;不构成任何投资建议。 15. 假币一 有 10个袋子&#xff0c;每个袋子里有 100个相同的硬币。 在除一个以外的所有袋子中&#xff0c;每枚硬币重10 克。 然而&#x…

Java求职者面试:Spring AI、MCP、RAG、向量数据库与Embedding模型技术解析

Java求职者面试&#xff1a;Spring AI、MCP、RAG、向量数据库与Embedding模型技术解析 第一轮&#xff1a;基础概念问题 1. 请解释Spring AI是什么&#xff1f;它与传统Spring框架有何不同&#xff1f; Spring AI是Spring生态系统的一部分&#xff0c;专注于人工智能和机器学…