K8S 简介

K8S架构与组件

kubectl:

   是一个客户端管理工具,直接管理API server,提供请求给API server,中间有auth认证。用户使用kubectl命令来请求API Server接口完成相应操作。

Master组件:

  kube-apiserver:

    作为集群统一入口,只有API server才能访问和操作etcd集群

  kube-control-manager:

    负责任务(控制器)

  kube-scheduler:

    做集群节点的调度(调度器)

  etcd:

    保存集群状态数据(数据库)

Node组件:

  kubelet:

    接收master下发的任务,并行处理

  kube-proxy:

    实现pod网络代理,维护网络规则和四层负载均衡工作

  container runtime:

    容器引擎,运行容器

K8S核心概念

  pod

  • 最小部署单元
  • 一组容器的集合
  • 一个pod中的容器共享网络命名空间
  • pod是短暂的

  controller

  • ReplicaSet:确保预期的pod副本数量
  • Deployment:无状态应用部署
  • StatefulSet:有状态应用部署
  • DaemonSet:确保所有nod运行同一个pod
  • Job:一次性任务
  • Cronjob:定时任务

  service

  • 防止pod失联
  • 定义一组pod的访问策略

  Namespace:命名空间,实现资源隔离

  CGroup:控制组,实现资源控制

  Label:标签,附加到某个资源上,用于关联对象、查询和筛选

  Annotations:注释

原文地址:https://www.cnblogs.com/karl-python/p/12598704.html