-
Controllers
Controller 是 Kubernetes 核心对象之一
Controller 用于保证集群内一组 Pod 能始终按照某种期望的状态(desired state)正常运行
状态包括:Pod 副本数量、节点选择、资源约束、持久化数据维持等
Kubernetes 支持多种 Controller,常用的 Deployment、replicaset、statefulset、daemonset 等
查看全部 -
Service
Service:与云原生应用中“微服务”概念一一对应
Kubernetes 集群为每一个 Service 分配一个集群唯一的 IP 地址,在 service 的生命周期内,该 IP 地址不变;在内部 DNS 的支持下,轻松实现服务发现机制
Service 通过 label selector 关联到实际支撑业务运行的 Pod 上,并通过集群内置的服务负载均衡将服务请求分发到后端 Pod
通过 nodeport 或设置 loadbalancer 机制实现集群外部对 service 的访问
查看全部 -
Pod生命周期
Pod:一个非持久性实体
查看全部 -
Pod生命周期
Pod:一个非持久性实体
查看全部 -
工作负载:以 Pod 为中心
查看全部 -
Kubernetes 对象分类
查看全部 -
Annotations(注解)
Annotations:可以将任意非标识性元数据附加到对象上
Annotations 也是以键值对形式呈现
工具和库可以检索到并使用这些 Annotations 元数据
将数据作为 Annotation 附着在对象上,有利于创建一些用于部署、管理和做内部检查的共享工具或客户端
查看全部 -
Label(标签)
通过 label selector 查询和筛选建立对象间的关系
查看全部 -
Label(标签)
Label 用于建立集群对象之间的灵活的、松耦合的多维关联关系
一个 Label 是一个键-值对,其中的 key、value 均由用户自己定义
Label 可以附着在任何对象上,每个对象也可以有任意个标签。标签可在对象定义时附加上,也可以通过命令动态管理标签
Label 可以将有组织目的的结构映射到集群对象上,从而形成一个与现实世界管理结构同步对应松耦合的、多维的对象管理结构
查看全部 -
Namespace(名字空间)
Namespace,不仅仅是一个属性,本身也是一个 object
Namespace:用于将物理集群划分为多个虚拟集群
Namespace 间完全隔离,因此也常被用来隔离不同的用户(及权限)
内置三个 Namespaces:default,kube-system 和 kube-public,Node 和 PersistentVolume 不属于任何 namespace
查看全部 -
Name 和 UID:
Kubernetes 集群中所有对象都通过 name 和 UID 明确标识
API 中的对象访问路径:/api/{version}/namespaces/{namespace}/{object-kind}/name,比如:/api/v1/namespaces/default/pods/hello-kubernetes
在 Kubernetes 集群的整个生命周期内创建的每个对象实例都具有不同的 UID.
查看全部 -
Kubernetes 对象模型
查看全部 -
Kubernetes 对象
Kubernetes 对象:是一种持久化的、用于表示集群状态的实体
一种声明式的意图的记录,一般使用 yaml 文件描述对象
Kubernetes 集群使用 Kubernetes 对象来表示集群的状态
通过 API/kubect 管理 Kubernetes 对象
查看全部 -
小结
Kubernetes 架构和组件:
两类节点:Master 和 Node
Master 组件:apiserver,scheduler,controllerManager,etcd
节点组件:kubelet,kube-proxy
查看全部 -
组件:Kube-proxy
Kube-proxy:运行在每个 Node 上
Service 抽象概念的实现,将到 Service 的请求按策略(负载均衡)算法分发到后端 Pod(Endpoint) 上
默认使用 iptables mode 实现
支持 nodeport 模式,实现从外部访问集群内的 service
查看全部
举报