Kubernetes介绍与组件

Kubernetes是什么?

Kubernetes是容器集群管理系统,是一个开源的平台,可以实现容器集群的自动化部署、自动扩缩容、维护等功能。

Kubernetes 特点

  • 可移植: 支持公有云,私有云,混合云,多重云(multi-cloud)

  • 可扩展: 模块化, 插件化, 可挂载, 可组合
  • 自动化: 自动部署,自动重启,自动复制,自动伸缩/扩展

Why containers?

传统的应用部署方式是通过插件或脚本来安装应用。这样做的缺点是应用的运行、配置、管理、所有生存周期将与当前操作系统绑定,这样做并不利于应用的升级更新/回滚等操作,当然也可以通过创建虚机的方式来实现某些功能,但是虚拟机非常重,并不利于可移植性。

新的方式是通过部署容器方式实现,每个容器之间互相隔离,每个容器有自己的文件系统 ,容器之间进程不会相互影响,能区分计算资源。相对于虚拟机,容器能快速部署,由于容器与底层设施、机器文件系统解耦的,所以它能在不同云、不同版本操作系统间进行迁移。

容器占用资源少、部署快,每个应用可以被打包成一个容器镜像,每个应用与容器间成一对一关系也使容器有更大优势,使用容器可以在build或release 的阶段,为应用创建容器镜像,因为每个应用不需要与其余的应用堆栈组合,也不依赖于生产环境基础结构,这使得从研发到测试、生产能提供一致环境。类似地,容器比虚机轻量、更“透明”,这更便于监控和管理。最后,

容器优势总结:

  • 快速创建/部署应用:与VM虚拟机相比,容器镜像的创建更加容易。

  • 持续开发、集成和部署:提供可靠且频繁的容器镜像构建/部署,并使用快速和简单的回滚(由于镜像不可变性)。
  • 开发和运行相分离:在build或者release阶段创建容器镜像,使得应用和基础设施解耦。
  • 开发,测试和生产环境一致性:在本地或外网(生产环境)运行的一致性。
  • 云平台或其他操作系统:可以在 Ubuntu、RHEL、 CoreOS、on-prem、Google Container Engine或其它任何环境中运行。
  • Loosely coupled,分布式,弹性,微服务化:应用程序分为更小的、独立的部件,可以动态部署和管理。
  • 资源隔离
  • 资源利用:更高效

Kubernetes 组件有两个:Master和node

Master 组件

  • kube-apiserver:用于暴露Kubernetes API。任何的资源请求/调用操作都是通过kube-apiserver提供的接口进行。

  • etcd:Kubernetes提供默认的存储系统,保存所有集群数据,使用时需要为etcd数据提供备份计划。

  • kube-controller-manager: 运行管理控制器,它们是集群中处理常规任务的后台线程。逻辑上,每个控制器是一个单独的进程,但为了降低复杂性,它们都被编译成单个二进制文件,并在单个进程中运行。

这些控制器包括:

节点(Node)控制器。

副本(Replication)控制器:负责维护系统中每个副本中的pod。

端点(Endpoints)控制器:填充Endpoints对象(即连接Services&Pods)。

Service Account和Token控制器:为新的Namespace 创建默认帐户访问API Token。

  • kube-scheduler:监视新创建没有分配到Node的Pod,为Pod选择一个Node。

原文地址:https://www.cnblogs.com/mycloudedu/p/12001432.html

时间: 2024-10-08 02:35:52

Kubernetes介绍与组件的相关文章

kubernetes介绍

容器编排工具 Docker 编排三剑客 docker compose  单机编排工具 docker swarm docker machine ASF:mesos marathon kubernetes DevOps,MicroServices,Blockchain DevOps:应用模式开发,一种趋势 CI:持续集成 CD:持续交付,Delivery CD:持续部署,Deployment 应用程序架构 单体 --> 分层架构 --> 微服务 Kubernetes介绍     简介 Kubern

Kubernetes介绍及基本概念

kubernetes介绍 Kubernetes是Google在2014年6月开源的一个容器集群管理系统,使用Go语言开发,Kubernetes也叫K8S.K8S是Google内部一个叫Borg的容器集群管理系统衍生出来的,Borg已经在Google大规模生产运行十年之久.K8S主要用于自动化部署.扩展和管理容器应用,提供了资源调度.部署管理.服务发现.扩容缩容.监控等一整套功能.2015年7月,Kubernetes v1.0正式发布,截止到2018年1月27日最新稳定版本是v1.9.2.Kube

kubernetes系列教程(一)初探kubernetes功能与组件

1. kubernetes简介 1.1 kubernetes介绍 Kubernetes是google开源的一套微服务,容器化的编排引擎,是google内部容器十多年实战沉淀的结晶,已战胜Swarm,Messo成为容器编排的行业标准.kuberntes内置有很多非常优秀的特性使开发者专注于业务本身,其包含的功能如下: Service discovery and load balancing,服务发现和负载均衡,通过DNS实现内部解析,service实现负载均衡 Storage orchestrat

(转帖)开源容器集群管理系统Kubernetes架构及组件介绍

最近在搞Docker还有她的管理工具,选型Kuberetes后,被她的术语和概念搞得晕头转向...看了一篇文章还不错,放到这里分享出来. 地址:http://www.linuxidc.com/Linux/2015-12/125757.htm 引文如下: Kubernetes 作为Docker生态圈中重要一员,是Google多年大规模容器管理技术的开源版本,是产线实践经验的最佳表现.如Urs Hölzle所说,无论是公有云还是私有云甚至混合云,Kubernetes将作为一个为任何应用,任何环境的容

Ceph概念介绍及组件介绍

一:Ceph基础介绍 Ceph是一个可靠地.自动重均衡.自动恢复的分布式存储系统,根据场景划分可以将Ceph分为三大块,分别是对象存储.块设备存储和文件系统服务. Ceph相比其它存储的优势点在于它不单单是存储,同时还充分利用了存储节点上的计算能力,在存储每一个数据时,都会通过计算得出该数据存储的位置,尽量将数据分布均衡,同时由于Ceph的良好设计,采用了CRUSH算法.HASH环等方法,使得它不存在传统的单点故障的问题,且随着规模的扩大性能并不会受到影响. 二:核心组件介绍 Ceph OSD(

docker管理神器—kubernetes—介绍篇

1.1.kubernetes是什么? 全新的基于容器技术的分布式架构领先方案 完备的分布式系统支撑平台 Kubernetes是Google团队发起的开源项目,它的目标是管理跨多个主机的容器,提供基本的部署,维护以及运用伸缩,主要实现语言为Go语言. 1.2.基本概念 Node(节点):在Kubernetes中,节点是实际工作的点,较早版本称为Minion.节点可以是虚拟机或者物理机器,依赖于一个集群环境.每个节点都有一些必要的服务以运行Pod容器组,并且它们都可以通过主节点来管理.在Node上运

kubernetes学习01—kubernetes介绍

一.简介 1.Kubernetes代码托管在GitHub上:https://github.com/kubernetes/kubernetes/. 2.Kubernetes是一个开源的,容器集群管理系统,Kubernetes的目标是让部署容器化的应用简单并且高效(powerful),Kubernetes提供了应用部署,规划,更新,维护的一种机制.通过Kubernetes你可以: 快速部署应用 快速扩展应用 无缝对接新的应用功能 节省资源,优化硬件资源的使用 3.Kubernetes一个核心的特点就

kubernetes介绍(1)

一.kubernetes起源 Kubernetes (K8s) 是 Google 在 2014 年发布的一个开源项目. 据说 Google 的数据中心里运行着超过 20 亿个容器,而且 Google 十年前就开始使用容器技术.最初,Google 开发了一个叫 Borg 的系统(现在命令为 Omega)来调度如此庞大数量的容器和工作负载.在积累了这么多年的经验后,Google 决定重写这个容器管理系统,并将其贡献到开源社区,让全世界都能受益. 这个项目就是 Kubernetes.简单的讲,Kube

scrapy的介绍、组件、数据流

scrapy是一个为了爬取网站数据,提取结构性数据而编写的应用框架,我们只需要实现少量代码,就能够快速的抓取到数据内容. scrapy使用了twisted异步网络框架来处理网络通讯,来加快我们的下载速度,不用自己去实现异步框架,并且包含了各种中间件接口,可以灵活的完成各种需求 scrapy的工作流程: 1.首先spiders(爬虫)将需要发送请求的url(requests)经scrapyengine(引擎)交给scheduler(调度器) 2.scheduler(排序,入队)处理后,经scarp