一、关于Kubernetes初学的疑惑
就在这场因"容器"而起的技术变革中,kubernetes项目已经成为容器技术的事实标准,重新定义了基础设置领域对应用编排与管理的种种可能
1、为什么容器里只能跑“一个进程”?
2、为什么我原先一直在用的某个 JVM 参数,在容器里就不好使了?
3、为什么 Kubernetes 就不能固定 IP 地址?容器网络连不通又该如何取Debug?
4、Kubernetes 中 StatefulSet 和 Operator 到底什么区别?PV 和 PVC 这些概念又怎么用?
这些问题乍一看与我们平常的认知非常矛盾,但他们的答案和原理却并不复杂,不过很遗憾,杜宇杠杠开始学习容器的技术人员来说,它们却很难用一两句话就能解释清楚
究其原因在于,从过去以物理机和虚拟机为主题的开发运维环境,向以容器为核心的基础是指的转变过程,并不是一次温和的改革,而是涵盖了对网络、存储、调度、操作系统、分布式原理等各个方面的容器化理解和改造
二、学习大纲
1、“白话”容器技术基础
我希望用饶有趣味的解说,给你梳理容器技术生态的发展脉络,用最通俗易懂的语言描述容器底层技术的实现方式,让你知其然,也知其所以然
2、Kubernetes 集群的搭建与实践
Kubernetes集群号称"非常复杂",但是如果明白了其中的架构和原理,选择正确的工具和方法,它的搭建却也可以"一键安装",它的应用部署也可以浅显易懂
3、容器编排与 Kubernetes 核心特性剖析
这个专栏最重要的内容,"编排"永远都是容器云项目的灵魂所在,也是Kubernetes社区持久生命力源泉。在这一模块,我会从分布式系统设计的视角出发,
抽象和归纳出这些特性中体现出来的普遍方法,然后带着这些知道思想去逐阐述Kubernetes项目关于编排、调度和作业管理的各项核心特性。“不识庐山真面目,只缘身在此山中”,希望这样一个与众不同的角度,能够给你以全新的启发。
4、Kubernetes 开源社区与生态
“开源生态”永远都是容容器技术和Kubernetes项目的关键。在这个模块,我会和你一起探讨,容器社区在开园软件工程指导下的演进之路;
带你思考,如何同团队一起平衡内外部需求,让自己逐渐成为社区中不可或缺的一员。
三、经典留言
如果拿汽车来做比:
Docker好比汽车引擎,
Dockerfile相当于汽车蓝图,
Docker image(镜像)就是汽车样板,
Docker container(容器)类似于汽车的零部件,
Docker Registry可以看作是4s店,
Docker Compose就像老司机,
Docker Volume就像是汽车的油箱, 如果把容器间内的io数据流比喻成汽油,
Docker Swarm(或者K8s)就是交通枢纽。