各位公司的 K8S 集群是通过什么方式搭建的? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
zhoudaiyu

各位公司的 K8S 集群是通过什么方式搭建的?

  •  
  •   zhoudaiyu
    PRO
    May 28, 2021 via iPhone 12467 views
    This topic created in 1795 days ago, the information mentioned may be changed or developed.

    我们的环境是私有云,搭建是用半自动的方式的,就是把启动需要的二进制文件和配置文件都分发到各个节点,虽然说这样可以改的地方比较多,比较灵活,但是非常容易改错某个配置导致集群启动不了。想问问你们公司都是咋搭建 k8s 的? kubearm ? rancher ? GitHub 上面的全自动化脚本?还是?

    67 replies    2021-09-09 17:54:57 +08:00
    labulaka521
        1
    labulaka521  
       May 28, 2021 via iPhone
    用腾讯云
    kennylam777
        2
    kennylam777  
       May 28, 2021
    Kubesprary 或者全套 OpenStack 都有
    whileFalse
        3
    whileFalse  
       May 28, 2021
    生产:云托管
    测试:MicroK8s
    ericls
        4
    ericls  
       May 28, 2021 via iPhone
    这种东西一定要先手动一次 才敢用自动的
    turingli
        5
    turingli  
       May 28, 2021 via Android
    microk8s
    arischow
        6
    arischow  
       May 28, 2021 via iPhone
    EKS
    kennylam777
        7
    kennylam777  
       May 28, 2021
    然 kubespray 可以自搭好境及分配置,但是不 kubeadm 的,不可能敢自己搭的

    我的建是,你有 CKA 格才玩自建 k8s 吧,起了也 troubleshoot,CKA 不考管的。
    plko345
        8
    plko345  
       May 28, 2021 via Android
    跟着文档走,上生产别看别人的博客和百度
    d0m2o08
        9
    d0m2o08  
       May 28, 2021   1
    之前用 kubeadm
    现在用 kubeasz
    ansible 一把梭
    yalin
        10
    yalin  
       May 28, 2021
    rancher
    Webpoplayer
        11
    Webpoplayer  
       May 28, 2021
    rancher
    lazyyz
        12
    lazyyz  
       May 28, 2021 via Android
    rancher +1
    JosephHan
        13
    JosephHan  
       May 28, 2021
    rancher
    bootvue
        14
    bootvue  
       May 28, 2021
    k3s rancher
    anzu
        15
    anzu  
       May 28, 2021
    测试单机 minikube 一把梭
    生产用云提供的
    jingslunt
        16
    jingslunt  
       May 28, 2021
    国内社区的 sealos 挺好的,也是一键部署 HA,还支持大量插件 helm/istio/ceph/efk
    dunhanson
        17
    dunhanson  
       May 28, 2021
    自己手搭建
    koala9527
        18
    koala9527  
       May 28, 2021
    阿里云 ACK
    coolcoffee
        19
    coolcoffee  
       May 28, 2021 via iPhone   2
    自己搭建只是学习。但是测试环境和生产环境都用的 aws 和 aliyun 提供的。

    因为自己搭建的无法解决负载均衡、不好解决持久化存储、不好动态扩容 node 。

    就算上面的问题都能自己开发插件解决,但是这成本已经远远超出了直接托管云服务的成本。何况阿里云的基础托管还不收钱。
    Illusionary
        20
    Illusionary  
       May 28, 2021
    dev qa 环境是在 idc 机房的,用二进制部署,生产直接买阿里云 ack
    kennylam777
        21
    kennylam777  
       May 28, 2021
    @coolcoffee

    你所要的 LB, PV, Scaling 在 OpenStack 都能包,拆的也不用自己吧,成方案是有不少的。
    QBS
        22
    QBS  
       May 28, 2021
    自己搭过,也用过 rancher 和 kubesphere,推荐 rancher 。体感:无脑简单,对运维体检最佳。
    arbit
        23
    arbit  
       May 28, 2021
    kuboard 照着官网这个搭,没遇到什么坑
    risky
        24
    risky  
       May 28, 2021
    kubeadm
    joesonw
        25
    joesonw  
       May 28, 2021
    @coolcoffee 即使是 baremetal, LB 和 CSI 也有现成解决方案. 动态扩容的话应该是只适合云上, 自己部署的话哪有多余的闲暇机器.
    lework1234
        26
    lework1234  
       May 28, 2021
    通过 kubeadm 方式部署,使用 https://github.com/lework/kainstall 脚本一键安装的。
    jingslunt
        27
    jingslunt  
       May 28, 2021
    rancher 部署方式还真的多
    生产环境
    RancherD
    Helm CLI
    RKE
    开发环境
    docker
    lawmil
        28
    lawmil  
       May 28, 2021
    线上直接托管阿里云
    salmon5
        29
    salmon5  
       May 28, 2021
    二进制加 ctrl+c,ctrl+v
    kennylam777
        30
    kennylam777  
       May 28, 2021
    @lework1234 又一子......的方法是先用 playbook 安好 python3,就可以愉快使用 Ansible 了吧
    kennylam777
        31
    kennylam777  
       May 28, 2021   2
    我大部分的回答都不,都私有半自的了,竟然大部分答案都是公有管,有一堆手小作的 kubeadm 的方案......

    起是要 CNCF 的方案吧,不然就走 K8s the hardway 的路。

    Rancher 是 CNCF 的,但 CNI 有限,半自化上比 Ansible 方案是太傻瓜了一,Rancher 公司也活了一段。

    Kubeasz 也了 CNCF,CNI 也多,全中文的教程及化像是有用的,但是竟是工作不知道目能活多久,我是不用的因有伺服器。

    kubespray 是 kubernetes-sigs 下的官方目,比 Kubeasz 有保,但是就麻了。

    我得起要有 OpenStack 一的西才算私有吧,不然就只是 bare metals 。
    NaVient
        32
    NaVient  
       May 28, 2021
    @kennylam777 #31 看了很多回答,就大兄弟你的回答靠谱点
    lework1234
        33
    lework1234  
       May 28, 2021
    @kennylam777 嗯,你这个方案也可行,不过还需要个前提 python3,以及下载对应的 playbook,不够方便。
    kennylam777
        34
    kennylam777  
       May 28, 2021
    @lework1234 kubespray 或 kubeasz 就全套 playbook 了, scaling 例如安後的 add/remove master/slave nodes 。

    自己一套自化有,但投入生境的工夫是很多的。

    Ansible 方案需要做的事是建立 inventory file 及 variables,和源 playbooks 完全分,完全是一 git + kubesprary/kubeasz 做 submodule 就可以管好的事。

    我想 kubespray 可以配一 cn mirror urls 的 variables file 就能在用了吧。
    wingoo
        35
    wingoo  
       May 28, 2021
    eks
    arischow
        36
    arischow  
       May 28, 2021
    楼上回答得很好啊。

    但是把其他人批判一番就挺逗的,根据标题和描述进来回答云托管有问题?
    www5070504
        37
    www5070504  
       May 28, 2021
    楼上的楼上没什么问题

    描述第一句就说了环境是私有云
    xin053
        38
    xin053  
       May 28, 2021   1
    @kennylam777 kubespray 新版有 generate_list.sh 脚本列出使用的二进制文件以及镜像(可以手动下载并上传到私仓),offline.yml 文件可以配置整个剧本使用私仓(包括 apt/yum 源,pip 源,二进制文件,docker 镜像等)

    我司目前就是将 kubespray 作为 submodule,然后自己写相关组件的剧本,反正 kubespray 挺好用的
    hijoker
        39
    hijoker  
       May 28, 2021
    kubeadm 搭建的
    kennylam777
        40
    kennylam777  
       May 28, 2021   1
    @xin053 kubesprary 的 contrib/offline/真的不

    kubesprary as a submodule 的方法我安心的是,只要跟上游的 release(e.g. 2.16),就可以享用上游的一段,升的候也有可依
    breezeFP
        41
    breezeFP  
       May 28, 2021
    sealos
    Rexyu
        42
    Rexyu  
       May 28, 2021
    Azure 搭建的 AKS
    fire2y
        43
    fire2y  
       May 28, 2021
    terraform 跑 eks
    kugouo4
        44
    kugouo4  
       May 28, 2021   1
    kubeadm+rancher or rke+rancher
    konakona
        45
    konakona  
       May 28, 2021
    由于公司不需要提供 SAAS 或者 PAAS 的底层自动搭建架构,直接用的腾讯云 TKE
    knives
        46
    knives  
       May 28, 2021
    etcd + k3s + rancher,跑在阿里云的便宜机器上,姑且够用。
    returnErr
        47
    returnErr  
       May 28, 2021
    ansible 自建.... task 自己写下就可以了
    YzSama
        48
    YzSama  
       May 28, 2021
    sealos 和 kubeadm,目前再用的。
    Firxiao
        49
    Firxiao  
       May 28, 2021
    "非常容易改错某个配置导致集群启动不了"
    不管你用哪种方式搭建, 解决问题的话是要创建多个环境,例如 dev--> uat > prod 不要在生产环境直接改, 用流程来避免不当操作.
    huweic
        50
    huweic  
       May 28, 2021
    kubeasz
    xiaooloong
        51
    xiaooloong  
       May 28, 2021
    之前用 rke,现在用 kubeadm
    milletlok
        52
    milletlok  
       May 28, 2021
    学习一下
    SuperManNoPain
        53
    SuperManNoPain  
       May 28, 2021
    啊,这,k8s 这么流行了么,还是我太落后
    ZehaiZhang
        54
    ZehaiZhang  
       May 28, 2021
    阿里云免费的 k8s 界面完成的
    fuis
        55
    fuis  
       May 28, 2021   1
    我自己的话,生产集群用 kubespary 。自己用的开发集群用 kubeadm,或者 sealos
    没有 PV/PVC 可以用 iomesh.com
    监控的话用 Prometheus,日志用 EFK
    zhoudaiyu
        56
    zhoudaiyu  
    OP
    PRO
       May 28, 2021 via iPhone
    @Firxiao 其实是搭建新集群的时候出现的问题,线上不敢这样操作
    lixiang2017
        57
    lixiang2017  
       May 29, 2021 via Android
    sealos 一键完成
    hotsymbol
        58
    hotsymbol  
       May 30, 2021
    AWS EKS 或者 Azure AKS
    firefox12
        59
    firefox12  
       May 30, 2021
    居然没有 k8seasy. k8seasy 一键安装 二进制服务。
    mingqing
        60
    mingqing  
       May 30, 2021
    https://github.com/opsaid/deploy-k8s

    生产环境只有自己通过二进制部署,才敢用,最近刚整理了一点部署脚本
    kennylam777
        61
    kennylam777  
       Jun 3, 2021
    @mingqing 我不明白你口中的二制部署有何必要......看了你的安方法,不是直接在 yum etcd 。

    正式一的 playbook 都可以自 repo,比起自己在 local files/git repo 管理 binaries 有用得多,生境就不要玩吧。

    看看人家 production grade 的 playbook,有考 disaster recovery,不是一步安好就完事的。
    https://github.com/kubernetes-sigs/kubespray/blob/master/docs/recover-control-plane.md
    JimmyXu
        62
    JimmyXu  
       Jun 4, 2021
    @Illusionary 我们现在也准备这样来实现,能加下能您这边联系方式,聊聊吗?
    JimmyXu
        63
    JimmyXu  
       Jun 4, 2021
    @Illusionary 最近公司也准备忘这方面走,能加下您联系方式共同交流下吗?
    mingqing
        64
    mingqing  
       Jun 6, 2021
    @kennylam777 kubespray 我自己都有在看在学习,但是有很多功能、组件在各自业务体系里完全用不上,而通过这种定制化精简的二进制部署,维护者会更熟悉这套集群的基础架构,基础设施方便接入 cicd 工作流,而且组件单一,定位问题简单,而不是通过第三方工具自动化完成部署,之后出问题就甩给开源工具
    kennylam777
        65
    kennylam777  
       Jun 7, 2021
    @mingqing 嗯. 如果你是重自建 k8s cluster 涉及自家的 CI/CD 那用自己的 Ansible playbook 是可厚非的, 但其他使用者要理解你的 playbook 要有 K8s the hard way 的能力, 如果是公司分工的, 我是 Kubespray, 除非 team members 都是 CKA 一家的
    johnniang
        66
    johnniang  
       Jul 14, 2021 via Android
    kubekey
    leiuu
        67
    leiuu  
       Sep 9, 2021
    目前的方案推荐排序:

    rancher 10
    kubeadm 10
    Ansible 6
    sealos 5
    playbook 5
    kubeasz 4
    OpenStack 3
    Kubesprary 3
    About     Help     Advertise     Blog     API     FAQ     Solana     4233 Online   Highest 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 189ms UTC 05:29 PVG 13:29 LAX 22:29 JFK 01:29
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86