练习篇:K8s 集群配置测验

第二部分的内容围绕 Kubernetes 核心组件的安装配置一一给大家拆解了一遍,当前集群组件最主流的配置就是这些:containerd、kubeadm、IPVS、Calico、kube-dns。读者通过官方文档就可以独立配置一套集群,只是笔者发现,因为集群配置的过度复杂,能获得的环境也是千差万别,很难得到统一的认知。本篇测验的目的就是带着大家一起校验一遍我们学习到的经验,一起搭建一套集群的全过程,以此来校验我们掌握的集群知识。

环境

从第一天接触容器技术之后,我们想解决的问题就是环境依赖问题。因为 Docker 是让环境包裹这应用一起制作成镜像分发的。等我们配置 Kubernetes 集群的时候,我们操作的最小单元是 Pod,你可以理解为是一个容器组,这个容器组并不是简单的把一组容器放一起就完事了。它的设计巧妙之处在于以 pause 为核心的基础容器把相关应用的所有环境依赖都掌握在自己的运行时里面。其它相关业务容器只是加入到这个运行时里面,这些业务容器出现问题并不会破坏环境。这是 Kubernetes 构建业务集群的核心设计,非常巧妙的解决了应用服务的可用性问题。

现在我们要选择操作系统的版本了。你会发现并没有任何官方文档说过,哪一个版本是指定的。其实官方并没有这样的约定。因为容器的目的就是解决环境的依赖,但是这么多年的演进,说的更清楚一点,我们仍然有一个核心依赖就是 Kernel 依赖搞不定。Kernel 的特性会决定容器的特性,我们一般在选择上会参考 Docker 的版本来定,主流的有 18.09、19.03 等。你发现没有,你并不能保证在特定的环境下这些 Docker 版本没有问题,这就是我们在配置生产环境中出现问题自己埋下的坑。

如果你是企业内部使用,最好的办法是建立基准线,明确版本号,在大量实践的基础上投入人力来维护这个版本的稳定性。因为

你可能感兴趣的:(Kubernetes,实践入门指南)