k8s进阶知识概述¶
一、k8s基础知识回顾¶
docker容器封装应用程序的意义在于:docker引擎统一了基础的设施环境、统一了程序打包(装箱)的方式,也统一了部署(运行)的方式。从程序开发到上线,开发者不再关注基础环境的差异,使得开发者可以将更多的时间花在业务逻辑上。
不过,单独使用docker,你会发现存在以下问题
-
单机使用,无法有效集群
-
随着容器数量上升,管理成本攀升
-
没有有效的容灾/自愈机制
-
没有预设编排模板,无法实现快速、大规模的容器编排
-
没有统一的配置中心管理中心工具
-
没有容器生命周期的管理工具
-
没有图形化运维管理工具
......
因此,我们需要一套高效的容器编排的工具,基于Docker容器引擎的开源容器编排工具目前市场上主要有:docker-compose、docker-swarm、kubernetes(k8s),由于k8s强大的容器编排功能,以及活跃的社区支持,k8s已经成为了docker官方推荐的容器编排工具。当我们使用k8s来部署服务,就能做到以下的效果
环境稳定
: k8s有自动修复的功能,发现某些服务不正常,它会尝试自启服务不间断
: 及时是只运行的服务只有一个副本,在更新服务的时候,k8s也会新起好新的服务才会踢出旧版本的服务一次构建,多环境运行
: 只需要打包一次镜像,在多个环境不需要重新构建
在前面的文章中,我们已经快速入门了k8s
的集群的基础知识,并且基于kubeadm
工具搭建了虚拟的k8s
集群,但对于强大的k8s
来说,知识冰山一角,在本系列中我们将继续探讨k8s
集群的进阶知识。
二、目标¶
2.1 目标¶
实际上,k8s常见有三种部署方式
-
minikube: 适合节点微型k8s,一般仅仅用于学习、预览使用
-
二进制安装部署: 是首选的安装方式
-
使用kubeadm: 进行部署,kubeadm 是k8s的快熟部署工具,操作简单快捷,建议非常熟悉k8s的提前下使用这种方式
本章,我们的目标是抛弃 kubeadm
工具,从零使用二进制安装的方式搭建k8s
集群,并更系统地地深入学习 k8s
知识!