V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
springmarker
V2EX  ›  Kubernetes

大家是怎么管理 K8S 的

  •  
  •   springmarker · 2019-07-10 21:09:53 +08:00 · 18249 次点击
    这是一个创建于 1988 天前的主题,其中的信息可能已经有所发展或是发生改变。

    最近要上 K8S,阿里家贵的要死,打算自己搞一个,搞到现在了解了个大概,但是不知道大家平时管理怎么做的。

    网上关于这块的好像比较少,官方的 WEB UI 好像只能 localhost 访问,第三方也不知道选择哪个比较好。

    想问下大家用什么管理的 K8S?

    如果要更新线上项目,大家用的是管理界面手动更新还是自动化调用 REST API?

    49 条回复    2020-06-30 14:34:06 +08:00
    Nitroethane
        1
    Nitroethane  
       2019-07-10 21:27:42 +08:00
    昨天开始学 k8s,今天成功用 kudeadm 搭建了个集群,并且部署了官方的 kubernets-dashboard。能不能从外部访问容器全看你的配置呀,在 deployment 配置文件中 Service 部分的 spec 中通过设置 nodePort 的值指定暴露给外部的端口
    chinesestudio
        2
    chinesestudio  
       2019-07-10 21:29:08 +08:00 via Android
    rancher portainer
    springmarker
        3
    springmarker  
    OP
       2019-07-10 21:30:28 +08:00
    @Nitroethane #1 我弄的就是官方的 dashboard,我查了他这个 dashboard 官方故意设置成了只能 loclahost 访问。
    yeya24
        4
    yeya24  
       2019-07-10 21:30:50 +08:00
    从来没有说只能 localhost 访问啊,可以通过 nodeport、ingress、loadbalancer 这些都可以。想尝鲜的话可以用 kubeadm 简单搭建一个,当然也可以选择 rancher 看个人选择。如果实际用的话 dashboard 也没有很方便,目前还没有办法显示 CRD 的状态,简单用用是够了。最好还是熟悉一下 kubectl 命令行
    springmarker
        5
    springmarker  
    OP
       2019-07-10 21:31:35 +08:00
    @chinesestudio #2 这个是 Docker 的 UI 界面吧,我想用 K8S 管理的
    springmarker
        6
    springmarker  
    OP
       2019-07-10 21:38:10 +08:00
    @Nitroethane #1
    @yeya24 #4
    https://github.com/kubernetes/dashboard/wiki/Accessing-Dashboard---1.7.X-and-above

    注意:不应使用 kubectl proxy 命令公开公开仪表板,因为它只允许 HTTP 连接。
    对于 localhost 和 127.0.0.1 以外的域,将无法登录。单击登录页面上的登录按钮后不会发生任何事情。
    yeya24
        7
    yeya24  
       2019-07-10 21:41:27 +08:00
    @springmarker 这不是写的很明白了吗,他的意思是如果你使用 kubectl proxy 命令暴露服务,那么只能从 localhost 进行访问。你用 Service 或者 Ingress 暴露服务就可以访问了。推荐你还是先简单学习一下 k8s 里面的一些资源对象和概念比较好。
    chenqh
        8
    chenqh  
       2019-07-10 21:47:28 +08:00 via Android
    k8s 学了一天还没有部署成功
    Nitroethane
        9
    Nitroethane  
       2019-07-10 21:48:21 +08:00
    @springmarker #6 这说的是 HTTP 啊,默认配置是 HTTPS。
    szkoda
        10
    szkoda  
       2019-07-10 21:52:01 +08:00   ❤️ 1
    最便捷:kubectl 命令行

    友好一些:k8s dashboard

    paas 上层封装:调用 api

    多云多集群:rancher

    啥都不想搞:直接用云厂商的页面
    springmarker
        11
    springmarker  
    OP
       2019-07-10 21:53:46 +08:00
    @yeya24 #7 哦哦,我光看 issue 的回复说只能 loclahost 访问了,没看到页面其他地方。
    springmarker
        12
    springmarker  
    OP
       2019-07-10 21:59:55 +08:00
    @szkoda #10 哦哦,问下你们更新项目是怎么个流程的,直接改 YAML/JSON 吗?
    mritd
        13
    mritd  
       2019-07-10 22:06:48 +08:00
    @chenqh #8 没有 2 星期就别想了
    vinsec
        14
    vinsec  
       2019-07-10 22:14:16 +08:00 via iPhone
    kubeadm 部署的话理论上只要处理好那几个被 wall 掉的镜像 时间还是挺快的 总的来说坑算比较多
    chenqh
        15
    chenqh  
       2019-07-10 22:39:48 +08:00 via Android
    大佬们都是怎么学 k8s 的?
    springmarker
        16
    springmarker  
    OP
       2019-07-10 22:51:27 +08:00   ❤️ 1
    @vinsec #14 我是通过 docker 代理搞的。

    @chenqh #15 我学了没多久,看书,不要看权威指南那本,我看了前言不搭后语的。看 In action 那本比较好。
    yeya24
        17
    yeya24  
       2019-07-10 22:55:08 +08:00
    可以看看现在阿里出的云原生技术公开课
    zeroten
        18
    zeroten  
       2019-07-10 22:56:14 +08:00
    可以了解下 openshift
    vinsec
        19
    vinsec  
       2019-07-10 23:32:21 +08:00 via iPhone
    @chenqh #15 张磊在极客时间上的那门课程不错 第一次觉得技术人也能这么会讲授知识:)
    Reficul
        20
    Reficul  
       2019-07-11 00:22:23 +08:00
    Dashboard 把 Service 改成 NodePort 就能访问了,另外 kubuctl proxy 好像可以 bind 在 0.0.0.0 上,但是不推荐。
    lhx2008
        21
    lhx2008  
       2019-07-11 00:23:21 +08:00 via Android
    自己玩可以玩 docker stack,部署简单,docker 直接集成,基本功能也都有
    cs202
        22
    cs202  
       2019-07-11 00:44:39 +08:00
    Rancher +1
    chinesestudio
        23
    chinesestudio  
       2019-07-11 01:57:44 +08:00 via Android
    @springmarker 这个支持原生 k8s ui 方便管理 光命令行也挺头大的 虽然打起来方便但不直观
    Sunmxt
        24
    Sunmxt  
       2019-07-11 02:37:58 +08:00 via Android
    自己用 ansible 写了做了一套部署工具
    Ley
        25
    Ley  
       2019-07-11 08:47:11 +08:00 via Android   ❤️ 1
    我们用 Azure Kubernetes Service,日常操作还是 kubectl,用 Azure DevOps pipeline 做 CI/CD。
    tt67wq
        26
    tt67wq  
       2019-07-11 09:02:16 +08:00
    全用 ctl 的,UI 不放心
    springmarker
        27
    springmarker  
    OP
       2019-07-11 09:25:12 +08:00
    @zeroten #18 这个就要全套上了吧

    @lhx2008 #21 不是自己玩,我自己也没那么多钱买服务器搞哟

    @Sunmxt #24 哦哦,是通过 k8s 的 rest API 弄的吗?

    @Ley #25 这个就要绑定 Azure 平台了吧

    @tt67wq #26 老哥不嫌麻烦吗
    tt67wq
        28
    tt67wq  
       2019-07-11 09:29:48 +08:00
    @springmarker #27 我嫌弃装 UI 麻烦
    springmarker
        29
    springmarker  
    OP
       2019-07-11 09:31:07 +08:00
    @tt67wq #28 那你们每次更新项目都要去 terminal 下改 yaml ?
    tt67wq
        30
    tt67wq  
       2019-07-11 09:36:32 +08:00
    @springmarker #29 不用啊,set image 或者 scale 就行,只有新项目才要 yaml,常用命令用 python 包一下,很方便了
    maichael
        31
    maichael  
       2019-07-11 09:47:38 +08:00
    我是用 kubeasz 玩的
    blackboom
        32
    blackboom  
       2019-07-11 10:30:26 +08:00
    @vinsec 张磊讲的确实不错
    Ley
        33
    Ley  
       2019-07-11 11:40:34 +08:00 via Android
    @springmarker 是的,看你们有没有在用或打算用 Azure 吧。本身这一套集成得还不错,从 scaling 到 monitoring 到 CI CD 都覆盖了
    anubu
        34
    anubu  
       2019-07-11 12:25:38 +08:00
    kubectl,jenkins+kubectl
    手敲命令是比较累一点,但在学习阶段,这个成本可以接受。
    还在考虑 rancher,作为一个 WebUI 来说,它做的有些多。由于功能比较多,在纳管自己的集群时会有一些入侵,即安装一些自己的组件,这点比较顾虑。理想的 WebUI 是功能足够,仅和集群 API 交互。
    当然如果使用全套 RKE 就没上面的问题,但有一种和发行版绑定的感觉。
    fanjianhang
        35
    fanjianhang  
       2019-07-11 12:31:29 +08:00 via Android
    openshift or rancher
    df4VW
        36
    df4VW  
       2019-07-11 12:42:16 +08:00
    terraform + 一些基本的 kubectl 吧
    coolloves
        37
    coolloves  
       2019-07-11 14:18:39 +08:00
    @chenqh 用 kubeadm 部署,改下镜像源,感觉用不到几分钟吧
    Trim21
        38
    Trim21  
       2019-07-11 14:19:12 +08:00 via iPhone
    本来想用腾讯云的 k8s master 添加自己主机 然后发现没法添加在腾讯云买的 redis 和 mysql …
    vincent927
        39
    vincent927  
       2019-07-11 17:49:10 +08:00
    阿里云托管版 k8s 值得拥有啊,master 都不收费的。和买 ecs 服务器自己搭 k8s 集群一毛一样
    springmarker
        40
    springmarker  
    OP
       2019-07-11 20:56:34 +08:00
    @vincent927 #39 请教一下,我看阿里云的 负载均衡 SLB 和 NAT 网关 单独收费,这两个是干嘛的
    vincent927
        41
    vincent927  
       2019-07-12 14:58:23 +08:00
    SLB 暴露服务到公网
    NAT 提供 VPC 内只有私网 IP 的 ECS 的公网访问
    vincent927
        42
    vincent927  
       2019-07-12 14:58:41 +08:00   ❤️ 1
    @springmarker SLB 暴露服务到公网
    NAT 提供 VPC 内只有私网 IP 的 ECS 的公网访问
    gok8s
        43
    gok8s  
       2019-09-05 23:15:57 +08:00
    墙裂推荐开源的 KubeSphere !已在测试生产环境大规模部署落地了 300 + 物理节点,用户体验和 UI 颜值简直不要太好
    springmarker
        44
    springmarker  
    OP
       2019-09-06 10:41:14 +08:00
    @gok8s #43 这个是青云的,也不属于社区的,怕以后不维护
    chilaoqi
        45
    chilaoqi  
       2019-11-11 18:06:57 +08:00
    KubeOperator
    gok8s
        46
    gok8s  
       2019-12-13 10:05:16 +08:00
    @springmarker 怎么可能...
    securityCoding
        47
    securityCoding  
       2019-12-17 17:41:40 +08:00
    @springmarker 我说怎么有股熟悉的青云控制台的味道...
    0x000007b
        48
    0x000007b  
       2019-12-27 09:39:14 +08:00
    @securityCoding 到底行不行这东西不是开源的吗,我想试试这个来着
    fastzhong
        49
    fastzhong  
       2020-06-30 14:34:06 +08:00
    @chenqh minikube,简单,单结点集群
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   993 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 21:38 · PVG 05:38 · LAX 13:38 · JFK 16:38
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.