一.基本对象

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基本对象及架构的更多相关文章

  1. k8s service对象

    k8s service对象   概述 service服务也是Kubernetes里核心字眼对象之一,Kubernetes里的每一个service其实就是我们经常提起的微服务架构中的一个微服务,之前讲解 ...

  2. 腾讯刘金明:腾讯云 EB 级对象存储架构深度剖析及实践

    欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 演讲者:刘金明 腾讯云存储业务中心副总监 背景:5月23-24日,以"焕启"为主题的腾讯"云+未来" ...

  3. 微服务与K8S容器云平台架构

    微服务与K8S容器云平台架构 微服务与12要素 网络 日志收集 服务网关 服务注册 服务治理- java agent 监控 今天先到这儿,希望对技术领导力, 企业管理,系统架构设计与评估,团队管理, ...

  4. 分布式系统的应用程序性能监视工具,专为微服务、云本机架构和基于容器(Docker、K8s、Mesos)架构而设计。 SkyWalking

    Apache SkyWalking™ | SkyWalking Teamhttp://skywalking.apache.org/zh/ Application performance monitor ...

  5. QingStor 对象存储架构设计及最佳实践

    对象存储概念及特性 在介绍 QingStor️对象存储内部的的架构和设计原理之前,我们首先来了解一下对象存储的概念,也就是从外部视角看,对象存储有什么特性,我们应该如何使用. 对象存储本质上是一款存储 ...

  6. k8s资源对象及API群组

    REST是representational state transfer的缩写,意为“表征状态转移”,它是一种程序架构风格,基本元素为资源(resource).表征(representation)和行 ...

  7. k8s service对象(三)

    概述 service服务也是Kubernetes里核心字眼对象之一,Kubernetes里的每一个service其实就是我们经常提起的微服务架构中的一个微服务,之前讲解Pod,RC等资源对象其实都是为 ...

  8. k8s之系统组件架构-02

    k8s系统架构图 网络组件:calico+kube-proxy(IPVS) 网络暴露:traefik+ingress,分别对HTTP与TCP的服务暴露 存储:glusterfs(heketi管理) 日 ...

  9. K8S API对象

    POD Pod是在K8s集群中运行部署应用或服务的最小单元,它是可以支持多容器的.Pod的设计理念是支持多个容器在一个Pod中共享网络地址和文件系统,可以通过进程间通信和文件共享这种简单高效的方式组合 ...

随机推荐

  1. CAJ转换成PDF在线方法是什么

    做学术性的朋友经常会需要将CAJ文件转换成PDF文件,毕竟CAJ文件只能在CAJ阅读器上显示,但是有很多转换软件并不能很好的完成转换,小编今天就为大家讲解一下CAJ转换成PDF在线方法是什么,大家要认 ...

  2. workerman 安装event 扩展

    2018年7月31日10:07:47 一些小技巧 命令行直接运行PHP代码 php -r "phpinfo();" 交互模式运行PHP php -a PHP脚本作为shell脚本运 ...

  3. Android的几种Manager

    电话管理器TelephoneManager 第一个实例是获取网络和SIM卡信息:界面是一个列表,这里省略,Java代码如下: public class MainActivity extends Act ...

  4. 【Python全栈-HTML】HTML引入文件的绝对路径、相对路径、根目录

    HTML引入文件的绝对路径.相对路径.根目录 什么是绝对路径?绝对路径指的是文件的真正路径,使用绝对路径链接外部资源,如:图片.超级链接.flash.音频.视频等等.代码如下: 1.引入网络上的资源: ...

  5. 解读socketserver源码

    解读python中SocketServer源码 再看继承 真正的大餐来之前,还是来点儿开胃菜!回顾一下关于类的继承的知识:    我们先看上面的代码,这是一个简单的类继承,我们可以看到父类Base和子 ...

  6. Docker File知识

  7. ThinkPHP 5 验证码

    <div> <form action="{:url('index/check')}" method="post"> <img sr ...

  8. 配置notepad++支持golang开发

    1 下载golang安装包和配置环境变量 到官网下载golang安装包,下载地址:https://golang.org/dl/,我选择的go1.7.windows-amd64.zip. 配置环境变量: ...

  9. python tkinter messagebox

    """messagebox消息框""" import tkinter as tk #导入messagebox import tkinter. ...

  10. [py]python操作zookeeper

    参考: https://blog.csdn.net/heizistudio/article/details/79568188 1.安装zookeeper zookeeper-3.4.6.tar.gz ...