网站首页 文章专栏 kubernetes是什么、干什么用的
套路以旧,先上图
自从用了自己开发的基于DOCKER 的部署工具后,工作起来得心就手,除了最近的公司 域名备案变更 问题外,倒没有其它大事情可做,一闲下来就要快快给自己充电。从经理那借到一本 <<kubernetes 权威指南>> 看了几天,接合在 kubernetes 中文网的教程。我把自己的理解,整理如下:
(有不对的地方,希望大家踊跃提出来)
先上图,怼着图,给大家讲 这是在网上给大家找的一个最简单好理解的图(没画出来其它的服务,但不影响今天我给大家讲)
下面简称kubernetes 为k8s ,它是一个基于容器技术的分布式架构方案。是谷歌严格保密十几年的秘密武器---Borg 的一个开源版本,Borg 是谷歌内部使用的大型集群管理系统,也是基于容器技术,就是为了实现资源管理 的自动 化,和资源利率的最大化。
k8s 是一整套的项目部署管理的实现 ,其内部使用用容器技术 ,可以让项目代码在一个集群环境的多个主机(node)互相迁移。由kubelet 负责告诉k8s 它需要创建一个项目,并告诉它,我要同时启动几个来保持冗余。当k8s 某个服务收到该信号后,由内部机制从MASTER服务往下面的kubelet 发送任务,当然这其中,当有好多算法,来计算项目跑到哪个Node 上。
语言表达能力不佳,可能 上面的你看不太明白 。
这样说,当你有多个物理服务器,并且需要多个服务共同相互协同,但你总怕某一天,哪台物理服务器宕机了,全部服务就此傻掉了,你要马上发现并,开始在新的服务器上再部署一边。当然这样不是不可以,但,你发现问题需要时间,再弄一台服务器需要 时间,重新部署一份服务,需要更多时间,怎么办!!!
这时候,为了避免上面宕机带来的一系列问题,推荐你使用k8s ,它有自检机制当多个物理服务器集群环境里,当有一台服务宕机,或某此情况 不能提供服务时,k8s 用调度集群里的其它Node 来运行这些服务,并且你不用担心因物理机的变动 带来的一系列IP 的变动, 因为K8S 有自己的对服务IP 的定义 ,不会因为项目在一个集群里的迁移而带来IP 等麻烦。
情况二,假设你还没用k8s,但你想到了,负载均衡,你可能用的nginx 或 haproxy 来代理后端的服务,但在你更新项目时,你需要做的是一个项目的多个冗余,你需要 一个一个的操作更新,这其中你还不能出错,并且不能按时保证。
这个时候 ,你应该想k8s ,它是以配置文件维护的。你只需要一个命令,或更新一下配置文件的镜像版本 ,重新提交,k8s会自动的一个一个把旧的版本替换掉,当你的冗余是一个的时候 ,它会直接生成一个新的版本,当新版本生成完成,才会把 旧的替换到,它总能保持正常业务的运行
今天先到这里,没看懂的同鞋请留言
后面,我会把我学到的命令和知识 点记录下来,有兴趣的同学请关注 我的博客