k8s基础概念

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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中

以上是关于k8s基础概念的主要内容,如果未能解决你的问题,请参考以下文章

14个K8S必备基础概念

K8S的基础概念

k8s基础知识和概念

K8S基础概念

k8s上的基础概念和术语

云原生|K8s系列第1篇:K8s的基础概念组件架构及实战安装