V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
quxuanxuan
V2EX  ›  分享创造

开源私有云+混合云 欢迎使用+Star

  •  
  •   quxuanxuan · 2021-06-30 11:12:24 +08:00 · 4791 次点击
    这是一个创建于 1270 天前的主题,其中的信息可能已经有所发展或是发生改变。
    项目地址: https://github.com/yunionio/cloudpods (Golang)

    前端开源: https://github.com/yunionio/dashboard (Vue)

    k8s 底座

    内置私有云,裸金属管理
    VMware OpenStack

    支持管理多个公有云资源
    阿里,腾讯,华为, Azure, Aws, Google, Ucloud, 天翼云.... 持续增加中

    管理的资源
    计算,网络,数据库,IAM, 监控,存储,容器....持续增加中

    有什么问题或建议欢迎提 issue 交流
    32 条回复    2021-11-05 01:19:18 +08:00
    evenno
        1
    evenno  
       2021-06-30 11:34:37 +08:00
    没有 demo 吗
    quxuanxuan
        2
    quxuanxuan  
    OP
       2021-06-30 11:39:10 +08:00
    @evenno 可以在虚拟机上面部署安装使用 https://github.com/yunionio/cloudpods#quick-start 两步就安装好了
    defunct9
        3
    defunct9  
       2021-06-30 11:57:26 +08:00
    好东西,能支持一下金山云么
    40EaE5uJO3Xt1VVa
        4
    40EaE5uJO3Xt1VVa  
       2021-06-30 12:06:44 +08:00
    星外 鸟云 简智魔方 那种云管系统知道么,现在好多 idc 商家都希望有一个自主研发的云管系统,包括虚拟机管理、客户管理 商家管理 那种类似的。我正在写着。
    quxuanxuan
        5
    quxuanxuan  
    OP
       2021-06-30 12:08:57 +08:00
    @defunct9 有对接计划,后面会支持
    quxuanxuan
        6
    quxuanxuan  
    OP
       2021-06-30 12:10:53 +08:00
    @yanzhiling2001 是个人写么,这个还是比较复杂的
    40EaE5uJO3Xt1VVa
        7
    40EaE5uJO3Xt1VVa  
       2021-06-30 12:14:59 +08:00
    @quxuanxuan 我自己写,全都是业务,底层用 proxmox 。quem 那套虚拟化管理 直接扒 proxmox 的 api,无非就是创建虚拟机、设置 ip,设置 cpu 内存 硬盘 带宽那些。

    在这些 api 的基础上写客户界面,客户管理 财务管理等等云管业务,也不难,慢慢写。
    quxuanxuan
        8
    quxuanxuan  
    OP
       2021-06-30 12:16:38 +08:00
    @yanzhiling2001 niubility plus+
    defunct9
        9
    defunct9  
       2021-06-30 13:03:12 +08:00
    市面上有的应该就是云联万维了,一看代码,果然库里有,希望能发扬光大。哈哈,可以不用买了
    quxuanxuan
        10
    quxuanxuan  
    OP
       2021-06-30 14:07:29 +08:00
    @defunct9 活捉开源用户一枚
    defunct9
        11
    defunct9  
       2021-06-30 15:10:27 +08:00
    bug 啊。用 centos7 装完后:
    Initialized successfully!
    Web page: https://x.x.x.x
    User: admin
    Password: admin@123


    ┌───────────────────────────────────────────────────────────────────────────────┐
    │ │
    │ The system is about to reboot in 30 secs to use new kernel. │
    │ You may abort the reboot by press Ctrl + C, and manually reboot later. │
    │ │
    └───────────────────────────────────────────────────────────────────────────────┘

    然后居然重启安机器,安装机只是跑 ansible-playbook 用。

    然后去重启目标机器,装了一堆 k8s 容器,都是退出的。docker ps 啥也看不见
    quxuanxuan
        12
    quxuanxuan  
    OP
       2021-06-30 15:26:36 +08:00
    @defunct9
    平台是运行在 k8s 上的,所以装了 k8s 容器
    重启是因为私有云要用到 rbd 模块,要切换下内核
    k8s 启动可能是需要一些时间,建议加点 cpu 和内存
    defunct9
        13
    defunct9  
       2021-06-30 15:51:41 +08:00
    找到问题了, 你的 ansible-playbook 忘记禁用 k8s 机器的 swap 了。
    lambdazx
        14
    lambdazx  
       2021-06-30 17:04:53 +08:00
    @defunct9 我看部署代码里面有禁用 swap 的逻辑 https://github.com/yunionio/ocboot/blob/7bdfa4909d64a8501cc2fb6ca8e269e3abe2e93c/onecloud/roles/common/tasks/main.yml#L161-L170
    方便说下你的 centos 7 里面的 swap 是通过 /etc/fstab 挂载的,还是 systemd 管理的?
    defunct9
        15
    defunct9  
       2021-06-30 17:12:43 +08:00
    /etc/fstab
    /swap.img none swap sw,comment=cloudconfig,comment=cloudconfig

    得加一段
    - name: delete swap
    lineinfile:
    path: /etc/fstab
    regexp: "swap"
    state: absent
    backup: no
    lambdazx
        16
    lambdazx  
       2021-06-30 17:57:03 +08:00
    @defunct9 感谢提供 /etc/fstab 的内容,应该是 '/swap.img none' 导致的,之前没有兼容这种情况,PR: https://github.com/yunionio/ocboot/pull/153 已经修复了这个问题。

    另外那个会重启运行 ansible-playbook 机器的 bug 我也复现了,应该是最近的修改导致的,囧。今天会修复这个问题。
    lambdazx
        17
    lambdazx  
       2021-06-30 19:23:58 +08:00
    @defunct9 @quxuanxuan 会重启运行 ansible-playbook 机器的 bug 已经修复。
    对应 PR 为: https://github.com/yunionio/ocboot/pull/156
    Showfom
        18
    Showfom  
       2021-06-30 20:17:22 +08:00
    不错,支持一下
    quxuanxuan
        19
    quxuanxuan  
    OP
       2021-07-01 09:34:26 +08:00
    @Showfom 谢谢支持
    q1angch0u
        20
    q1angch0u  
       2021-07-01 11:56:43 +08:00
    好想看看颜值啊……
    lambdazx
        21
    lambdazx  
       2021-07-01 16:03:46 +08:00
    @q1angch0u 大概截了几个地方的图,下面介绍下。

    部署完成后首先是登录界面,这里支持多语言切换,如下:



    然后是虚拟机,监控等资源的总览的控制面板,如下:



    左上角可以展开一级菜单,每个一级菜单里面有对应的资源二级菜单,比如 "主机 /虚拟机” 里面对应各个云平台虚拟机的资源:



    如果是管理公有云(阿里云, AWS, GCP 等等)或者 OpenStack , VMware 这些云平台的资源,需要先把对应平台的云帐号添加进来,然后后台就会自动同步,下面是支持云平台的截图:



    添加完云帐号后,可以在列表看到对应的帐号信息,比如余额:



    另外除了管理其它云平台的资源,我们也基于 Qemu/KVM 内置了一套完整的私有云实现(支持 VPC,迁移,快照,镜像管理等等) ,默认部署好后,就可以基于部署节点创建内置私有云的虚拟机了,下面这个截图是虚拟机的列表,有内置私有云的,也有 VMware 和 AWS 的虚拟机,可以通过上方的过滤器过滤:



    另外虚拟机支持 VNC 和 SSH 登录,截图如下:



    最后说下平台比较特色的功能,支持物理机的管理,可以自动给市场上主流的服务器( DELL, HP, 华为)安装 Linux 操作系统, 包括自动配置 IPMI,做磁盘 RAID,网卡 Bonding 等功能,列表截图如下:

    lambdazx
        22
    lambdazx  
       2021-07-01 16:11:54 +08:00
    除了前端外,后端提供一个 Golang 写的命令行工具,有自动补全和交互模式,能直接调用后端 API 管理资源(比如创建虚拟机,开关机等等),基本前端所有的操作命令行工具都有对应的子命令来实现。

    qfdk
        23
    qfdk  
       2021-07-01 17:19:57 +08:00
    看起来好像很厉害的样子。我也可以当 IDC 了么
    Judoon
        24
    Judoon  
       2021-07-03 17:06:40 +08:00
    看了下 ocboot,试安装了一下,装了好多东西,包括自己初始化了一个单机的 k8s 节点。
    如果我已有稳定可用的 k8s 集群,有没有简单快速的方式安装?
    lambdazx
        25
    lambdazx  
       2021-07-04 12:25:03 +08:00 via iPhone
    @Judoon 之前试过在 v1.15.9 的 k8s 里面部署,可以参考这个文档: https://www.cloudpods.org/zh/docs/quickstart/minikube/#%E9%83%A8%E7%BD%B2cloudpods-onecloud-operator
    但是这种直接部署到已有 k8s 集群的方式,无法使用内置私有云的功能,因为节点上没有安装对应的虚拟化软件。管理其他云平台的资源倒是可以使用。
    sangs
        26
    sangs  
       2021-07-12 14:17:10 +08:00
    只看 k8s 的管理能力, 和 rancher 比有什么优缺点呢
    lambdazx
        27
    lambdazx  
       2021-07-13 10:44:30 +08:00
    @sangs 和 rancher 比起来,rancher 在 UI 交互方面,比如 Helm 应用的管理,创建 workloads 的表单等都比 cloudpods 里面的 k8s 管理功能做的好。
    然后是创建 k8s 集群的功能,rancher 调用公有云 API 创建 K8S 集群,比如 AWS 的 EKS , Azure 的 AKS 等,如果是已有的基础设施,需要用 rancher 的 rke 组件部署 k8s 。cloudpods 这边有基础 IAAS 资源的管理能力,对接了各个公有云、私有云还有内置的私有云平台,所以创建 k8s 的逻辑是统一的,调用平台的 API 创建各个云的虚拟机或者物理机,然后再使用 kubespray 这种开源部署工具部署集群,假设在底层网络互通的情况下,其实可以做到一个集群下面的节点来自不同云平台,避免单一云平台锁定。
    总结来说的话,rancher 是一个纯 k8s 集群的管理平台,就 k8s 管理功能来说的话,cloudpods 和 rancher 基础功能(多集群管理,创建资源等)都差不多,但细节方面,还有额外的功能(应用管理,镜像仓库对接,审计和日志收集等) rancher 做的更好。cloudpods 这边是个完整的混合云,是在已有的 IAAS 资源上,调用平台统一抽象的 API 部署 k8s 集群,这个是我觉得有优势的地方,未来有可能实现不通云平台节点组成的 k8s 。
    sunzenmail
        28
    sunzenmail  
       2021-07-25 18:21:25 +08:00
    垃圾 安装教程糊弄一下 完全没法运行 安装的前提环境都没有说明
    sunzenmail
        29
    sunzenmail  
       2021-07-25 18:22:54 +08:00
    centos7 自带源 没有 ansible 都没有说明添加源
    lambdazx
        30
    lambdazx  
       2021-07-27 23:59:06 +08:00
    @sunzenmail 你好,文档里面描述了要添加 epel 的源再安装
    https://www.cloudpods.org/zh/docs/quickstart/allinone/
    sunzenmail
        31
    sunzenmail  
       2021-10-01 15:08:16 +08:00
    无法安装 提示如下:Traceback (most recent call last):
    File "./run.py", line 8, in <module>
    from lib import install
    File "/root/ocboot/lib/install.py", line 7, in <module>
    from . import ocboot
    File "/root/ocboot/lib/ocboot.py", line 5, in <module>
    from . import utils
    File "/root/ocboot/lib/utils.py", line 3, in <module>
    import yaml
    ImportError: No module named yaml
    lambdazx
        32
    lambdazx  
       2021-11-05 01:19:18 +08:00 via iPhone
    @sunzenmail 执行 yum install ansible 后应该就可以了
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2359 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 31ms · UTC 02:14 · PVG 10:14 · LAX 18:14 · JFK 21:14
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.