V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Recommended Services
Amazon Web Services
LeanCloud
New Relic
ClearDB
timothyye
V2EX  ›  云计算

Kubernetes 快速离线部署工具

  •  
  •   timothyye · 2017-08-31 17:24:59 +08:00 · 8410 次点击
    这是一个创建于 2640 天前的主题,其中的信息可能已经有所发展或是发生改变。
    公司的内部项目,现在开源了,用于在离线环境下快速部署 Kubernetes 集群,当然有 Internet 访问的环境也可以使用。

    大家都知道,官方的 K8S 在国内部署,会下载很多镜像,网速是个问题,这个工具已经提取了所有的离线包,实现无网络访问的本地化快速部署,并提供一个简单的 Web Portal,用于添加其他 K8S node,并实现一键批量初始化和加入集群……

    项目名称:Kubekit

    项目地址: https://github.com/Orientsoft/kubekit

    中文安装文档: https://github.com/Orientsoft/kubekit/wiki/Kubekit-%E5%AE%89%E8%A3%85%E4%B8%8E%E4%BD%BF%E7%94%A8%E6%89%8B%E5%86%8C
    31 条回复    2018-03-14 09:33:22 +08:00
    privil
        1
    privil  
       2017-08-31 17:36:05 +08:00
    ……我朋友也在做类似的东西,断断续续做了两个月了,万万没想到居然有人开源了
    timothyye
        2
    timothyye  
    OP
       2017-08-31 18:26:19 +08:00 via Android
    @privil 😂
    recall704
        3
    recall704  
       2017-08-31 20:53:36 +08:00
    我也想做这个东西,结果太忙又放弃了。

    很赞,但是东西要从百度网盘下载,有点蛋疼。
    cloverstd
        4
    cloverstd  
       2017-08-31 21:04:30 +08:00
    @recall704 #3 你忙着装系统
    snoopygao
        5
    snoopygao  
       2017-08-31 21:07:13 +08:00 via iPhone
    我只能用最传统的方式膜拜一下,顶!
    timothyye
        6
    timothyye  
    OP
       2017-08-31 21:33:42 +08:00 via Android
    @recall704 除了百度网盘,暂时还没想到比较好的地方放这种大文件
    wwek
        7
    wwek  
       2017-08-31 22:22:57 +08:00
    @timothyye 七牛呢
    xcc880
        8
    xcc880  
       2017-08-31 23:38:42 +08:00 via iPhone
    马克
    recall704
        9
    recall704  
       2017-08-31 23:49:56 +08:00
    @timothyye #6

    我最初的想法是设置为可配置项
    1. 像 docker 这样的,直接可用 yum install 安装,这个不需要离线的方式,或者从指定 yum 源安装。
    2. 镜像这样的,可以从自定义镜像仓库拉取。
    类似:
    https://github.com/kubernetes-incubator/kubespray

    当然,我这样的想法是基于跳过蔷的原因。
    yuanfnadi
        10
    yuanfnadi  
       2017-08-31 23:57:28 +08:00
    看到百度网盘四个字 瞬间逼格就低了很多。

    Download all the offline package from 百度网盘 with password 531v and with patience...

    为什么不放 git 上面。
    BenX
        11
    BenX  
       2017-08-31 23:59:30 +08:00 via iPhone
    赞美
    recall704
        12
    recall704  
       2017-09-01 00:02:02 +08:00
    @cloverstd #4 求不黑
    timothyye
        13
    timothyye  
    OP
       2017-09-01 00:48:07 +08:00
    @yuanfnadi 离线安装包有 1 个多 GB,放 github 上得搞死人吧……
    timothyye
        14
    timothyye  
    OP
       2017-09-01 00:48:31 +08:00
    @wwek 七牛可以考虑一下
    timothyye
        15
    timothyye  
    OP
       2017-09-01 00:52:13 +08:00
    @recall704 主要这边公司的生产环境,是确实没有 Internet 访问的,连 yum install docker 都不行,所以把 docker 也搞成 rpm 包离线安装了,是用 yum localinstall 本地安装所有依赖包来搞的

    K8S 需要的所有镜像,也是先 docker save 成包,再安装的时候 docker load 成为镜像,再安装
    wq2016
        16
    wq2016  
       2017-09-01 08:45:40 +08:00
    start +1
    WendellSun
        17
    WendellSun  
       2017-09-01 09:17:26 +08:00
    👍
    mritd
        18
    mritd  
       2017-09-01 09:32:14 +08:00 via iPhone
    😂楼主的开源精神值得赞扬,不过不建议继续 kubeadm 开发,这东西太扯淡,完全黑盒化部署,如果数量可以上生产的我还是推荐 kargo
    Ranler
        19
    Ranler  
       2017-09-01 10:41:17 +08:00
    接楼上,kargo 已更名为 kubespray
    boxuan
        20
    boxuan  
       2017-09-15 09:31:22 +08:00
    为什么我运行 kubekit init ipaddr 直接就报错退出了呢? 求解答啊,大家用的都没问题吗? 我的是 centos7.3 系统,应该没有问题啊,报错如下

    KubeKit V0.1.0 ⓒ OrientSoft 2017

    Initialization process started, with kubernetes master IP: 6.86.5.20

    ✔ HTTP file server listening at: 0.0.0.0:8000

    Start to install docker engine...
    (1/2) Start to install docker...
    Exit Status: 2

    ✖ Failed to install docker engine...

    ✖ Program terminated...
    timothyye
        21
    timothyye  
    OP
       2017-09-15 10:15:54 +08:00 via Android
    @boxuan 当前目录有一个 install.log ,看看里面的信息呢
    boxuan
        22
    boxuan  
       2017-09-15 11:13:00 +08:00
    @timothyye 信息如下
    [root@master kubekit]# cat install.log
    KUBEKIT_OUTPUT (1/2) Start to install docker...

    我的 kubekit 在 /root 目录下,package 目录在 /root/kubekit/package,完全没问题的
    timothyye
        23
    timothyye  
    OP
       2017-09-15 11:17:08 +08:00
    @boxuan

    目录应该是这样:

    /root/kubekit 这里存放所有的 kubekit 相关文件
    /root/kubekit/kubekit 可执行文件
    /root/kubekit/package package 目录
    timothyye
        24
    timothyye  
    OP
       2017-09-15 11:17:38 +08:00
    @boxuan 另外,机器上是否已经之前安装过 docker engine 了?
    boxuan
        25
    boxuan  
       2017-09-15 11:19:41 +08:00
    @boxuan 可以提供一下您的微信吗 我把截图发给您 非常感谢,机器上之前 yum 装过 1.12 的 docker
    timothyye
        26
    timothyye  
    OP
       2017-09-15 11:24:42 +08:00
    @boxuan 要不你把之前的 docker 卸载了试试,尽量保持机器环境是比较干净的环境 微信:2081121
    yuedingwangji
        27
    yuedingwangji  
       2017-09-20 01:19:30 +08:00
    mark 等有空玩下 部署有什么条件么,机器有什么要求?
    shakusi
        28
    shakusi  
       2017-12-13 08:57:55 +08:00
    试了下,很赞~
    artandlol
        29
    artandlol  
       2018-03-09 22:36:11 +08:00
    装完发现没有 8080 端口
    timothyye
        30
    timothyye  
    OP
       2018-03-10 00:20:31 +08:00 via Android
    @artandlol https,端口为 6443 你最好 source 一下.bashrc,一般就没问题了
    thhchucky
        31
    thhchucky  
       2018-03-14 09:33:22 +08:00
    https://masterip:6443/api/v1/apps 访问无权限 User "system:anonymous" cannot list apps at the cluster scope. 这个这么弄,修改 /etc/kubernetes/manifests/kube-apiserver.yaml 的 command 会无法重新启动 apiserver 这是为什么
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2800 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 21ms · UTC 14:25 · PVG 22:25 · LAX 06:25 · JFK 09:25
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.