Contents

如何学习kubernetes

How to Learn Kubernets

Contents
  • kubernetes官方网站

  • 深入架构原理与落地实践-GitHub地址

  • 深入架构原理与落地实践-在线阅读

  • 谷歌云微服务demo

  • 基于Kubernetes实现的微服务架构示例工程。《凤凰架构》的配套组件

  • k8s 这个东西真的内容太多了,没有啥系统性的资料,里面各种知识点真的太多了,最好的就是看官方文档,并且结合工作当中的实践慢慢积累,才能由浅入深,只是看文档想掌握深点,个人感觉很困难。

  • 如果不是专做这行,只是把它当作应用部署的底层平台的话可以按以下的简单的流程做

    • 1 、云服务商买一套,或者自己搭建个 k8s 环境
    • 2 、运行起来一套简单的前后端分离服务,这里主要练习的是多个镜像启动多个不同的 workload ,然后怎么能互相访问对接,这个环节能掌握清楚 workload service ingress 都是干嘛的,该怎么用,怎么关联
    • 3 、你会发现当你测试环境发生重启,或者 pod 重建后,数据库数据都没了,这会你就应该研究数据持久化了,pv pvc 的概念就出来了
    • 5 、然后你又创建了个前端服务,想修改个前端页面的配置文件参数,比如网页的 title ,其他都一模一样,但是每个服务一个镜像,太麻烦了,容器里直接修改,重建就没了,配置文件放 pv pvc ,太小题大做,这会 configmap 出现了。连接数据库的配置文件,密钥明文,太 low 了,secret 出现了
    • 6 、前端页面镜像有 bug ,必须要重打镜像了,cicd 出现了,你是选择 docker build 还是 jenkins ,新的知识又增加了
    • 7 、更新 workload 的镜像,问题又来了,服务会不会受损,多副本就不会受损吗?如何优雅终止,健康检查,无损更新?
    • 8 、服务高峰期怎么应对,手动扩副本数太傻,hpa 来了
  • 如果想深点,做些 k8s 运维或者技术支持的,那么除了上面的必须熟悉,下面的东西必知必会

    • 1 、清楚 k8s 的工作逻辑,master 的三大件是干嘛的,kubelet ,kube-proxy ,coredns 都是干嘛的,比如执行个创建或查询一个 workload ,系统组件之间怎么通讯的,创建一个 pod 后,容器网络和外界是怎么打通的,k8s 资源调度和分配逻辑是什么
    • 2 、自己搭建一套 k8s 集群,多 master 的最好,master 和 worker 节点分开(一定是自己搭建,不要购买云服务商现成的容器服务,自己搭建过程会收获不少东西)
    • 3 、熟练使用 kubectl 命令进行各种查询分析
    • 4 、清楚 rbac 的功能和使用
  • 等你发现 k8s 了解差不多了,发现总得有个监控吧,prometheus 出现了

  • 流量治理,服务分析也得有 ==> istio

  • 日志持久化保存 ==》els 来了

  • 漂亮帅气的监控 ==》得研究 grafana 了

  • 服务都上 k8s 了,集群越来越重要,etcd 崩了怎么办:etcd 原理和备份恢复得研究下

  • 想自建镜像仓库了 ==> harbor 研究下。

  • 这个云平台太贵了,业务想换个云平台,集群要迁移,velero 走起

  • 想给 pod 限速了,想给集群加审计了