- 博客(67)
- 收藏
- 关注
原创 容器启动加速-nydus
Nydus是一个镜像加速器,主要通过容器启动时懒加载镜像提高启动速度, 大镜像可以秒级启动,后续的读写通过COW方式。以下是nydus的几个标签:- Nydus是蚂蚁、阿里云、字节等共建的开源容器镜像加速项目- CNCF孵化的项目Dragonfly中的一个子项目- 新的镜像格式,不同于oci- 良好的生态,兼容containerd、k8s、harbor、buildkit -- 从构建、存储、部署、到CI集成,有丰富的解决方案
2023-06-09 16:16:00
1926
原创 Pulumi架构与使用
github项目介绍: Universal Infrastructure as Code. Your Cloud, Your Language, Your Way 🚀通用基础设施即代码,你云你素,用熟悉的方式、熟悉的语言通过pulumi去管理自己的云平台。通俗点来说,pulumi是一个基础设施资源编排器,写好编排代码,例如定义的yaml、或者编程语言golang等,通过动作触发即能完成各种云资源的增删改查等基础设施的管理,使用pulumi可以轻松构建自己的多云平台。
2023-02-07 17:24:11
1466
1
原创 企业级Jenkins实践
Jenkins作为开源的自动化CICD工具,自横空出世以来,为企业提供了稳定的CICD基础服务,也提供了丰富多彩的插件,用以包罗生态内各种软件、提供大量方面的快捷操作等。云原生自出世以来大行其道,对计算服务提供了高效便捷的编排管理,成为当前计算服务生命周期管理方案的不二之选。Jenkins可以使用k8s的pod作为slave,达成了云计算按需分配的特点Jenkins可以通过k8s部署,实现高可用、与生命周期管理,提高服务交付效率、降低维护成本。
2023-01-18 17:54:16
2296
原创 OpenStack GPU直通服务器
直通GPU 云服务器(GPU Virtual Machine)是基于 GPU 的快速、稳定、弹性的计算服务,主要应用于深度学习训练\推理、图形图像处理以及科学计算等场景。直通GPU 云服务器提供和标准 云服务器一致的方便快捷的管理方式,相对于vGPU云服务器,直通GPU使用的PCI透传技术能带来几乎和物理设备同等的性能。
2023-01-17 16:25:42
1865
原创 Java应用云原生构建优化
Jib可以加快至少 20% 的构建时间,多个服务同时使用Jenkins+Jib构建时,平均单个应用可以节省20s构建时间附录: 测试说明Jib最佳实践为应用集成以Maven插件的方式集成JibJib可以节省打包服务器的本地空间google开源的java应用构建容器镜像的工具支持集成在Maven/Gradle解决了java应用构建容器镜像无需依赖三方软件(Docker)的问题,拥有构建块、占用本地空间少等优势模拟生产环境常用场景在测试环境测试的数据可得出如下结论。
2022-10-12 20:07:11
982
原创 Kubesphere与Jenkins的集成解析
kubesphere 使用可插拔的 devops 模块实现devops功能devops驱动jenkins实现具体的操作,例如流水线等devops与kubesphere的关系如下图, 详细的组件介绍。
2022-09-30 17:59:33
3182
原创 Octavia访问频繁引起SYN洪泛的分析与解决
layout: posttitle: Octavia访问频繁引起SYN洪泛的分析与解决catalog: truetag: [OpenStack]1. 问题2. 排查2.1. gdb定位下代码卡在哪里2.2. dmesg 日志2.3. strace查看系统调用2.4. 查看连接状态2.5. 查看socket统计信息3. 解决4. 总结5. 参考1. 问题octavia-api进程跑一会就卡死,api无响应,telnet也无响应2. 排查思路主要是查应用代码.
2022-05-17 14:45:57
1167
原创 Minio集群部署
1. 准备部署1.1. 版本说明1.2. 分区配置2. 部署minio2.1. 二进制包2.2. 启动minio3. prometheus监控3.1. 安装mc3.2. 配置mc4. 附录4.1. 数据在磁盘的组织形式4.1.1. 小文件4.1.1.1. 探索4.1.1.2. 结论4.1.2. 大文件4.1.2.1. 结论4.2. 扩容4.3. 更换硬盘/更换主机4.4. 推荐配置[4.5. server pool1](#45-..
2022-03-01 14:06:06
12771
6
原创 Minio VS Ceph
Minio作为分布式存储新秀,从2016年发布第一个版本到现在短短6年时间,github start已达到31.9K, 远超2015年发布的另一款分布式存储 seaweedfs 13.9k、及2010年的Ceph 10.2k,一时风头无二;但贡献者Ceph 1172人,而Minio只有337,sweedfs只有146, 社区活跃度来讲离Ceph有不小的差距。国内生产真正大规模使用Minio的比较少见,跟当前License有不小的关系。
2022-03-01 14:02:05
10293
2
原创 对象存储S3权限控制
layout: posttitle: 对象存储S3权限控制catalog: truetag: [Ceph, S3]1. 背景1.1. 需求1.2. 存在的问题2. 几种已有方式的使用2.1. 更改用户2.2. policy授权2.2.1. example2.2.2. 设置2.2.3. 设置效果2.2.4. 参考示例2.3. acl3. 关于s3文档1. 背景1.1. 需求A用户创建了一个桶bucket1B用户需要能对桶bucket1进行操作.
2022-01-20 16:09:00
3462
原创 Ceph编译
1. 环境2. 下载Ceph代码3. 选择分支4. update submodule5. 下载依赖6. 安装devtoolset7. 编译二进制8. 编译rpm8.1. 先编译dist包8.2. 编译rpm包8.2.1. 编译srpm包8.2.2. 编译rpm包9. 参考build Ceph编译需要的时间比较长,建议在screen里面编译,防止terminal连接中断如果在根目录挂载的文件系统下编译,根目录至少有100G可用空间如果是其他目录单独..
2021-11-26 21:01:17
1508
原创 CephFS高可用的NFS-Ganesha网关
1. 概述2. 术语3. nfs-ganesha3.1. 介绍3.2. 架构3.2.1. 总体架构图3.2.2. 架构说明3.2.3. genesha-rados-cluster设计3.2.3.1. 客户端恢复(单体情况)3.2.3.2. 宽限期(单体情况)3.2.3.3. Reboot Epochs3.2.3.4. gracedb3.2.3.5. 集群3.3. 高可用集群实现4. 部署4.1. 环境说明4.2. 安装软件4.2.1. 配置yum源..
2021-10-17 20:32:00
5785
5
原创 使用Rook安装Ceph
layout: posttitle: 使用Rook安装Cephcatalog: truetag: [K8S, Ceph]1. Rook简介2. Rook架构3. Rook部署3.1. 前提3.2. 环境描述3.3. 部署3.3.1. 获取rook代码3.3.2. 修改变量3.3.2.1. cluster.yaml3.3.2.2. operator.yaml3.3.2.3. 其他配置3.3.3. 开始部署3.3.4. 部署成功的状态3.3.4.1. po状态.
2021-10-07 17:07:07
1923
原创 OpenStack卷启动的虚拟机rebuild无效
1. 描述2. 相关资料3. 修复方案4. 分析过程1. 描述卷启动的虚拟机rebuild无效,rebuild卷启动的虚拟机相当于仅仅对虚拟机进行了一次重启。版本信息如下组件版本openstacktrainnova20.6.0-1看了好几遍rebuild的代码,都没有找到对卷启动的云硬盘重建或者数据清空的操作,最后找了下社区,找到了一些资料,原来社区没实现对卷启动虚拟机的rebuild,怪不得没找到相关的代码逻辑。2. 相关资料社区要实现一个..
2021-09-20 17:45:59
872
3
原创 OpenStack 镜像修改密码
1. 场景2. 环境3. 操作3.1. Linux3.2. Windows3.2.1. raw 镜像3.2.2. qcow24. 参考1. 场景查看操作虚拟机镜像的文件系统查看/修改 windows 镜像密码查看/修改 linux 镜像密码、cloud-init 文件其他2. 环境|环境|版本|备注||OS|CentOS7.9|||libguestfs|1.40.2-10.el7.x86_64|||libguestfs-tools|1.40.2-10..
2021-08-20 21:05:16
831
原创 一次CephFS性能分析
一次CephFS性能分析1. 背景2. 性能分析思路2.1. 理论值计算2.2. 实际操作下看能不能复现2.2.1. 性能分析关注点2.2.2. 开始分析2.2.2.1. ceph -s2.2.2.2. 查看mds服务2.2.2.3. 查看ceph osd perf2.2.2.4. 查看磁盘iostat2.2.2.5. 网络2.2.2.6. 客户端磁盘3. 总结1. 背景小明在使用文件系统的过程中发现上传一个文件夹花了半个小时,下载一个文件夹要花更长的
2021-08-18 19:39:02
1182
原创 Ceph fuse挂载
1. 前提2. 命令行3. fstab4. 关于fuse的挂载参数无配置挂载,指定IP挂载1. 前提# 写入keyring到文件echo -e "[client.admin]\nkey = AQDk18FgMo7NABAA4ufuz3O6/0lE4vsVgHs1yQ==" > /var/cephfs_keyring2. 命令行# fuse挂载ceph-fuse -m 172.16.81.237:6789,172.16.81.238:6789 --no-mon-conf..
2021-08-16 20:28:02
3496
原创 Certificate verification failed: The certificate is NOT trusted. The certificate issuer is unknown.
1. 问题描述2. 解决方式1. 问题描述|组件|版本|备注||Ubuntu Docker Image|20.04||使用镜像时无论是镜像默认源还是清华源、阿里源都报错Certificate verification failed: The certificate is NOT trusted. The certificate issuer is unknown. Could not handshake: Error in the certificate verificationg..
2021-08-08 11:10:48
6271
2
原创 rgw index对象存储在rocksdb中的组织形式
0.1. 定位index对象0.2. 分析rocksdb0.1. 定位index对象找到某个桶的bucket index对象radosgw-admin bucket stats --bucket test"id": "c96a8bc3-c206-46a9-9f4a-71f80f7a8e95.24169.1"查到他在哪个osdceph osd map default.rgw.buckets.index .dir.c96a8bc3-c206-46a9-9f4a-71f80f7a..
2021-07-31 15:53:16
521
原创 OpenStack集成Ceph
1. 版本说明2. 前期准备2.1. 创建keyring2.2. 创建pool2.3. 安装依赖包3. glance 对接3.1. glance-api.conf4. 对接nova4.1. libvirt配置4.2. nova conf配置5. 对接cinder5.1. /etc/cinder/cinder.conf5.2. virsh secret(所有计算节点)5.3. 配置cinder type6. 测试6.1. 上传镜像6.2. 以镜像创..
2021-07-31 15:52:23
1685
原创 Ceph rbd的寻址(rbd块文件的下载)
1. Ceph rbd 与 rgw的寻址(rbd块/对象存储文件的下载)1.1. 索引的存储1.2. rbd 的寻址1.3. 小笔记1.4. rgw的寻址1.5. 数据恢复思路1.5.1. 场景1.5.2. 思路1. Ceph rbd 与 rgw的寻址(rbd块/对象存储文件的下载)1.1. 索引的存储ceph的索引都存储在omap中rbd – 每个rbd池有一个 rbd_directory 文件rgw – 每一个bucket有一个或者多个index文件1...
2021-07-31 15:51:11
999
原创 nfs-ganesha导出cephfs为nfs
1. 概述2. 前提条件3. 版本说明4. 安装4.1. 配置yum源4.2. 安装软件5. 配置6. 使用7. 部署问题7.1. nfs挂载之后无法创建文件、文件夹8. 剩下的问题9. 参考文档1. 概述cephfs直接使用不变,需要安装较多的依赖,相对来说nfs更加通用。FSAL_CEPH 调用 libcephfs2 将 NFS 转义为 Cephfs 协议再存入到 Ceph 中,通过这种途径来实现cephfs导出为NFS2. 前提条件有一个cephf..
2021-07-31 15:48:44
1048
3
翻译 leveldb 文档
1. leveldb 文档1.1. index.md1.1.1. 常规操作1.1.2. 进阶操作1.2. impl.md1.3. File1.4. Log files1.5. Sort tables1.5.1. manifest1.5.2. Current1.5.3. Info logs1.5.4. 其他1.6. Level 01. leveldb 文档文章目录1. leveldb 文档1.1. index.md1.1.1. 常规操作1.1.2. 进阶操..
2021-07-31 15:47:36
799
原创 leveldb 的部署和使用
1. leveldb 的部署和使用1.1. 部署1.1.1. C++1.1.2. python1.1.3. 小插曲1.2. 主要功能1.3. 使用1.4. 宏观视角1.4.1. 首次打开文件解析1.5. 多次写入数据1. leveldb 的部署和使用1.1. 部署部署比较简单,按照官网即可1.1.1. C++git clone --recurse-submodules https://github.com/google/leveldb.gitmkdir..
2021-07-31 15:45:58
1373
原创 Kubernetes集成Ceph
1. 版本2. 块存储2.1. 准备2.2. csi模式–当前使用2.2.1. 配置configmap2.2.2. 配置secret2.2.3. 配置rbac2.2.4. 配置provisioner和node plugins2.2.5. 配置storageclass2.3. external-storage模式 – 版本陈旧不再使用2.3.1. 配置provisioner2.3.2. 创建clusterstorage2.3.3. 创建secret2.4. 测试..
2021-07-31 15:44:54
3073
原创 OpenStack使用Placement做资源管理时虚拟机无法调度的一次排错记录
1. 场景说明1.1. 日志2. 排查过程2.1. 资源够用吗2.2. Placement Debug2.3. API启动脚本2.4. 具体处理过程3. 思考3.1. 为什么单个资源分配上限没有乘以超分倍数3.2. 拓展问题4. 参考文档1. 场景说明计算节点能分配的最大虚拟机资源不能大于自身资源 – 出错时还挂在嘴边,但真正有所体会和认知,往往是在挨了毒打之后组件版本备注OpenStacktrainNova20.6...
2021-07-31 15:42:53
1454
原创 Openstack虚拟机MTU问题
IEEE 802.3指定MTU为1500,如果数据包长达大于1500则会被网络层分片传输Vxlan max mtu = 1450 = 1500 – 20(ip头) – 8(udp头) – 8(vxlan头) – 14(以太网头)如果虚拟机的MTU大于1450,发出去时需加上头部50字节的报文,总的数据包大小会大于1500,最先到达的是ovs二层虚拟交换机(MTU为1500),二层设备没有切片...
2019-07-10 15:18:26
1684
原创 openstack虚拟机resize源码分析
openstack虚拟机resize源码分析文章目录openstack虚拟机resize源码分析resize过程python-client端debugdebug分析获取keystone版本详情验证admin信息并生成token带着token去请求虚拟机信息带着token去获取resizede的目标flavor发送调整实例请求再次获取虚拟机信息 监控服务器状态 直到状态改变为`VERIFY_RES...
2018-10-07 18:49:32
1604
原创 Centos6.7 Openstack镜像制作.md
Centos6.7 Openstack镜像制作文章目录Centos6.7 Openstack镜像制作镜像需求镜像制作环境准备硬件环境软件环境kvm环境搭建软件安装网络设置镜像制作创建磁盘(创建将来的Openstack镜像)启动虚拟机连接vnc进行系统安装系统初始化基础软件包基础优化配置磁盘分区,自动resizefs(虚拟机启动时自动将额外分区扩展到/ cloud-init)访问instance ...
2018-10-02 17:06:34
853
原创 Openstack基础环境交换机常用配置(CISCO 3750G为例).md
Openstack基础环境交换机常用配置(CISCO 3750G为例)文章目录Openstack基础环境交换机常用配置(CISCO 3750G为例)基础操作初始化配置备份原交换机配置交换机重置硬重置软重置交换机初始化配置三层交换机开启路由功能PXE 配置配置生成树协议配置交换机禁用自身dhcpVLAN划分新建vlan并设置vlanip(即该段的网关)将一个接口加入vlan将一组接口加进vlant...
2018-10-02 16:59:43
1854
原创 Openstack虚拟机关机后无法启动(start).md
Openstack虚拟机关机后无法启动(start)文章目录Openstack虚拟机关机后无法启动(start)分析解决通过日志直接分析问题排查flag,先看他是什么东西再看异常查看系统日志#现象执行启动虚拟机(nova start)之后,虚拟机并未启动,到该计算节点母机查看/var/log/nova/nova-compute.log日志发现如下报错2018-09-30 02:31:27....
2018-10-02 16:56:31
2586
原创 记一次ceph排错过程
问题描述ceph作为openstack cinder的后端存储,在openstack创建云硬盘的时候报错,其中 /var/log/cinder/scheduler.log报错如下2018-07-09 08:49:16.996 974009 ERROR cinder.scheduler.filter_scheduler [req-e97fdc3e-e66b-461e-a1ff-bb064...
2018-07-17 09:52:36
1215
原创 Openstack镜像制作_windows_2008_R2
1.环境说明1.1硬件环境1.2软件环境2.环境搭建2.1 软件安装2.2网络设置3.镜像制作3.1创建磁盘(创建将来的Openstack镜像)3.2启动镜像3.3连接vnc进行系统安装系统初始化3.3.1vnc连接3.3.2 安装系统3.3.3 初始化4.2 压缩对比4.3 检测5.上传镜像(Kilo) NOTE: ‘#’开头的是ro...
2018-03-23 12:51:16
1707
原创 Openstack镜像制作_CentOS7
1.环境说明1.1硬件环境1.2软件环境2.环境搭建2.1 软件安装2.2网络设置3.镜像制作3.1创建磁盘(创建将来的Openstack镜像)3.2启动镜像3.3连接vnc进行系统安装系统初始化3.4清除镜像信息(mac地址等)4.镜像上传(Kilo) NOTE: ‘#’开头的是root权限执行的命令 ‘virsh #’开头的是virs...
2018-03-22 10:54:49
1670
翻译 Openstack最新发行版:向Queens致敬
存储GPUs容器OpenStack的未来openstack社区今天发行了Queens版本,此版本为Openstack的第17个开源云版本,包含一些重大更新,例如SDN、GPU兼容和容器负载跟踪监控。 openstack正在飞速发展以满足用户需求,OpenStack基金会执行总监Jonathan Bryce表示:“云最初是一种获得虚拟机的快速方式。“现在,人们期望Open...
2018-03-02 16:29:02
4698
翻译 容器与虚拟机
容器与虚拟机 ------是否容器化是个问题,或者说容器VS虚拟机是永恒的争论在Mirantis,我们经常考虑如何将整个传统的开发域上云,我们首先考虑的不是如何去移动一个开发域,而是考虑该开发域该不该上云。在本文中,我们将讨论在特定情况下上云需要考虑的一些问题。目前将应用迁移到云上,一般有两种方式,虚拟机和容器,尽管在许多情况下,最简单的解决方案似乎是将应用迁移到虚拟机,但这种解决方式并不一定是最
2017-11-08 11:42:04
2008
转载 Openssh6.5升级至7.x
最近客户的机器漏扫过程中发现最多得高危漏洞就是ssh未升级系列漏洞,修补漏洞参考如下方案http://www.jianshu.com/p/8c66fdab0c1f 参考以上博客源码安装过程 注意安装完之后重启链接会显示“找不到host_key”则需要删除 /etc/ssh/ssh_host_* 重启服务器即可
2017-10-20 15:43:06
489
原创 Openstack虚拟机创建中的RPC调用
参考《Openstack设计与实现》 https://blog.apporc.org/2016/04/nova-%E5%88%9B%E5%BB%BA%E8%99%9A%E6%8B%9F%E6%9C%BA%E6%B5%81%E7%A8%8B/ https://github.com/Moonlight-shadow/openstack-workflow虚拟机创建过程如图1-...
2017-04-24 11:20:44
1849
原创 Nova中的RPC
Openstack遵循这样的设计原则:项目之间用RESTful API通信;项目内部不同服务之间必须经过消息总线。远程过程调用(RPC,Remote Procedure Call)通过远程过程调用,一个服务可以调用其他远程服务进程的方法,并且有两种调用方式:call和cast。通过call调用,远程方法会被同步执行,调用者会被阻塞知道结果返回;通过cast的方式调用,远程方法会被异步执行,结果并不会
2017-04-17 16:12:40
1090
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人