k8s基本对象及架构
一.基本对象
pod
pod是最小的部署单元,一个pod由一个或多个容器组成,pod中的容器共享存储和网络,在同一台docker主机上运行。
service
service是一个应用服务的抽象,定义了pod的逻辑集合和访问这个pod集合的策略。
service代理pod集合,对外表现是一个访问入口,分配一个集群ip地址,来自这个ip的请求将负载均衡转发给后端pod中的容器。
service通过Lable Selector选择一组pod提供服务。
volume
数据卷,共享pod中容器使用的数据。
namespace
命名空间将对象逻辑上分配到不同的namespace,可以是不同的项目、用户等区分管理,并设定控制策略从而实现多用户,命名空间也成为虚拟集群。
lable
标签用户区分对象(比如pod、service),以键/值对形式存在,每个对象可以有多个标签,通过标签关联对象。
二.基于基本对象的高层次抽象
replicaSet
下一代Reolication Controller,确保任何给定时间内指定的pod副本数量,并提供声明式更新等功能。
RC与RS的唯一区别是lable selector支持不同,RS支持基于集合的新标签,RC仅支持基于等式的标签,RS会逐步取代RC。
deployment
deployment是一个更高层次的API对象,它管理replicaSet和pod,并提供声明式更新等功能。
官方建议使用deployment管理replicaSet而不是直接使用replicaSet,即基本不需要直接操作replicaSets对象。
statefulSet
statefulSet适合持久性的应用程序,有唯一的网络标识符(IP),吃鸡存储,有序的部署、扩展、删除和滚动更新。
daemonSet
daemonSet确保所有(或一些)节点运行同一个pod,当节点加入kubernetes集群中,pod会被调度到该节点上运行,当节点被移除时,daemonSet的pod会被删除,删除daemonSet会清理它创建的所有pod。
job
一次性任务,运行完成后po被销毁,不再重新启动新容器,还可以定时运行任务。
三.系统架构及组件功能

1.master组件
kube-apiserver:集群的统一入口,各组件协调者,以HTTP API提供接口服务,所有对象资源的增、删、改、查和监听操作都由APIServer处理后再提交给etcd存储。
kube-controller-manager:处理集群的常规后台任务,一个资源对应一个控制器,而ControllerManager负责管理这些控制器。
kube-scheduler:根据调度算法为新创建的pod选择一个node节点
2.node组件
kubelet:kubelet是master在node节点上的agent,管理本机运行容器的生命周期,比如创建容器、pod挂载数据卷、下载secret、获取容器和节点状态等。kubelet将每个pod转换成一组容器。
kube-proxy:在node节点上实现pod网络代理,维护网络规则和四层负载均衡工作。
docker或rocket/rkt:运行容器
3.第三方服务
etcd:分布式键值存储系统,用于保持集群状态,比如pod、service等对象信息。
k8s基本对象及架构的更多相关文章
- k8s service对象
		k8s service对象 概述 service服务也是Kubernetes里核心字眼对象之一,Kubernetes里的每一个service其实就是我们经常提起的微服务架构中的一个微服务,之前讲解 ... 
- 腾讯刘金明:腾讯云 EB 级对象存储架构深度剖析及实践
		欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 演讲者:刘金明 腾讯云存储业务中心副总监 背景:5月23-24日,以"焕启"为主题的腾讯"云+未来" ... 
- 微服务与K8S容器云平台架构
		微服务与K8S容器云平台架构 微服务与12要素 网络 日志收集 服务网关 服务注册 服务治理- java agent 监控 今天先到这儿,希望对技术领导力, 企业管理,系统架构设计与评估,团队管理, ... 
- 分布式系统的应用程序性能监视工具,专为微服务、云本机架构和基于容器(Docker、K8s、Mesos)架构而设计。 SkyWalking
		Apache SkyWalking™ | SkyWalking Teamhttp://skywalking.apache.org/zh/ Application performance monitor ... 
- QingStor 对象存储架构设计及最佳实践
		对象存储概念及特性 在介绍 QingStor️对象存储内部的的架构和设计原理之前,我们首先来了解一下对象存储的概念,也就是从外部视角看,对象存储有什么特性,我们应该如何使用. 对象存储本质上是一款存储 ... 
- k8s资源对象及API群组
		REST是representational state transfer的缩写,意为“表征状态转移”,它是一种程序架构风格,基本元素为资源(resource).表征(representation)和行 ... 
- k8s service对象(三)
		概述 service服务也是Kubernetes里核心字眼对象之一,Kubernetes里的每一个service其实就是我们经常提起的微服务架构中的一个微服务,之前讲解Pod,RC等资源对象其实都是为 ... 
- k8s之系统组件架构-02
		k8s系统架构图 网络组件:calico+kube-proxy(IPVS) 网络暴露:traefik+ingress,分别对HTTP与TCP的服务暴露 存储:glusterfs(heketi管理) 日 ... 
- K8S API对象
		POD Pod是在K8s集群中运行部署应用或服务的最小单元,它是可以支持多容器的.Pod的设计理念是支持多个容器在一个Pod中共享网络地址和文件系统,可以通过进程间通信和文件共享这种简单高效的方式组合 ... 
随机推荐
- applicationContext.xml和applicationContext-mvc.xml
			1.applicationContext.xml<?xml version="1.0" encoding="UTF-8"?> <beans x ... 
- jquery 实现tab切换
			大家都知道 使用QQ的时候需要输入账号和密码 这个时候一个TAB键盘就可以实现切换到下一个输入框里 具体是怎么实现的呢 请看代码 <!DOCTYPE html> <html lang ... 
- springmvc+hibernate
			<本文摘要他人> 1.设计数据库:设计好表结构,最好符合3NF,采用Hibernate tools将设计好的表自动生成对应的实体entity. 1.创建Maven项目,按需映入Maven包 ... 
- CodeForces #549 Div.2 D. The Beatles
			题目 解题思路 关键是要 ,找出L 的组合,然后遍历L的组合,用最大公约数就可以算出来当前L的值要停多少次 怎么找出L的组合呢?饭店是每隔K 有一个,是重复的,我们只需要算出第一个饭店两侧,起点和停顿 ... 
- C语言:二进制模5
			输入一串字符,若是二进制则求其模五的值. 要求:1.若输入的字符包含除0.1以外的值,则输出:invalid 2.若输入的为二进制字符串,则输出所计算的其模五的值 3.若其输入字符均为0.1,但是第一 ... 
- js之history
			浏览历史记录window.history,不会刷新页面内容,只会更改历史记录,用location.href 才会刷新 1. history.pushState() & history.repl ... 
- Linux 部署 xxl-job 注意问题
			问题:Failed to create parent directories for [/data/applogs/xxl-job/xxl-job-admin.log][原因:权限不足] 启动终端: ... 
- Spring Cloud 之Eureka(一)
			简介 Eureka是Spring cloud 的基本套件之一,是基于Netflix 的Eureka做的二次封装,主要是负责完成微服务架构中的服务治理功能.它是微服务架构中最为核心和基础的模块,它主要是 ... 
- 初识springboot
			一.springboot简介: 1.简化spring应用开发框架 2.把spring所有技术整合在了一起 3.J2EE开发的一站式解决方案 我曾经学习springMVC时候,那许许多多的配置文件的配置 ... 
- Warning: count(): Parameter must be an array or an object that implements Countable in line 302解决方法
			ytkah在调试项目时又弹出一个警告Warning: count(): Parameter must be an array or an object that implements Countabl ... 
