- 博客(47)
- 收藏
- 关注
原创 第三章:rootfs、chroot 与 Mount namespace——容器为什么会觉得自己有独立的根目录
容器实现独立文件系统的关键在于为进程提供隔离的根目录视图。通过rootfs为容器准备独立目录结构,结合chroot或pivot_root切换根目录,并利用Mount namespace实现挂载隔离。此外,必须重新挂载/proc等特殊文件系统,确保容器内工具正常工作。Docker镜像本质上是可分层分发的rootfs模板,为容器提供基础文件系统内容。这些机制共同构建了容器的文件系统隔离环境。
2026-03-22 22:08:44
409
原创 第二章:namespace 是怎么把一个进程“伪装成机器”的
这一章最重要的内容,不在于记住所有 namespace 名字,而在于建立正确理解:第一,namespace 的本质是把原本全局共享的系统资源切成局部视图。第二,容器的“机器感”来自多个 namespace 的叠加,而不是来自虚拟硬件。第三,PID、UTS、Mount、Network 是最值得优先掌握的四种 namespace,因为它们最直接地塑造了容器像机器的体验。第四,namespace 解决的是“这个进程看到了什么世界”,而不是“这个进程最多能用多少资源”。
2026-03-22 22:05:28
335
原创 第一章:容器到底是什么
程序是静态文件,进程是运行中的程序实例。容器本质上还是宿主机上的真实 Linux 进程。Docker 更接近真实原理的顺序是:先启动进程,再给进程施加隔离和限制。虚拟机虚拟的是硬件,容器隔离的是进程运行环境。容器生命周期通常和主进程绑定,因为容器本来就是围绕主进程搭起来的运行时上下文。如果这 5 句你已经吃透,第一章就算真正过关了。
2026-03-22 22:03:10
399
原创 golang 内存模型与分配机制
从上图我们可以看出在系统的内存模型中也采用的是分层结构顶层:寄存器第二层:高速缓存 (Cache)第三层:内存 (Memory / RAM)底层:磁盘 (Disk)在物理上,你的电脑内存(RAM)可能只有 16GB,而且同时跑着微信、浏览器、Golang 或者是游戏。它们必须挤在这一块物理条子上。但在虚拟内存空间里,操作系统告诉每个一个程序:既然每个程序都以为自己有独占的空间,那么当 Go 程序说“我要读地址 0x1000 的数据”时,硬件 (MMU-内存管理单元) 和操作系统会进行配合:比喻: 你
2026-02-18 21:05:21
894
5
原创 【web逆向】优某愿 字体混淆
它的主要作用是允许开发者在用户的设备上没有安装特定字体的情况下,仍然可以使用这些字体来渲染网页上的文本。可以搜索到三四个woff2,我们都可以下载看看里面都是什么内容,但是在scoreline中可以看到,里面有一个动态用js加载字体的代码。那么大概率就是这个。
2025-03-16 21:29:24
2042
1
原创 【小程序】绝味鸭脖 xmSign参数逆向
使用手机连接电脑 adb控制手机微信中打开 http://debugxweb.qq.com/?inspector=true 地址打开cmd 输入查看下面是否有设备edge浏览器打开chrome浏览器打开在手机中打开小程序网页等待一会,就会出现页面信息先刷新一下网页 重新获取全部的文件。
2025-03-10 15:14:20
1378
原创 5. 药某局 webpack js逆向扣代码
Webpack 是一个现代 JavaScript 应用程序的模块打包器。它的主要作用是将你项目中的各种资源(JavaScript、CSS、图片等)打包成少数几个文件(通常是一个或几个 JavaScript 文件),使得前端页面加载更快,并且优化开发过程。在webpack里面会有一个加载器,在网页加载的时候把函数都加载在里面 ,然后通过键值或者列表索引来调用 他是一个自执行函数如下的两种格式加载器的格式先通过下面的参数把函数传递进去,把函数存储起来,后面就可以通过把索引直接调用函数调用执行结果。
2025-03-08 00:24:59
1739
原创 esxi 安装 精简版win10
镜像来源:[【不忘初心】Windows10 22H2 (19045.4780) X64 无更新 纯净[深度精简版]然后在source 目录中 把install.esd 拖入进去。使用ultralISO 打开 不忘初心系统ISO外壳.iso。修改成数据存储iso文件 然后选择你刚刚上传的文件。把下载的esd 重命名为install.esd。先把下载esd 转成iso安装。上传到esxi 存储中。然后启动安装就可以了。
2024-08-24 12:48:47
1857
原创 blutter 环境配置
blutter基础环境配置 需要安装最新的git , cmake , ninja。ninja 需要自行配置系统环境。能够都能输出版本号为安装完成。然后指定目录和输出就行。
2024-08-01 03:42:16
1263
原创 2023 全国技能大赛云计算项目私有云程序开发
OpenStack 资源管理的客户端程序开发 [2 分]使用已建好的 OpenStack Python 运维开发环境,在 root 目录下创建resource_manager.py 脚本,基于 OpenStack 资源配额管理服务封装客户端工具,resource_manager.py 程序支持命令行带参数执行,命令参数要求说明如下:
2023-10-10 09:35:14
1634
3
原创 kubeedge学习(3) kubeedge-counter-demo计数器演示
kubeedge计数器运行在边缘侧,用户可以从云端在Web中对其进行控制,也可以从云端在Web中获取计数器值。
2023-09-27 08:44:46
734
原创 k8s基础篇-持久化存储入门
该示例是使用 StorageClass 链接 GlusterFS 的一个示例,PV 和 Volume 可以直接配置 GlusterFS,其配置参数和 StorageClass 的 parameters 类似,只不过 PV 是单独供 PVC 使用的,Volume 是针对某个 Pod 使用的,而 StorageClass 是一个全局的配置,没有命名空间隔离性,任何命名空间下有存储需求的应用都可以配置对应的 StorageClass 来获取存储。
2023-08-06 18:52:37
1031
原创 k8s基础篇-资源调度
(1)必需字段和其他所有 Kubernetes 配置一样,DaemonSet 需要 apiVersion、kind 和 metadata 字段,同时也需要一个.spec 配置段。(2)Pod 模板.spec 唯一需要的字段是.spec.template。.spec.template 是一个 Pod 模板,它与 Pod 具有相同的配置方式,但它不具有 apiVersion 和 kind 字段。除了 Pod 必需的字段外,在 DaemonSet 中的 Pod 模板必须指定合理的标签。
2023-07-31 08:23:23
920
原创 k8s基础篇-服务发布入门
该示例为 my-service:80 即可访问到具有 app=myapp 标签的 Pod 的 80 端口上。需要注意的是,Service 能够将一个接收端口映射到任意的 targetPort,如果 targetPort 为空,targetPort 将被设置为与 Port 字段相同的值。targetPort 可以设置为一个字符串,引用 backend Pod 的一个端口的名称,这样的话即使更改了 Pod 的端口,也不会对 Service 的访问造成影响。
2023-07-31 08:21:27
212
原创 k8s基础篇-pod
Pod 的 Phase 字段只有 Pending、Running、Succeeded、Failed、Unknown,其余的为处 于上述状态的原因,可以通过 kubectl get po xxx –o yaml 查看。preStop和postStart的执行是在容器入口点命令执行之前和之后,不会阻塞容器启动。preStop和postStart中的错误不会影响pod的生命周期,仅会在事件中记录。postStart所执行的操作应该是快速并且幂等的,不能包含会卡住pod启动的操作。配置 StartupProbe。
2023-07-29 21:59:38
444
原创 k8s基础篇-基本概念
Kubernetes是谷歌开发的第三个容器管理系统,提供了资源调度、扩容缩容服务发现、存储编排、自动部署和回滚,并且具有天生高可用、负载均衡、故障自动恢复等功能的“生态系统”,目前己成为云原生领域的标准。控制节点组件部析 工作节点组件剖析 什么是Pod?
2023-07-29 21:58:18
257
原创 docker容器基础
Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。
2023-07-29 13:42:21
274
转载 记录一下 OpenStack下的虚拟机,keepalived虚拟ip,ping不通
keepalived,能够部署上,虚拟ip也能够在两个服务器上面进行漂移,但是从另外一台ping,那一台的虚拟ip,ip不同。2.如果你的环境和我的一样,虚拟机也是OpenStack创建的那么恭喜你,我这个可以帮助你。按照图上,找到这个地方,然后看你的虚拟ip是基于什么的,我是基于内网ip的,然后点进去。找到keepalived所在的ip地址。1.OpenStack 创建的2个虚拟机。1.网上给的许多通用方案,我都试过了不行。在这个地方将虚拟ip添加进去,就可以了。点击添加可用的地址对。
2023-07-21 13:59:21
2423
原创 shell脚本一键部署mariadb_cluster + keepalived
shell脚本一键部署mariadb_cluster + keepalived
2023-07-21 13:57:03
258
原创 ospf多区域常见配置
1.完成ip的基础配置2.进行多区域设计,宣告ospf(完成的标志是各路由器邻接关系形成)3.在出口设备注入默认路由(完成的标志是每台路由器学习到默认路由)4.ABR上对用户网段进行汇总精简核心设备路由表(汇总前核心及出口能看到明细用户路由,汇总后则只看到汇总用户路由5.将末梢区域设置为完全stub区域,精简边缘设备路由表(设置前边缘路由器能看到区间路由信息及E2 的默认路由 设置后看不到区间路由默认路由变成IA)6.修改cost值,实现数据合理分流,来回路径一致(修改前两条线路等。
2023-06-27 10:23:22
2858
2
原创 使用yum安装MySQL5.7
使用上面的命令就直接下载了安装用的Yum Repository,大概25KB的样子,然后就可以直接yum安装了。下面就是使用yum安装MySQL了 并且需要禁掉GPG验证检查或者可以安装公钥。
2023-05-25 22:29:00
1020
原创 protoc-gen-validate import文件导入问题
把需要的google文件 放入自己go_path的src目录下面。proto文件生成对应go语言文件。先去github上面下载需要的文件。
2023-05-25 15:32:59
989
原创 ubuntu18.04 qcow2 镜像
记录一下制作openstack中的ubuntu镜像过程。下载完成之后直接导入openstack平台中。修改root可以远程登录。
2023-05-09 11:06:35
2871
原创 helm 部署 rabbitmq集群
使用提供的Chart包rabbitmq-11.1.1.tgz在Kubernetes集群default命名空间下部署RabbitMQ集群,要求设置集群web界面的用户密码为admin/admin123,集群节点数为3,Release名称为rabbit。bitnami_rabbitmq_3.11.2-debian-11-r0.tar 版本。
2023-04-27 14:22:02
569
2
原创 ansible部署kafka集群
使用这一台母机,编写Ansible脚本(在/root目录下创建example目录作为Ansible工作目录,部署的入口文件命名为cscc_install.yaml),编写Ansible脚本使用roles的方式对其他三台云主机进行安装kafka集群的操作(zookeeper和kafka的安装压缩包在gpmall-single.tar.gz压缩包中,将zookeeper和kafka的压缩包解压到node节点的/opt目录下进行安装)。在example文件下面编写cscc_install.yaml文件。
2023-03-24 09:40:20
1944
2
原创 ubuntu22.0.4 kolla多节点搭建openstack ,skyline
ubuntu22.0.4 kolla 搭建openstack skline组件搭建
2023-03-16 14:23:10
3016
原创 glance对接nfs,cinder,swift 后端
glance对接nfs,cinder,swift 后端存储 云计算赛题 glance后端对接 2022国赛
2022-12-03 16:45:57
5676
原创 redis 主从 哨兵 集群部署
Redis是当前比较热门的NOSQL系统之一,它是一个key-value存储系统。和Memcache类似,但很大程度补偿了Memcache的不足,它支持存储的value类型相对更多,包括string、list、set、zset和hash。这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作。在此基础上,Redis支持各种不同方式的排序。
2022-10-23 16:21:46
2380
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅