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

k8s 怎么入门,感觉也很不友好

  •  1
     
  •   Kontinue · 2019-10-09 09:38:33 +08:00 · 9990 次点击
    这是一个创建于 1632 天前的主题,其中的信息可能已经有所发展或是发生改变。

    之前看了 Docker 和 Compose 感觉还是很好入门的,基本学下指令,日常工具使用没问题了。现在公司想在 k8s 搭一个发布系统,于是转 k8s 了。

    昨天刚在本地装了个 minikube 玩,搭建完看到 dashboard 后,也是两眼一抹黑不知道要干嘛。。。入门感觉各种概念巨多,有一种下不去手的感觉,有没有好的实战类型的教程推荐吗?目前想要快速掌握基本的用法。

    25 条回复    2019-10-09 21:02:29 +08:00
    momo733
        1
    momo733  
       2019-10-09 09:45:39 +08:00   ❤️ 2
    kubernetes in Action
    kacawa
        2
    kacawa  
       2019-10-09 09:49:33 +08:00
    有本书叫《每天五分钟玩转 Kubernetes 》,我觉得不错。
    kennyliu
        3
    kennyliu  
       2019-10-09 10:07:25 +08:00
    Kubernetes 官方文档我觉得讲解的够清楚了 还会给你举例说明 各种概念之间的联系都有讲到
    hdbzsgm
        4
    hdbzsgm  
       2019-10-09 10:08:13 +08:00
    官网的 task 系列了解一下
    dreamusername
        5
    dreamusername  
       2019-10-09 10:12:42 +08:00   ❤️ 7
    我一开始觉得入门也很难,摸索了很久,现在倒是可以分享一下如何入门。
    1、抛弃 UI,不管是 GUI 还是 WebUI,也不要把部署一个 dashboard 当作目的,不要管 UI,一心 cli。
    2、只看《 kubernetes in action 》这本书,有中文版
    3、最好使用完整的 kubernetes 环境来练手,可以使用 kubeadm 架设或者直接使用 kubeasz 脚本架设,一开始不必考虑原理,等以后再完整二进制部署
    4、给自己设定一个时间,比如 2 天泛读完这本书,1 周实践完这本书
    houzhimeng
        6
    houzhimeng  
       2019-10-09 10:15:37 +08:00
    直接三台机器,kubeadm 搭建一个小集群
    Kontinue
        7
    Kontinue  
    OP
       2019-10-09 10:16:51 +08:00
    @dreamusername 感谢你的建议我试试
    HangoX
        8
    HangoX  
       2019-10-09 10:17:22 +08:00   ❤️ 1
    直接搭建一个图形化吧,rancher 直接帮你搭建好 k8s ,https://blog.ilemonrain.com/docker/rancher-with-k3s.html
    ai277014717
        9
    ai277014717  
       2019-10-09 10:45:26 +08:00
    之前试验了下,主要还是 wall 的问题。要多配置很多东西。在小 v 上玩吧
    cluulzz
        10
    cluulzz  
       2019-10-09 10:50:42 +08:00
    略下官网 CONCEPTS,定几个目标,有啥问题翻下文档或者 google
    然后就成功把 spring-cloud netflix 搬上了 k8s..
    menyakun
        11
    menyakun  
       2019-10-09 10:50:43 +08:00
    #8 k3s 的坑也不少,还是在虚拟机里搭个双节点的 k8s 小集群吧
    CallMeReznov
        12
    CallMeReznov  
       2019-10-09 10:56:00 +08:00   ❤️ 1
    兄弟你这个头像,我怎么都感觉你不像不会 K8S 的
    Ansen
        13
    Ansen  
       2019-10-09 11:04:05 +08:00
    mosesyou
        14
    mosesyou  
       2019-10-09 11:04:52 +08:00
    极客头条有个 k8s 的课程不错
    polythene
        15
    polythene  
       2019-10-09 11:10:22 +08:00
    @mosesyou 老哥,人家那叫极客时间。。。
    widewing
        16
    widewing  
       2019-10-09 11:11:38 +08:00 via Android
    rancher. 入门简单边用边学
    kiddingU
        17
    kiddingU  
       2019-10-09 11:15:05 +08:00
    把基本的概念搞清楚,比如 pod service rc deployment 等,以及这些之间的关联,然后慢慢弄清楚工作流,比如 pod 是怎么工作的
    chris89
        18
    chris89  
       2019-10-09 11:41:23 +08:00
    可以考虑看个视频,了解下各个组件以及一些简单的操作,然后在根据自己的业务需求,参考官网和视频,进行进一步的学习。
    anubu
        19
    anubu  
       2019-10-09 12:07:46 +08:00   ❤️ 5
    1. 调整预期。非集群的 docker 及 docker-compose 的复杂度和 Kubernetes 不是一个级别,所以学习难度的预期不应该一样。
    2. 模拟环境。建议 kubeadm 搭建双节点来学习,不建议入门使用其他的发行版或工具,如 rancher、openshift 等。就入门学习来说,这些工具对原生 Kubernetes 进行了封装,一方面阻碍了对原生概念的理解,另一方面引入了封装后的概念,增加了学习量。一个不太恰当的比喻,我们更倾向于学习 Linux 本身而不是某个具体的发行版。这个比喻不太恰当是因为我们很难绕过具体的发行版去学习 Linux,但 Kubernetes 却不是。入门之后再去了解各种*KE、*KS 会更容易些。
    3. 手动练习。不要依赖图形化的 UI,就使用 kubectl,手写各种资源的 yaml,把各种资源都调试部署一遍。yaml 中的常用字段对着手册理解。有了基本理解后,推荐找一些好的 yaml 参考学习。这里推荐 helm 仓库,不是说要用 helm 部署,而是用 helm template 来导出各种部署的 yaml 来学习,看看仓库里的 yaml 都是怎么写的,为什么这么写。个人感觉对学习很有帮助。

    资料建议以官方文档和手册为主,弄懂各种概念是实践的前提。
    stanjia
        20
    stanjia  
       2019-10-09 12:43:03 +08:00
    出二手  kubernetes in Action  中文版 北京面交
    rexyan
        21
    rexyan  
       2019-10-09 15:12:59 +08:00
    主要是概念吧,deployment,pods,service,configmap 这些搞清楚了,大致有个印象,知道 yaml 常用的参数就行吧。后期可以自己弄弄有状态的服务,还有自动化部署啥的,部署一两个就好了
    galaxyyao
        22
    galaxyyao  
       2019-10-09 16:44:47 +08:00   ❤️ 1
    非常推荐极客时间里的《深入剖析 Kubernetes 》( https://time.geekbang.org/column/intro/116 )。
    极客时间里的我买过最值的就是这门了,讲得非常深入简出。
    建议搞几台虚拟机,基于 kubeadm 来搭一套双节点的环境,部署一套 nginx 静态网站,部署一个 mysql,基本就摸得差不多了。
    根据课程我也自己写了一些学习笔记,可以参考:
    https://galaxyyao.github.io/tags/kubernetes/
    Phariel
        23
    Phariel  
       2019-10-09 16:48:52 +08:00 via iPhone
    给你个建议 抛弃所有的 GUI 学一学 kubectl 的使用和针对各种 resource 的操作 然后看一看 helm 怎么玩的

    四个字 熟能生巧
    lhx2008
        24
    lhx2008  
       2019-10-09 16:50:33 +08:00 via Android
    去腾讯云,花小一百,可以开一个一个月的单机器的 k8s 集群,然后对着各种面板各种名词,先有个概念。然后学习下 kubectl 怎么用。
    chcx
        25
    chcx  
       2019-10-09 21:02:29 +08:00
    先了解基本的组件概念,kubeadm 搞起来器群,以实际操作去熟悉各个子模块的功能,在深入模块间的详细调用流程及实现方式。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   1259 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 17:54 · PVG 01:54 · LAX 10:54 · JFK 13:54
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.