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

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

  •  
  •   quxuanxuan · 209 天前 · 3201 次点击
    这是一个创建于 209 天前的主题,其中的信息可能已经有所发展或是发生改变。
    项目地址: 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  
       209 天前
    没有 demo 吗
    quxuanxuan
        2
    quxuanxuan  
    OP
       209 天前
    @evenno 可以在虚拟机上面部署安装使用 https://github.com/yunionio/cloudpods#quick-start 两步就安装好了
    defunct9
        3
    defunct9  
       209 天前
    好东西,能支持一下金山云么
    yanzhiling2001
        4
    yanzhiling2001  
       209 天前
    星外 鸟云 简智魔方 那种云管系统知道么,现在好多 idc 商家都希望有一个自主研发的云管系统,包括虚拟机管理、客户管理 商家管理 那种类似的。我正在写着。
    quxuanxuan
        5
    quxuanxuan  
    OP
       209 天前
    @defunct9 有对接计划,后面会支持
    quxuanxuan
        6
    quxuanxuan  
    OP
       209 天前
    @yanzhiling2001 是个人写么,这个还是比较复杂的
    yanzhiling2001
        7
    yanzhiling2001  
       209 天前
    @quxuanxuan 我自己写,全都是业务,底层用 proxmox 。quem 那套虚拟化管理 直接扒 proxmox 的 api,无非就是创建虚拟机、设置 ip,设置 cpu 内存 硬盘 带宽那些。

    在这些 api 的基础上写客户界面,客户管理 财务管理等等云管业务,也不难,慢慢写。
    quxuanxuan
        8
    quxuanxuan  
    OP
       209 天前
    @yanzhiling2001 niubility plus+
    defunct9
        9
    defunct9  
       209 天前
    市面上有的应该就是云联万维了,一看代码,果然库里有,希望能发扬光大。哈哈,可以不用买了
    quxuanxuan
        10
    quxuanxuan  
    OP
       209 天前
    @defunct9 活捉开源用户一枚
    defunct9
        11
    defunct9  
       209 天前
    bug 啊。用 centos7 装完后:
    Initialized successfully!
    Web page: https://x.x.x.x
    User: admin
    Password: [email protected]


    ┌───────────────────────────────────────────────────────────────────────────────┐
    │ │
    │ 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
       209 天前
    @defunct9
    平台是运行在 k8s 上的,所以装了 k8s 容器
    重启是因为私有云要用到 rbd 模块,要切换下内核
    k8s 启动可能是需要一些时间,建议加点 cpu 和内存
    defunct9
        13
    defunct9  
       209 天前
    找到问题了, 你的 ansible-playbook 忘记禁用 k8s 机器的 swap 了。
    lambdazx
        14
    lambdazx  
       209 天前
    @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  
       209 天前
    /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  
       209 天前
    @defunct9 感谢提供 /etc/fstab 的内容,应该是 '/swap.img none' 导致的,之前没有兼容这种情况,PR: https://github.com/yunionio/ocboot/pull/153 已经修复了这个问题。

    另外那个会重启运行 ansible-playbook 机器的 bug 我也复现了,应该是最近的修改导致的,囧。今天会修复这个问题。
    lambdazx
        17
    lambdazx  
       209 天前
    @defunct9 @quxuanxuan 会重启运行 ansible-playbook 机器的 bug 已经修复。
    对应 PR 为: https://github.com/yunionio/ocboot/pull/156
    Showfom
        18
    Showfom  
       209 天前
    不错,支持一下
    quxuanxuan
        19
    quxuanxuan  
    OP
       208 天前
    @Showfom 谢谢支持
    q1angch0u
        20
    q1angch0u  
       208 天前
    好想看看颜值啊……
    lambdazx
        21
    lambdazx  
       208 天前
    @q1angch0u 大概截了几个地方的图,下面介绍下。

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



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



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



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



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



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



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



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

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

    qfdk
        23
    qfdk  
       208 天前
    看起来好像很厉害的样子。我也可以当 IDC 了么
    Judoon
        24
    Judoon  
       206 天前
    看了下 ocboot,试安装了一下,装了好多东西,包括自己初始化了一个单机的 k8s 节点。
    如果我已有稳定可用的 k8s 集群,有没有简单快速的方式安装?
    lambdazx
        25
    lambdazx  
       205 天前 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  
       197 天前
    只看 k8s 的管理能力, 和 rancher 比有什么优缺点呢
    lambdazx
        27
    lambdazx  
       196 天前
    @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  
       184 天前
    垃圾 安装教程糊弄一下 完全没法运行 安装的前提环境都没有说明
    sunzenmail
        29
    sunzenmail  
       184 天前
    centos7 自带源 没有 ansible 都没有说明添加源
    lambdazx
        30
    lambdazx  
       182 天前
    @sunzenmail 你好,文档里面描述了要添加 epel 的源再安装
    https://www.cloudpods.org/zh/docs/quickstart/allinone/
    sunzenmail
        31
    sunzenmail  
       116 天前
    无法安装 提示如下: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  
       82 天前 via iPhone
    @sunzenmail 执行 yum install ansible 后应该就可以了
    关于   ·   帮助文档   ·   API   ·   FAQ   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   1247 人在线   最高记录 5497   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 31ms · UTC 23:21 · PVG 07:21 · LAX 15:21 · JFK 18:21
    ♥ Do have faith in what you're doing.