RSS

Posts in 2023

  • 记一次符合 Google Coding Style 的 Bash 脚本重构

    23.05.2023 in 博客

    作者: Cloudpods 最近我在思考这样一个问题,顺便看一下gpt对这个问题的解释。搜索发现: 团队写代码,为什么要遵循coding guideline? 一致性:编码准则确保整个团队的代码风格和格式是一致的,这使得团队成员之间更易于交流和协作。这也使得代码更容易维护和更新,因为其他人可以更轻松地理解代码。 可读性:编码准则有助于提高代码的可读性。通过对代码进行格式化和注释,代码会更易于阅读和理解,从而减少错误和缺陷,并提高代码的质量。 可维护性:编码准则有助于提高代码的可维护性。通过使用一 …

    更多

  • SkyPilot:构建在多云之上的 ML 和数据科学,可节约 3 倍以上成本

    15.05.2023 in 博客

    整理: 高现起 导读:用于 ML 和数据科学的云计算已经比较困难,如果你想要通过成本优化削减成本,你的整体成本包括资源和人力,可能会不降反增。不想在机器闲置时停止?因为这样你可能需要反复的启停,并且重新配置环境或者准备数据。想要通过使用抢占实例降低成本?解决抢占实例的调度问题也可能会花上几周时间。如何很好的利用地区之间的巨大价格差异,或者不同云厂商之间更大的价格差异来降低成本? 如果云上有一个简单、统一的 ML 和数据科学接口,具有成本效益、容错性、多区域和多云,是不是会更好?今天就给大家介绍一 …

    更多

Posts in 2022

  • Cloudpods容器化经验分享

    29.11.2022 in 博客

    背景介绍 Cloudpods是一个开源的多云混合云管理平台。Cloudpods首先是一个私有云云平台,具备将计算节点使用开源QEMU/KVM虚拟化技术虚拟出虚拟机,实现私有云的功能。其次,Cloudpods能够纳管其他的云平台,包括主流私有云和公有云,实现云管的功能。Cloudpods的目标是帮助用户基于本地基础设置以及已有云基础设置,构建一个统一融合的云上之云,达到降低复杂度,提高管理效率的效果。Cloudpods从3.0开始全面拥抱Kubernetes,基于Kubernetes部署运行云平台 …

    更多

  • Cloudpods Golang实践

    02.02.2022 in 博客

    Cloudpods是完全自研的一套云平台,Golang是该平台的主要后端开发语言。本文介绍我们在平台开发迭代过程中关于Golang的经验以及在Golang上积累的框架和库,包括积累的Golang工具库,以及基于这些工具库实现的开发框架。 背景介绍 Cloudpods从2017年开始迭代开发。当时企业的IT环境已经不仅仅是本地的虚拟机以及裸金属,不少企业已经逐步采纳多云。所以Cloudpods平台作为新一代的云平台,需要不仅能管理本地IT环境中的虚拟机和裸金属,还能管理其他的云平台的资源,特别是公 …

    更多

  • 天空计算——云计算的下一个时代?

    21.01.2022 in 博客

    根据加州大学伯克利分校的两位杰出计算机科学教授Ion Stoica和 Scott Shenker 的说法,我们即将从云计算时代过渡到“天空计算”时代。 顾名思义,天空计算是云平台之上的一层——其目标是实现云之间的互操作性。 Stoica 教授曾正确预测云计算的未来,早在 2009 年 2 月,他和伯克利的一群学者发表了一篇关于当时新兴的云行业的有影响力的论文。 当时,亚马逊网络服务刚刚成立几年,谷歌唯一的云产品是 App Engine,微软的 Azure 尚未正式发布。2009 年的论文得出的结 …

    更多

Posts in 2021

  • Cloudpods + Rook + Ceph: 轻松实现云原生的超融合私有云

    09.10.2021 in 博客

    作者: 李泽玺 背景介绍 Cloudpods: 是我们开源的多云管理平台,运行在 Kubernetes 之上,里面包含一个完整的私有云实现。 Rook: 是一个分布式存储编排系统,目的是在 Kubernetes 上提供存储解决方案,本身不提供存储,而是在 Kubernetes 和存储系统之间提供适配层,简化存储系统的部署和维护工作。其支持的 Ceph 存储为 Stable 生产可用的状态。 Ceph: 是开源的分布式存储系统,主要功能包含 RBD 块存储以及 CephFS 分布式文件系统存储。 …

    更多

  • 用Calico网络策略设置主机node防火墙规则

    25.09.2021 in 博客

    作者: 小助手 Cloudpods的服务运行在一个Kubernetes集群之上,该Kubernets集群的网络方案采用了Calico。因此运行Cloudpods服务的节点的iptables规则被Calico接管。这就导致我们在Cloudpods服务节点上配置的防火墙规则会被Calico配置的iptables规则覆盖,导致防火墙规则不生效。本文介绍如何使用Calico的HostEndpoint和GlobalNetworkPolicy来设置主机节点的防火墙规则。 1、准备calicoctl工具 下载 …

    更多

  • QEMU+OCFS2: 使用OCFS2作为虚拟机磁盘文件的SAN存储文件系统

    02.07.2021 in 博客

    作者: 小助手 本文介绍OCFS2共享集群文件系统,如何配置以及如何在线扩容。 什么是OCFS2文件系统? OCFS2是 Oracle Cluster File System Version 2 的缩写,是Oracle公司内部开发的共享磁盘文件系统,于2011年开源,使用GNU GPL协议。 什么是共享磁盘文件系统呢?我们下面通过解释三个概念的对比来说明: 磁盘文件系统 这是最常见的文件系统,构建在本地的磁盘(块存储,Block Storage)之上。通过磁盘文件系统,磁盘上的内容以文件目录的形 …

    更多

  • 问题分析:为什么keystone的本地用户认证接口压测性能很差?

    01.07.2021 in 博客

    作者: 邱剑 有用户反馈keystone认证本地用户的接口性能很差,因此做了调研。 首先使用ab(apache benchmark)模拟用户认证,调用命令行如下: ab -n 2000 -c 100 -p ~/auth_body.json -T 'application/json' http://192.168.1.248:5000/v3/auth/tokens 执行以上脚本过程中,采集keystone的pprof的profile数据: wget …

    更多

  • 使用 Cgroups 限制 Kubernetes Pod 进程数

    25.06.2021 in 博客

    作者: 李泽玺 Kubernetes 里面的 Pod 资源是最小的计算单元,抽象了一组(一个或多个)容器。容器也是 Linux 系统上的进程,但基于 Namespace 和 Cgroups(Control groups) 等技术实现了不同程度的隔离。 简单来说 Namespace 可以让每个进程有独立的 PID, IPC 和网络空间。Cgroups 可以控制进程的资源占用,比如 CPU ,内存和允许的最大进程数等等。 今天主要介绍如何通过 Cgroups 里面的 pids …

    更多