什么是Kubernetes

  Kubernates是一款由Google开发的开源的容器编排工具,无论是公有云还是私有云甚至混合云,Kubernetes将作为一个任何应用,任何环境的容器管理框架无处不在,正因为如此,现在也是受到了各大巨头及初创公司的青睐,如Microsoft、VMWare、Red Hat、CoreOS、Mesos等,纷纷加入给Kubernetes贡献代码。

什么是容器

  容器一般位于应用服务器之内,由应用服务器负责加载和维护。一个容器只能存在于一个应用服务器之内,一个应用服务器可以建立和维护多个容器。
  虚拟化技术已经成为一种被大家广泛认可的服务器资源共享方式,它可以在按需构建操作系统实例的过程当中为系统管理员提供极大的灵活性。由于hypervisor虚拟化技术仍然存在一些性能和资源使用效率方面的问题,因此出现了一种称为容器(Container)的新型虚拟化技术来帮助解决这些问题。

Kubernetes可以解决什么问题

  ·调度。应用程序在集群中可以正确的找到你所认为的正确的主机不是一件容易事,因为集群中所有的主机并不是统统一样的,Pod是Kubernetes中的调度的(最小)单元。
  ·负载均衡。当你的程序运行起来之后,你要保证负载均衡的主机都可以干差不多的工作,这时候Kubernertes便起到了作用,它可以用最佳的的方式做到资源负载均衡。
  ·应用伸缩。当做到很好的负载均衡了,又要考虑会不会资源占用到达峰值了,当所有的都达到峰值了,应用伸缩可以同时清理到一些不再需要的的容器,这样才能够有效的的按需的处理客户端请求的峰值。
  ·集群管理和监控。所有的好处都不能离开了管理,而Kubernetes最大的优点就在于可以进行监控,可以省去很多人力。

Kubernetes怎么解决这些问题

  在Kubernetes中Pod是指一组容器,它们一起工作,但是我们所看到的是一组在工作,当一个pod被创建,调度器将会寻找最适合运行它的Node节点,也就是主机,这个(调度)过程主要由kube-scheduler组件负责完成,它会在集群中选择备选节点,并且确保其(节点)提供的资源能够满足pod中容器的需求。
  Kubernetes中Service服务是逻辑上的一组Pod(也被称为Replicas副本),这组Pod提供了相同的功能,Service服务解除了这些Pod副本与它们客户端之间的耦合。
  在Kuernetes中,负载均衡在默认情况下是由Service来处理。 对于每一个Service实例你可以提供一个lable selector(标签选择器),用于标识(与该服务关联的)Pod的Replica副本。由于Service服务与Replica副本的物理位置并不相关,因此当客户端使用它门(Pod副本)所提供的功能时,客户端既不知道也不关心它们实际运行的位置。调度器使用标签选择器为请求选择正确的服务,并且确保客户端负载始终均衡。
  Kubernetes的Replication控制器可以确保在集群中始终运行制定数量的Pod副本。
  Replication控制器通过确保要运行的副本数量来实现应用程序的扩展伸缩。如果副本数量(可能有一个或者多个副本因为某些原因死掉),Replication控制器则会启动更多的实例,直到达到目标数量。而如果当存在过多的副本时(在弹性伸缩的情况下),则会自动关闭部分实例。
  Kubernetest Dashboard是一个基于Web的集群监控UI,包括管理运行中的pod实例,以及查看CPU,内存使用情况等指标。

小结

  在文章的最后,我向大家分享一个小编觉得很不错的链接吧,很希望我们一同成长!十分钟带你理解Kubernetes核心概念

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐