[k8s]介绍

概念

什么是k8s

  • 一组服务器集群
  • 管理集群中各个节点的容器(最小单位是pod)

功能

  • 自我修复
  • 弹性伸缩: 根据服务器实际情况增加或减少容器数量
  • 自动部署: 一键部署LAMP
  • 回滚:
  • 服务发现和负载均衡
  • 机密和配置共享管理

k8s集群分为两类节点

  • Master node: 主节点,不跑服务
  • Worker node: 实际工作节点

Master节点的组件

  • apiserver 接口服务,接收客户端操作k8s的指令
  • scheduler 资源调度,从多个work node节点中选取一个来启动服务
  • controller Manager 控制器,向work node 的 kubelet 发送指令

Node节点组件

  • kubelet: 向Docker发送指令,管理Docker容器
  • kubeproxy: 管理Docker容器的网络

etcd数据库

  • k8s的数据库:用来注册节点、服务、域名解析等等

pod

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

Controllers(控制pod 启动、停止、删除)

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

Service

  • 将一组pod关联起来,提供统一入口,即使pod地址发生改变统一入口也不会变化,可以保证用户继续访问,防止pod失联
  • 定义一组pod的访问策略

Label

  • 标签 附加到某个资源上,用于关联对象的查询和筛选
  • 一组pod是一个统一的标签
  • service是通过标签和一组pod进行关联的

Namespace

  • 命名空间,将对象逻辑上隔离,默认情况下pod是可以互相访问的
  • 为开发环境、测试环境、生产环境进行隔离

END

posted @ 2020-05-05 07:36  LeoShi2020  阅读(236)  评论(0编辑  收藏  举报