k8s基础概念
k8s基础概念
- hecluster: 是计算、存储和网络资源的集合,Kubernetes 利用这些资源运行各类基于容器的应用
- master:Master 是 Cluster 的大脑,它的主要职责是调度,即决定将应用放在哪里运行。Master 运行 Linux 操做系统,能够是物理机或者虚拟机。为了实现高可用,能够运行多个 Master。
- api server: 提供restful api,是Kubernetes cluster前端的链接端口,各类客户端工具(CLI,UI)以及kubernetes其余组件能够经过它管理cluster的各类组件
- sheduler:负责将Pod运行在那个node上,在调度的时候会充分烤炉cluster的拓扑结构,当前各个节点的负载,以及应用对高可用,性能,数据亲和性的需求
- contoller:Kubernetes 一般不会直接建立 Pod,而是经过 Controller 来管理 Pod 的。Controller 中定义了 Pod 的部署特性,好比有几个副本,在什么样的 Node 上运行等。为了知足不一样的业务场景,Kubernetes 提供了多种 Controller,包括 Deployment、ReplicaSet、DaemonSet、StatefuleSet、Job 等
- node:Node 的职责是运行容器应用。Node 由 Master 管理,Node 负责监控并汇报容器的状态,并根据 Master 的要求管理容器的生命周期。Node 运行在 Linux 操做系统,能够是物理机或者是虚拟机
- pod:Pod 是 Kubernetes 的最小工做单元。每一个 Pod 包含一个或多个容器。Pod 中的容器会做为一个总体被 Master 调度到一个 Node 上运行
- deployment:是最经常使用的 Controller,好比前面在线教程中就是经过建立 Deployment 来部署应用的。Deployment 能够管理 Pod 的多个副本,并确保 Pod 按照指望的状态运行
- replicaset:实现了 Pod 的多副本管理。使用 Deployment 时会自动建立 ReplicaSet,也就是说 Deployment 是经过 ReplicaSet 来管理 Pod 的多个副本,咱们一般不须要直接使用 ReplicaSet
- daemonset:用于每一个 Node 最多只运行==一个 Pod 副本==的场景(能够运行多个Daemonset)。正如其名称所揭示的,DaemonSet 一般用于运行 daemon,经典场景:
- 在集群的每一个节点上运行存储 Daemon,好比 glusterd 或 ceph。
- 在每一个节点上运行日志收集 Daemon,好比 flunentd 或 logstash。
- 在每一个节点上运行监控 Daemon,好比 Prometheus Node Exporter 或 collectd。
- job:用于运行结束就删除的应用。而其余 Controller 中的 Pod 一般是长期持续运行
- statefuleset:可以保证 Pod 的每一个副本在整个生命周期中名称是不变的。而其余 Controller 不提供这个功能,当某个 Pod 发生故障须要删除并从新启动时,Pod 的名称会发生变化。同时 StatefuleSet 会保证副本按照固定的顺序启动、更新或者删除
- service: Kubernetes Service 定义了外界访问一组特定 Pod 的方式。Service 有本身的 IP 和端口,Service 为 Pod 提供了负载均衡
- namespace: 若是有多个用户或项目组使用同一个 Kubernetes Cluster,namespace就是能够将一个物理的cluster逻辑上划分多个虚拟cluster,每一个cluster就是一个namespace
- default: 建立资源时若是不指定将被放到这个namespace中
- kebu-system:kubernetes本身建立的系统资源将会放置在这个namespace中
欢迎关注本站公众号,获取更多信息