Kubernetes基础概念

Kubernetes对象:是一种持久化的,用于表示集群状态的实体。

一种申明式的意图的记录,一般使用yaml文件描述对象。

Kubernetes集群使用Kubernetes对象表示集群对象。

通过API/Kubectl管理Kubernetes对象

静态属性 object.yaml

Kind: Pod/Service/Deployment/StatefulSet/DaemonSet...

Metadata:Name/Namespace/Labels/Annotations...

Spec:Replicas/Selector/Template/Containers...

对象分类


workload(工作负载类): Pod,Controller(Deployment/StatefulSet/DaemonSet/Job

discovery&load balance(服务相关类): Service/Endpoint/Ingress

config&storage(配置存储类): Configmap/Secret/Volume/PersistentVolumeClaim

cluster(集群类): Node/Namespace/PersistentVolume/ClusterRole/ClusterRoleBinding/ResourceQuota

POD

集群调度基本单元

一个有特定关系的容器集合

POD是集群中可以创建和部署的最小且最简的Kubernetes对象单元

POD也是一种封装。它封装了应用容器,存储资源,独立的网络IP,以及决定容器如何运行的策略选项

每个POD预置一个PAUSE容器,其名字空间、IPC资源、网络和存储资源被POD内其他容器共享。POD中的所有容器紧密协作,并且作为一个整体被管理、调度和运行。

一个非持久性实体

Service

与云原生应用中的“微服务”概念一一对应

Kubernetes集群为每一个service分配一个集群唯一的IP地址,在Service的生命周期内,该IP地址不变;在内部DNS的支持下,轻松实现服务发现机制

Service通过Label Selector关联到实际支撑业务运行的POD上,并通过集群内置的服务负载均衡将服务请求分发到后端POD

通过nodeport或设置loadbalance机制实现集群外部对service的访问

Controllers

用于保证集群内一组pod能始终按照某种期望的状态正常运行

状态包括:POD副本数量、节点选择、资源约束、持久化数据维持等

支持多种controllers,常用的deployment,replicaset, statefulset, daemonset等

ReplicaSet:确保健康的副本数始终满足用户定义的数量。支持单独使用,但更多隐藏在Deployment控制器后面,由Deployment自动管理。

Deployment:为Pod和ReplicaSet提供了申明式的定义。用户在deployment文件中描述期望状态,自动将pod和replicaset的实际状态改变到期望状态。支持POD的RollingUpdate,并自动管理背后的ReplicaSet。支持将pod rollback到之前的任意revision(仅限于pod-template模板改动)

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

DaemonSet:保证每个Node上都运行一个Pod副本。适用场景:系统Daemon程序,监控跟踪,日志收集等。1.6之后,可设置更新策略,支持滚动更新。可指定node:nodeSelector,nodeAffinity,podAffinity。

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

Sceret:解决的是集群内密码,token,密钥等敏感数据的配置问题。常用于与ServiceAccount关联,存储在tmpfs文件系统中,Pod删除后Secret文件也有对应的删除。支持Opaque,Service Account,dockerconfigjson三种类型。可以以Volume或者环境变量的方式使用。

Metadata


Name/UID

集群中所有对象都通过name和UID明确标识

API对象访问路径: /api/{version}/namespaces/{namespace}/{object-kind}/name

集群的整个生命周期内创建的每个对象实例都具有不同的UID

Namespace,不仅仅是一个属性,本身也是一个object

用于将物理集群划分为多个虚拟集群

Namespace间完全隔离,因此也常被用来隔离不同的用户(及权限)

内置三个Namespaces:default、kube-system、kube-public, Node和PersistentVolume不属于任何namespace

Label标签

用于建立集群对象之间的灵活的,松耦合的多维关联关系

一个label是一个键值对,其中key,value均由用户自己定义

label可以附着在任何对象上,每个对象也可以有任意个标签。标签可以在对象定义时附加上,也可以通过命令动态管理标签

label可以将有组织目的的结构映射到集群对象上,从而形成一个与现实世界管理结构同步对应松耦合的、多维的对象管理结构

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

Annotations (注解)

以键值对的形式呈现

工具和库可以检索到并使用这些Annotations元数据

将数据作为Annotation附着在对象上,有利于创建一些用于部署、管理和做内部检查的共享工具或客户端



操作方法 api(kubectl)

Operation:Create/Get/Update/Delete

动态信息 etcd

Status:Conditions

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 213,711评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,079评论 3 387
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 159,194评论 0 349
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,089评论 1 286
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,197评论 6 385
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,306评论 1 292
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,338评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,119评论 0 269
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,541评论 1 306
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,846评论 2 328
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,014评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,694评论 4 337
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,322评论 3 318
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,026评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,257评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,863评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,895评论 2 351

推荐阅读更多精彩内容

  • 一、 K8s 是什么? Kubernetes(k8s)是自动化容器操作的开源平台,这些操作包括部署,调度和节点集群...
    loveroot阅读 6,642评论 1 21
  • 1、基础架构 1.1 Master Master节点上面主要由四个模块组成:APIServer、scheduler...
    阿斯蒂芬2阅读 10,868评论 0 44
  • Kubernetes架构 Kubernetes是当今最流行的开源容器管理平台,来自Google Borg的开源版本...
    华阳_3bcf阅读 1,414评论 0 0
  • 原文:https://www.cnblogs.com/xhyan/p/6656062.html•Kubernete...
    laosijikaichele阅读 1,163评论 0 8
  • 不知道是何缘由,对于冬天,有一种莫名的挚爱,爱它的寒冷刺骨,爱它的冰风凛冽,爱它的满天飞雪,爱它的酷寒能给我带来桎...
    风采凌云阅读 142评论 0 0