参考https://www.imooc.com/learn/978

Name UID

1 集群中所有对象都通过name和UID明确标识
2 API中的对象访问的路径: /api/{version}/namespaces/{namespaces}/{object-kind}/name
比如:/api/v1/namespaces/default/pods/hello-kubernetes
3 在k8s集群的整个生命周期内创建的每个对象实例都具有不同的UID

Namespace

命名空间 不仅仅是一个属性,本身也是一个object

1 用于将物理集群划分为多个虚拟集群
2 namespace间完全隔离,一次也常被用来隔离不同的用户(及权限)
3 内置3个namespace:default,kube-public和kube-public,node和persistentVolume不属于任何namespace

Label 标签

Label用于建立集群对象之间的灵活的\松耦合的多维关联关系
1 一个label是一个键值对,其中的key,value均由用户自己定义
2 label可以附着在任何对象上,每个对象也可以有任意个标签.标签课在对象定义时附加上,也可以通过命令动态管理标签
3 label可以将有组织目的的结构映射到集群对象上,从而形成一个与现实世界管理结构同步对应松耦合的\多维的对象管理结构

通过label selector查询和筛选建立对象间的关系

Annotations 注解

1 可以 以键值对形式呈现
2 工具和库可以检索到并使用这些Annotations元数据
3 将数据作为Annotation附着在对象上,有利于创建一些用于部署\管理和做内部检查的共享工具或客户端

k8s 对象分类

1 workload
2 discovery load balance
3 config storage
4 cluster

工作负载:以Pod为中心 集群调度基本单元

Pod:一个有特定关系的容器集合
1 pod是集群中可以创建和部署的最小且最简的kbs对象单元
2 pod 也是一种封装 它分装了应用容器\存储资源\独立的网络ip以及决定容器如何运行的策略选项
3 每个pod中预置一个Pause容器,其命名空间,IPC资源,网络和存储资源被Pod内其他容器共享.Pod中的所有容器紧密协作,并且作为一个整体被管理\调度和运行

Pod生命周期

pod 一个非持久性实体
重启后pod的ip地址会变化

Service

与云原生应用中"微服务"概念一一对应
1 kbs 集群为每一个service分配一个集群唯一的Ip地址,
在service的生命周期内,改ip地址不变;
在内部dns的支持下,轻松实现服务发现机制
2 Service通过label selector关联到实际支撑业务运行的pod上,并通过集群内置的服务负载均衡将服务请求分发到后端pod
3 通过nodeport或者设置loadbalancer机制实现集群外部对service的访问

Controller

kbs核心对象之一
1 保证集群内一组pod能始终按照某种期望的状态(desired state)正常运行
2 状态包括 pod副本数量\节点选择\资源约束\持久化数据维持等
3 kbs支持多种Controller,常用的deployment\replicaset\statefulset\daemonset等

一 replicaset

确保健康pod的副本数始终满足用户定义的数量
1 前身是replicationController(rc)
2 相比rc,增加集合式label selector的支持
3 支持单独使用,单更多隐藏在deployment控制器后面,
有deployment自动管理

二 deployment

为pod和replicaset提供了声明式的定义declarative
1 用户在deployment文件中描述期望状态,deployment controller
就会自动将pod和replicaset的实际状态改变为期望状态
2 deploymentzhichipod的rollingUpdate,并自动管理背后的replicaset
3 deployment支持将pod rollback到之前的任意revision(仅限于pod-template模板改动)

三 StatefulSet

提供对有状态的应用的部署和控制的支持,1.9版本GA
1 适用场景:稳定的持久化存储\稳定的网络标志\有序部署有序扩展\有序收缩有序删除\有序自动滚动升级等
2 pod的存储必须由 persistentVolume Provisioner 根据请求的Storage Class 进行配置,或由管理员预先配置好.
3 考虑数据安全性,伸缩或删除StatefulSet不会删除关联的存储;
另外StatefulSet目前要求Headless Service 负责Pod的网络身份,用户有责任创建次服务

四 daemonset

保证每个Node 上都运行一个pod副本
1 适用场景:系统daemon程序\监控跟踪\日志收集等
2 kbs1.6之后,可设置更新策略:支持滚动更新
3 可指定Node:nodeSelector\nodeAffinity\podAffinity

ConfigMap

常用来向pod提供非敏感的配置信息
1 ConfigMap用来保存配置数据的键值对,可以用来保存单个属性,也可以用来保存配置文件
2 可以使用命令行基于字面值\文件或目录来创建或通过configmap对象定义文件创建
3 可以通过3种方式在pod中使用:环境变量\容器命令行参数或以文件形式通过数据卷插件挂载到pod中

Secret

1 常用于与serviceaccount关联,存储在tmpfs文件系统中,pod删除后secret文件也会对应删除
2 支持Opaque,kbs.io/service account,kbs.io/dockerconfigjson 三种类型
3 secret可以以volume或者环境变量的方式使用

k8s object对象(pod controller)介绍相关推荐

  1. CoreDNS与k8s资源对象详解-Day03

    1. K8s DNS 官网地址:https://github.com/coredns/coredns https://coredns.io/ https://coredns.io/plugins 1. ...

  2. SpringMVC Controller介绍(转)

    SpringMVC Controller 介绍 一.简介 在SpringMVC 中,控制器Controller 负责处理由DispatcherServlet 分发的请求,它把用户请求的数据经过业务处理 ...

  3. K8S中的pod、services、容器的概念和区别

    K8S中的pod.services.容器的概念和区别 k8s的部署架构 kubernetes中有两类资源,分别是master和nodes,master和nodes上跑的服务如下图: 1 kube-ap ...

  4. 详解Javascript中的Object对象

    本文地址:http://luopq.com/2016/02/28/Object-in-Javascript/,转载请注明 Object是在javascript中一个被我们经常使用的类型,而且JS中的所 ...

  5. AppleWatch开发教程之Watch应用对象新增内容介绍以及编写运行代码

    AppleWatch开发教程之Watch应用对象新增内容介绍以及编写运行代码 添加Watch应用对象时新增内容介绍 Watch应用对象添加到创建的项目中后,会包含两个部分:Watch App 和 Wa ...

  6. Scala学习教程笔记二之函数式编程、Object对象、伴生对象、继承、Trait、

    1:Scala之函数式编程学习笔记: 1:Scala函数式编程学习:1.1:Scala定义一个简单的类,包含field以及方法,创建类的对象,并且调用其方法:class User {private v ...

  7. JavaScript Object对象

    原文:JavaScript Object对象 Object对象 1. 介绍 Object对象,是所有JavaScript对象的超类(基类).Object.prototype(Obecjt的原型)定义了 ...

  8. JVM系列之:详解java object对象在heap中的结构

    文章目录 简介 对象和其隐藏的秘密 Object对象头 数组对象头 整个对象的结构 简介 在之前的文章中,我们介绍了使用JOL这一神器来解析java类或者java实例在内存中占用的空间地址. 今天,我 ...

  9. javascript中打印对象显示[object object]_js如何打印object对象

    这篇文章主要介绍了js如何打印object对象,需要的朋友可以参考下 js调试中经常会碰到输出的内容是对象而无法打印的时候,光靠alert只能打印出object标示,却不能打印出来里面的内容,甚是不方 ...

最新文章

  1. linux常用的makefile模版编写
  2. 使用tmpfs存放MySQL的临时文件的问题一则
  3. 【Java】Maven工程目录下ImageIcon读图片失败爆空指针的解决方案
  4. maven构建SSM工程[应用]2
  5. java 缓存ech_springboot配置缓存:echcache
  6. SAP ASE 多个严重漏洞的详情披露
  7. 新拓三维测量仪器助力土木工程与高端制造迈向数字化
  8. 产品经理——关于色彩搭配!!
  9. BigNumber.js
  10. NOI Online Round 3 总结
  11. oracle 关闭归档,Oracle归档的开启和关闭
  12. Windows 7 SATA与XP IDE双启动多个磁盘
  13. 磨刀不误砍柴工-----为提升自己找到一个平衡点
  14. 经济学术语解析(一)
  15. vue 两种方式实现抽奖效果(九宫格、翻牌抽奖) -----(非TX游戏概率)
  16. securecrt启动mini2440卡在Please press Enter to activate this console问题已解决
  17. java实现自动切换输入法
  18. 虾皮延迟发货多久取消订单?
  19. 高并发分布式下生成全局ID的几种方法
  20. JAVA毕业设计高校学生资助管理信息系统计算机源码+lw文档+系统+调试部署+数据库

热门文章

  1. 【转】关于Apache与Nginx的优势比较
  2. JAVA实现查看详情功能_【JavaWeb】111:详情页面的实现
  3. python标准库导入语句有哪些_如何将python标准库缺失的进行导入?
  4. iphone html5直播,【小技巧】解决iPhone中video视频的行内播放
  5. 计算机科学CSTA,学编程,搞懂CSTA K-12计算机科学学习标准
  6. redis的五种存储类型的具体用法
  7. Keras【Deep Learning With Python】keras框架下的MNIST数据集训练及自己手写数字照片的识别(分类神经网络)
  8. Android数据存储方式
  9. 前端测试 jest 中判断函数由来
  10. 网络推广外包——网络推广外包专员浅析网站流量应该如何提升?