- 博客(33)
- 收藏
- 关注
原创 RabbitMQ练习(AMQP 0-9-1 Overview)
AMQP 0-9-1(高级消息队列协议)是一种网络协议,它允许遵从该协议的客户端(Publisher或者Consumer)应用程序与遵从该协议的消息中间件代理(Broker,如RabbitMQ)进行通信。
2024-09-08 08:23:40 831
原创 RabbitMQ练习(Remote procedure call (RPC))
前面练习了如何使用工作队列(Work queues)来在多个worker之间分配耗时的任务(time-consuming tasks)。但是,如果我们需要在远程计算机上运行一个函数并等待结果呢?那是一个不同的故事。这种模式通常被称为远程过程调用,或RPC。在本练习中,我们将使用RabbitMQ来构建一个RPC系统:一个客户端和一个可扩展的RPC服务器。由于我们没有任何值得分配的耗时任务,我们将创建一个返回斐波那契数(Fibonacci numbers)的。
2024-08-31 11:19:01 1101
原创 RabbitMQ练习(Topics)
在前面的Routing练习中,不再使用仅能进行简单广播的,而是使用了,从而实现选择性地接收日志。但direct exchange仍然有局限性——它不能基于多个条件进行路由。在常见的日志系统中,不仅可以根据严重性订阅日志,还可以根据发出日志的来源进行订阅。比如Unix工具syslog,它根据严重性(信息/警告/关键...)和设施(认证/定时任务/内核...)来发出日志(原文:You might know this concept from thesyslog...).)。
2024-08-29 09:18:36 1265
原创 RabbitMQ练习(Routing)
之前练习了一个简单的日志系统,能够将日志消息广播给多个接收者。本练习中,将订阅消息的子集。例如,只将关键的错误消息定向到日志文件,同时在控制台上打印所有日志消息。
2024-08-28 07:55:16 893
原创 RabbitMQ练习(Publish/Subscribe)
将把同一个消息传递给多个消费者,这种模式被称为"发布/订阅"(publish/subscribe)模式。下面是对这个概念的解读:发布/订阅模式:这是一种消息通信模式,其中消息的发布者(发布者)不会将消息直接发送给特定的接收者(订阅者)。相反,消息会被发布到一个主题(topic)或频道(channel),任何对该主题或频道感兴趣的接收者都可以接收到消息。发布者(Publisher):发布者是发送消息的实体。它不关心谁将接收消息,只是将消息发布到一个公共的频道或主题。订阅者(Subscriber)
2024-08-27 07:21:36 1523
原创 RabbitMQ练习(Work Queues)
在本练习中,将创建一个工作队列(Work Queue),它将被用来在多个工作者(Worker)之间分配需要较长时间来完成的任务( time-consuming tasks)。工作队列(也称为任务队列)避免立即执行复杂任务:复杂任务往往是需要花费系统更多时间和更多资源进行处理的任务。工作队列的设计初衷是减少对即时资源的需求。在某些情况下,如果直接执行某些任务,可能会消耗大量计算资源,导致系统响应变慢或无法处理其他请求。延迟执行任务。
2024-08-21 07:34:10 1047
原创 RabbitMQ练习(Hello World)
生产者(Producer):这里的"P"代表生产者,也就是发送消息的一方。生产者生成数据或信息,然后将其发送到消息系统。消费者(Consumer):"C"代表消费者,即接收和处理消息的一方。消费者从消息系统中获取数据,并对其进行处理。队列(Queue):中间的"盒子"指的是队列,它是RabbitMQ用来存储消息的缓冲区。队列在消息传递中扮演着至关重要的角色,它确保即使在消费者暂时无法接收消息的情况下,消息也不会丢失。消息缓冲(Message Buffer)队列作为消息缓冲区。
2024-08-18 21:11:01 1339 1
原创 Dockerfile创建Docker image练习
使用Dockerfile创建自己的Docker Image,可以概括为以下几个步骤:是一个文本文件,采用特定格式编写,包含以下元素:Dockerfile中的指令和参数是构建Docker镜像的基础。下面是对这些指令及其参数的详细解释:FROM - 指定基础镜像。所有Docker镜像都是从一个基础镜像开始构建的。例如,表示使用Ubuntu 18.04作为镜像的基础。RUN - 执行命令。通常用于安装软件包、更新系统或运行任何所需的命令。例如,会更新软件包列表并安装curl。COPY - 将文件或目录从构建上下文
2024-08-11 19:43:44 975
原创 Ubuntu 22.04 Docker Network笔记
Docker 容器的网络模式决定了容器如何与外部网络和其他容器通信。以下是 Docker 支持的主要网络模式及其特点:桥接(Bridge):宿主机(Host):无网络(None):MacVlan:IPVLAN:Overlay 网络:自定义网络(User-defined networks):每种网络模式都有其适用场景和限制。选择合适的网络模式取决于你的应用需求、性能要求和安全考虑。例如,如果你需要容器之间能够直接通信,但与外部网络隔离,可能会选择使用桥接模式;如果你需要容器能够直接访问外部网络,可能会选择使用
2024-08-10 12:07:28 1139
原创 Ubuntu 22.04 Docker安装笔记
Docker是一个开源的软件平台,它允许你通过容器化技术来构建、测试和运行应用程序。容器化是一种轻量级、可移植的、自给自足的软件运行方式,它使得应用程序及其依赖项可以被打包在一起,从而简化了软件的部署和管理。Docker为Ubuntu提供了一个官方的APT仓库,这使得在Ubuntu系统上安装Docker变得非常简单。执行这个命令后,Docker 的官方软件源将被添加到您的系统软件源列表中,APT 将能够从这个源安装 Docker。使用docker exec进入容器,如果从这个容器退出,容器不会停止。
2024-08-06 22:53:49 1316
原创 OpenStack Yoga版安装笔记(十二)nova安装(下)
在不支持硬件加速的传统硬件上,可以使用通用的QEMU hypervisor。另外可以通过简单修改这里的配置,增加额外的计算节点,从而水平扩展计算环境。计算服务(Compute Service)支持多种hypervisor来部署实例或虚拟机。为了简化配置,这里使用。在安装和配置compute service之前,需要先创建数据库、服务凭证(用户名/密码)、服务API端点。1、检查计算节点(compute node)是否支持硬件虚拟化,返回1或者大于1,则支持;当您添加新的计算节点时,您必须在控制节点上运行。
2024-08-03 22:20:18 858
原创 OpenStack Yoga版安装笔记(十一)nova安装(上)
OpenStack 是一个开源的云计算平台开源: OpenStack 是由社区驱动的,它的代码和设计是公开的,任何人都可以查看、修改和使用。云计算平台: 它提供了一套工具和服务,使得用户能够在虚拟化环境中创建、管理和部署应用程序。支持所有类型的云环境: OpenStack 设计灵活,可以适应不同的云部署模型,包括私有云、公有云和混合云。简单实施: OpenStack 的目标之一是让云服务的搭建和使用尽可能简单,减少复杂性。大规模可扩展性。
2024-08-03 12:10:27 1217
原创 OpenStack Yoga版安装笔记(十)placement练习
placement已经在controller node虚拟机上安装完成,并且已经成功拍摄了快照。此时,controller node虚机已经安装了等组件:(上图中,由于本次练习不涉及glance,所以未画出)观察OpenStack组件之间完整交互过程。
2024-08-01 22:06:55 1158
原创 OpenStack Yoga版安装笔记(九)placement安装
Placement API服务的引入:该服务首次出现在OpenStack的Newton版本(14.0.0)中,当时是作为nova(计算)组件的一部分。从nova到placement的迁移:在OpenStack的Stein版本(19.0.0)中,Placement API服务被分离出来,成为了一个独立的repository(代码库)。REST API和数据模型:Placement API服务有RESTful API栈(表现层状态转移应用编程接口)和数据模型,用来跟踪。
2024-07-26 23:23:04 1048
原创 OpenStack Yoga版安装笔记(八)glance练习补充2
为了方便观察数据流,可以过滤掉大量的keystone和keystone db,以及glance和glance db的MySql数据包,仅保留每次登录信息和每次的最后一个响应包(参见下面的过滤条件:mysql.user == "keystone" or mysql.user == "glance" or frame.number == 22200 or frame.number == 28304 or frame.number == 32030 or frame.number == 32613)。
2024-07-22 23:28:27 895
原创 OpenStack Yoga版安装笔记(七)glance练习补充
glance已经在controller node虚拟机上安装完成,并且已经成功拍摄了快照。此时,controller node虚机已经安装了等软件:将controller node虚机转到此快照然后开机,在这台虚机上执行命令,观察OpenStack组件之间完整交互过程。
2024-07-19 08:05:05 936
原创 OpenStack Yoga版安装笔记(六)glance练习
Glance api处理来自用户端(OpenStackClient等)的请求,如果是读写镜像元数据,则对glance db进行读写操作,因为镜像元数据都保存在glance db里面;如果是存取镜像本身,则对后端存储进行操作,因为镜像保存在后端存储里。同时,用户端、glance servcie都需要到keystone进行身份认证。需要注意的是,验证后的授权不在keystone这里处理,而是交给被访问的service处理。
2024-07-12 21:22:53 2576
原创 OpenStack Yoga版安装笔记(五)glance安装
OpenStack镜像服务,代号glance。通过镜像服务,用户可以发现、注册、下载虚拟机镜像。利用镜像服务的REST API接口,用户能够查询虚拟机镜像的元数据(即虚拟机镜像信息)、下载所需的虚拟机镜像。虚拟机镜像可以存储在简单的文件系统,或者对象存储系统(比如OpenStack对象存储)等多种位置,并通过镜像服务进行访问。本次安装为了简化操作,将镜像上传并存储在托管镜像服务的控制节点上的一个目录中。默认情况下,这个目录是。OpenStack的镜像服务是基础设施即服务(IaaS)的核心组成部分。
2024-07-06 23:35:58 1124
原创 OpenStack Yoga版安装笔记(四)keystone练习
在安装过程中,首先需要在controller node上的MariaDB中创建一个名为keystone的数据库。接着,在controller上安装Keystone软件包,并配置数据库连接。Keystone和数据库可以部署在不同的服务器上,Keystone通过解析主机名“controller”来访问数据库。
2024-07-04 08:48:08 1155
原创 OpenStack Yoga版安装笔记(三)keystone安装
例如,您可以仅安装和配置计算服务和网络服务以构建基本的虚拟化环境,或者安装所有服务以构建全功能的私有云解决方案。通过为不同的用户或服务配置对某个服务不同端点的访问权限,可以有效地控制对服务的访问,从而保护服务的安全。OpenStack的身份认证服务(Keystone)为每个OpenStack服务提供认证服务,通过domain、project、user、role相互结合使用来实现这种认证服务。计算服务、身份认证服务、网络服务、镜像服务、块存储服务、对象存储服务、监控服务、自动化编排服务以及数据库服务。
2024-06-28 22:41:07 1091
原创 使用kubeadm安装Kubernetes1.29(下)
为保证安装成功,安装顺序尽可能和官方文档保持一致,如果没有在文档中体现,往往是因为不需要具体操作步骤。使用kubeadm安装kubernetes主要分两个大的步骤:第一步:所有节点安装kubeadm第二步:使用kubeadm引导kubernetes部署,包括在主节点初始化kubernetes集群,其他节点接入kubernetes集群。本文主要说明第二步:使用kubeadm引导kubernetes部署。
2024-05-19 07:27:32 1371
原创 使用kubeadm安装Kubernetes1.29(上)
综上所述,kubelet和容器运行时通过与cgroups进行交互,有效地实现了对Pod和容器的资源管理,包括设置资源请求和限制,并确保集群中的工作负载能够得到适当的资源分配和限制。在没有特别说明的情况下,操作步骤需要在每个节点执行。kubelet和底层的容器运行时都需要与控制组(cgroups)进行交互,以实施对Pod和容器的资源管理,并设置资源请求和限制,如CPU和内存。在 Kubernetes 环境中,kubelet 和容器运行时必须使用相同的 cgroup 驱动程序,以确保资源管理的一致性和可靠性。
2024-05-18 10:07:00 1309
原创 使用Cephadm安装Ceph笔记
在这种情况下,你需要将集群的公共 SSH 密钥添加到新主机的root用户的authorized_keys文件中,以便root用户可以使用集群的私钥来验证并与其他服务器建立安全连接。当你添加新的节点到 Ceph 存储集群时,你需要通知 Ceph 系统,这样它就可以开始在新节点上分配数据和执行其他必要的操作,以确保新节点与现有节点一起工作,形成一个完整的存储集群。Cephadm 的目标是简化 Ceph 存储集群的部署和管理过程,使得用户可以更轻松地搭建和管理复杂的存储基础设施。采用Chrony进行时间同步。
2024-04-29 22:56:39 2530 2
原创 在 QNAP NAS 上创建和使用 iSCSI 目标服务
iSCSI(Internet 小型计算机系统接口)是基于 IP(Internet 协议)的存储网络标准,用于链接数据存储设备。iSCSI 可在 IP 网络中传输 SCSI 命令,用于帮助在 LAN(局域网)和 WAN(广域网)中实现不受地理位置制约的数据存储和检索。iSCSI 允许计算机、服务器和虚拟机等客户端使用QNAP NAS 中的存储作为虚拟磁盘。客户端可以像本地磁盘一样,对虚拟磁盘进行分区、格式化和使用,然后将其用于存储扩展或用作备份目标。:iSCSI 存储服务器。
2024-04-20 09:02:37 2651 1
RabbitMQ练习(Remote procedure call (RPC)).pcapng
2024-09-06
RabbitMQ练习(Routing).pcapng
2024-08-29
OpenStack Yoga版安装笔记(八)glance练习补充2中的抓包文件
2024-07-23
OpenStack Yoga版安装笔记(七)glance练习补充中的抓包文件
2024-07-21
OpenStack Yoga版安装笔记(六)glance练习中的抓包文件
2024-07-13
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人