第一章 Kubernetes进阶之Kubernetes简介

  Kubernets是什么

  • Kubernets是Google在2014年开源的一个容器集群管理系统,简称k8s
  • K8s用于容器化应用程序部署,扩展和管理
  • K8s提供了容器编排,资源编排,弹性伸缩,部署管理,服务发现等一系列功能
  • K8s的目标是让容器部署更加简单高效

  Kubernets的特性

  • 自我修复
  • 弹性伸缩
  • 自动部署和回滚
  • 服务发现和负载均衡
  • 机密和配置管理
  • 存储编排
  • 批处理

  Kunernetes集群架构与组件

 

  Master 组件:

  kube-apiserver :
  Kubernetes API 集群的统一入口,各组件的协调者,以RESTful API提供接口方式,所有的对象资源的

  增删改查和监听操作都交给APIServer处理后再提交给etcd数据库做持久化存储

  Kube-controller-manager
  处理集群中常规后台任务,一个资源对应一个控制器,而controllerManager就是负责处理这些控制器的

  kube-scheduler

  根据调度算法为新创建的pod选择一个Node节点,可以任意部署,可以部署在同一个节点上,也可以部署在不同的节点上

  etcd

  分布式键值存储系统,用于保存集群状态数据,比如Pod,Service等对象信息

  Node组件:
  kubelet:

  kubelet 是Master在Node节点上的Agent,管理本机运行容器的生命周期,比如创建容器,Pod挂载数据卷,下载secret,获取容器和节点状态等工作,kubelet 将每个Pod转换成一组容器

  kube-proxy:
  在Node节点上实现Pod网络代理,维护网络规则和四层负载均衡工作。实现让Pod节点(一个或者多个容器)对外提供服务

  docker或rocket

  容器引擎,运行容器

  Kubernetes的核心概念

  Pod

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

  Controllers

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

  更高级层次对象,部署和管理Pod

  Service

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

  Label

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

  Namespace

  命名空间,将对象逻辑隔离

  Annotations

  注释

原文地址:https://www.cnblogs.com/minseo/p/11829033.html