k8s从容器到编排

一,K8s 是啥?

Production-Grade Container Orchestration

Kubernetes, also known as K8s, is an open-source system for automating deployment, scaling, and management of containerized applications.

 

K8s maser-slave架构

所以说K8s是啥呢?Kubernetes的缩写,最早的原型来自google的Borg,

很多产品的原型有google论文的影子吧,tidb,mapreduce等。

k8s是一个开源软件,用golang写的,自动发布,扩展,管理容器化应用。

所谓自动化发布,扩展,管理,用一个词概括了,就是编排。

是企业级,产品级,生产级,反正是好用可用大规模用,事实标准的容器编排

总之,k8s是做容器编排的。那么我们就从这两个方面入手,容器和编排

 

二,容器与编排

容器大家不陌生,docker嘛,经常跑啊,docker pull,docker run ,docker ps,docker exec,那这些命令背后都发生了什么呢?那容器本质是啥呢,为啥还需要编排呢?我们接下来一一讨论。

 

docker pull,docker run背后都发生了啥?

虽然docker pull,docker run ,docker ps,docker exec。经常用。测试环境,跑一个起来,免去安装依赖的麻烦,要知道在一个不确定的os上安装一个不确定的版本软件,没有安装脚本的情况下,安装一个软件是及其繁琐耗时的,因为要做各种适配,依赖,调整:

比如,前段时间我们云查杀在测试环境安装一个redis:

wget http://download.redis.io/redis-stable.tar.gz

tar xvzf redis-stable.tar.gz

cd redis-stable

make USE_SYSTEMD=yes  PREFIX=/usr/local/redis/ install

就需要这俩:

yum install gcc -y  

yum install systemd-devel

然后安装好了,结束了吗?

make test 时还需要这个:

wget http://downloads.sourceforge.net/tcl/tcl8.6.1-src.tar.gz

tar xzvf tcl8.6.1-src.tar.gz  -C /usr/local/

cd  /usr/local/tcl8.6.1/unix/

./configure

make

make isntall

那在容器里多好,docker pull,docker run一把起来,利用容器镜像的移植性和一致性,一切都打包好的。

 

App,bin lib全部通过镜像封装在一起。

 

但现在是方便了,redis也用容器跑起来了,但现在只有一个redis容器,那它挂了怎么办,手动拉起来吗,如果想做容器化了的redis集群怎么办,不然没有可用性,不能上生产环境,那就白搭啊。实际上,非容器化的,也是一样的,物理机上虚机上,redis有什么主从,有哨兵,有redis cluster,有各种方案,做集群,这个做集群,可用简单粗暴的理解在k8s里就是做容器的编排。

 

这种需求是普遍的,因为我们在程序世界,有架构,设计,这些东西,因为往往不是一个单一的程序,或者中间件就能完成一个事情,比如一个想承载大流量的博客系统,可能除了博客程序本身,还需要nginx,redis,MySQL,等不同中间件的配合,博客程序自己,也有注册登录模块,发布模块,帖子模块,评论模块这样的拆解,松耦合,高内聚,是程序世界的准则。现实生活中也一样无论公司还是各种结构,都有不同的职能部门与分工,而多个不同的实体之间的联系与协作,这是普遍的。有redis集群,就有nginx集群,就有mysql集群,mongodb集群,他们也都需要,上下线,保持可用,健康检查,扩缩容等等。所以说不同实体间,做架构,做联系,做编排是普遍的抽象需求。这是技术之上的抽象,不管什么技术,都需要。

那既然是普遍的抽象需求,那容器或者说docker被大规模使用之前,这些问题肯定就已经在生产环境存在且被解决了

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值