云原生学习笔记02

二十六、Kubernetes-基础概念-简介

1、首先理解一下什么是Kubernetes,它的出现是为了什么?解决了什么问题?

2、比如说应用开发完了,我们想要部署,我们有这几种部署方式的进化。首先第一种是我们传统的部署方式,如果我把这些应用全都部署到某一台机器上,由于应用之间没有隔离性,可能由于我的A应用,它的内存泄漏,把其它应用都挤下线了,所以呢?不是怎么安全。接下来我们进阶到我们虚拟化的部署方式,虚拟化呢?就是我们以前说在我们的物理机上可以通过虚拟化技术开通几个虚拟机,这样我们把一些应用部署到虚拟机上,即时这些应用炸了呢?只能炸到这个虚拟机内,所以它占用的cpu内存顶多就这么多。然后我们又说虚拟机太笨重了,所以呢?我们Docker给我们开启了容器化的时代,只要我们有一个服务器装了操作系统,然后我们再安装上Docker,就相当于有了容器化的运行环境,然后我们的应用就会以容器化的方式运行起来。一个容器的镜像也就几百MB,还是非常轻量级的,甚至有的几十MB,这肯定比虚拟机几个G的强太多,所以现在以容器化的方式运行的话,它也能做到资源隔离,一个炸了不影响另外一个,等等诸多优点。

我们如果以容器化的方式,又会给我们带来什么样的问题。举一个例子,我们开发了一个项目,比如抖音、京东商城,它里面的服务模块众多,微服务划分我们开发了好多小项目,每个小项目都以容器化的方式部署,而且一台服务器还不够,我们把项目呢甩到十几台服务器进行部署,每台服务器可能部署了,这个服务器部署了50个容器,这个30个,这个70个,像这么多的容器,管理起来就非常麻烦了,我们以前用Docker呢?非常简单,我docker run,跑上一两个应用,人肉进行运维,但是几百、几千个容器,哪一个故障了。比如这个机器上的这个应用炸了,我们不想让人为修复,我们希望自动的在别的机器拉起一份。所以整个,我们需要一个对大量的容器的统一的管理系统,就是我们称为容器编排系统,所以Kubernetes就是这个事。

我们急需一个大规模容器编排系统,Kubernetes就能做这个,能把所有跑起来的容器帮我们编排起来。编排的重点意义在于两个字,一个是编,一个是排,所谓的编,我可以把把我们机器上运行的所有的容器,我给它都编一个组,这两个应用呢属于一组,等等。我们只有先把这些容器先管理起来,接下来我们才能排,比如这个应用,在A服务器只放了三个不够了,接下来我在B服务器、C服务器都扩充几个,所以这就是一种排。

有诸多问题需要解决,比如Kubernetes具有以下特性

3、服务发现和负载均衡:举一个例子,我现在在三台机器部署应用,我部署两个应用吧。一个应用呢A,我在1号、2号机器和3号机器,我都部署了一个A,因为呢?我们为了高并发,假设你只在一个机器部署,这个A应用呢?可能只能抗住100个并发请求,这样呢?你的峰值顶多100了。但是如果我在3台服务器部署,那这样,相当于我同时能够抗住300个并发,所以呢?我们一定要集群化部署,我们集群化部署起来了,但是又出现了一个问题?假设我部署的应用B,我B应用现在想要访问A,其实呢?你访问这三台机器的任何一个A,都能完成你的功能。那接下来我就可以做一件什么事?Kubernetes可以把这3个A给你统一起一个名字,比如就叫App-a,然后你B访问谁呢?你只需要写一个类似于域名地址的方式,你就App-a吧,我访问App-a,Kubernetes就会动态的给你做一件事,比如你第一次访问,我把请求给你打到1号机器,第二次你再访问,我给你打到2号机器,第三次再访问,我给你打到3号机器,我们把这种方式叫做负载均衡。这样假设100万个请求进来,我把前面的一些请求我放到1号机器,中间的一些请求放到2号机器,后面的一些请求放到3号机器,但是你要满足100万,就要更多的机器,我通过负载均衡的方式把请求分担到不同的机器,我就能够满足大并发,这个就是Kubernetes完成的第一件事情叫做负载均衡。

但是你要想完成负载均衡,就得得益于一个功能叫服务发现,什么叫服务发现,再举个例子,还是这个A、B,我们在三台服务器部署了A,B只需要访问App-a,然后就会来到任意一个机器,我们是不是都能访问的通,我们可以负载均衡的放给他,但是哪一天呢?突然这个A炸了,那这个A一炸以后呢?那我们如果下一次请求你这个B不知道,Kubernetes呢自己不知道,还把这个请求放给服务器App-a,IP地址呢?还是放给它A,这个是不是就访问不到啊?所以呢?我们现在就得有一个机制就叫服务发现,Kubernetes呢?别人访问App-a,Kubernetes得自己能发现这些A应用,哪些是起来的,哪些是炸的,即时剔除掉这些炸了的应用,比如这个应用炸了,那下次你访问App-a,我Kuerbnetes就自动的不把流量打给我们这个服务器,所以我们把这个机制称为服务发现。

4、存储编排:

你可能感兴趣的:(云原生,学习,笔记)