美文网首页
k8s基础概念整理

k8s基础概念整理

作者: watson168 | 来源:发表于2017-11-14 18:00 被阅读1424次

一、k8s 核心组件

  • etcd 集群的主数据库,保存了整个集群的状态
  • apiserver 提供了资源操作的唯一入口,并提供认证、授权、访问控制、API注册和发现等机制;
  • controller manager 负责维护集群的状态,比如故障检测、自动扩展、滚动更新等;
  • scheduler 资源调度,按照预定的调度策略将Pod调度到相应的机器上;
  • kubelet 负责维护容器的生命周期,负责管理pods和它们上面的容器,images镜像、volumes、etc。同时也负责Volume(CVI)和网络(CNI)的管理;
  • Container runtime 负责镜像管理以及Pod和容器的真正运行(CRI);
  • kube-proxy 负责为Service提供cluster内部的服务发现和负载均衡;
  • 除了核心组件,还有一些推荐的Add-ons:
  • kube-dns负责为整个集群提供DNS服务
  • Ingress Controller为服务提供外网入口
  • Heapster提供资源监控
  • Dashboard提供GUI
  • Federation提供跨可用区的集群
  • Fluentd-elasticsearch提供集群日志采集、存储与查询

二、相关概念

2.1 pod

Pod是在K8s集群中运行部署应用或服务的最小单元,它是可以支持多容器的。Pod的设计理念是支持多个容器在一个Pod中共享网络地址和文件系统,可以通过进程间通信和文件共享这种简单高效的方式组合完成服务.比如你运行一个操作系统发行版的软件仓库,一个Nginx容器用来发布软件,另一个容器专门用来从源仓库做同步,这两个容器的镜像不太可能是一个团队开发的,但是他们一块儿工作才能提供一个微服务;这种情况下,不同的团队各自开发构建自己的容器镜像,在部署的时候组合成一个微服务对外提供服务.

2.2 副本复制器(RC)

通过监控运行中的Pod来保证集群中运行指定数目的Pod副本。少于指定数目,RC就会启动运行新的Pod副本;多于指定数目,RC就会杀死多余的Pod副本【k8s早期技术概念】

2.3 副本集(Replica Set,RS)

RS是新一代RC,提供同样的高可用能力,区别主要在于RS后来居上,能支持更多种类的匹配模式。副本集对象一般不单独使用,而是作为Deployment的理想状态参数使用

2.4 部署(Deployment)

部署是一个比RS应用模式更广的API对象,支持动态扩展。可以创建一个新的服务,更新一个新的服务,也可以是滚动升级一个服务。滚动升级一个服务,实际是创建一个新的RS,然后逐渐将新RS中副本数增加到理想状态,将旧RS中的副本数减小到0的复合操作【逐步升级新得副本,剔除旧的副本】;
总结:RC、RS和Deployment只是保证了支撑服务的微服务Pod的数量

2.5 服务(Service)

RC、RS和Deployment只是保证了支撑服务的微服务Pod的数量,但是没有解决如何访问这些服务的问题。一个Pod只是一个运行服务的实例,随时可能在一个节点上停止,在另一个节点以一个新的IP启动一个新的Pod,因此不能以确定的IP和端口号提供服务。要稳定地提供服务需要服务发现和负载均衡能力。服务发现完成的工作,是针对客户端访问的服务,找到对应的的后端服务实例。在K8s集群中,客户端需要访问的服务就是Service对象。每个Service会对应一个集群内部有效的虚拟IP,集群内部通过虚拟IP访问一个服务。在K8s集群中微服务的负载均衡是由Kube-proxy实现的。Kube-proxy是K8s集群内部的负载均衡器。它是一个分布式代理服务器,在K8s的每个节点上都有一个;这一设计体现了它的伸缩性优势,需要访问服务的节点越多,提供负载均衡能力的Kube-proxy就越多,高可用节点也随之增多。与之相比,我们平时在服务器端做个反向代理做负载均衡,还要进一步解决反向代理的负载均衡和高可用问题。

其他文档链接

相关文章

  • k8s基础概念整理

    一、k8s 核心组件 etcd 集群的主数据库,保存了整个集群的状态 apiserver 提供了资源操作的唯一入口...

  • Kubernetes 环境下保证服务高可用的部署实践

    阅读本文需要读者了解 Kubernetes (k8s) 的基础概念,如 pod、 deployment、 serv...

  • k8s系列01-什么是kubernetes?

    本文主要介绍什么是k8s以及k8s的基本架构和相关基础概念。 Kubernetes 一词源于希腊语,意为“舵手”或...

  • k8s——pod 基础&进阶

    Pod 基础 基本概念 Pod 的实质只是一个逻辑概念, k8s 真正处理的还是 Linux 容器的 Namspa...

  • K8S 基础概念

    K8S概念指南 Cluster :集群是指由k8s使用一些列的物理机,虚拟机和其他基础资源来运行你的应用程序. N...

  • k8s基础概念

    Node node作为集群中的工作节点,可以是物理机或虚拟机,node上管理着k8s的最小单元pod。Node上运...

  • K8S 基础概念

    了解什么是容器编排? 容器编排就是有关管理容器生命周期的全部工作,特别是在大型动态环境中。 软件团队使用容器编排来...

  • k8s基础概念

    1.2 kubernetes简介 kubernetes,是一个全新的基于容器技术的分布式架构领先方案,是谷歌严格保...

  • kubernetes(k8s)修仙录总纲

    我是一个牛逼的目录 炼气境—第1层:理解K8S一些基础概念 炼气境—第2层: 理解K8S 的组件和架构计 炼气境—...

  • RabbitMQ和Kafka思维图总结

    消息队列【RabbitMQ和Kafka】基础概念用思维图整理:

网友评论

      本文标题:k8s基础概念整理

      本文链接:https://www.haomeiwen.com/subject/vbvfvxtx.html