kubernetes概念

  1. kubernetes blog
  2. cluster

cluster是计算、存储、和网络资源的集合,kubernetes利用这些资源运行各种基于容器的应用。

  1. master

master是cluster的大脑,它的主要职责是调度,即决定应用放在哪运行。为了实现高可用,可以运行多个master。

  1. node

node的职责是运行容器应用,node由master管理,node负责监控并汇报容器的状态,并根据master的要求管理容器的生命周期。

  1. pod

pod是kubernetes的最小工作单元。每个pod包含一个或多个容器,pod中的容器会作为一个整体被master调度到一个node上运行。

  1. pod的作用
  • 方便管理关系密切的容器
  • 方便通信和资源共享,pod中所有容器共享namespace,ip,port
  1. Kubernetes运行容器(Pod)与访问容器(Pod)这两项任务分别由 Controller 和 Service 执行
  2. controller

kubernetes通常不会直接创建pod,而是通过controller来管理pod,如定义pod有几个副本,在什么样的node上运行等等。

  1. controller分类
  • deployment,是最常见的是controller,它可以管理pod的多个副本,并确保按预期状态运行。
  • job用于运行结束就删除的应用。而其他Controller中的pod通常是长期持续运行
  • statefuleset,它能够保证pod的每个副本在整个生命周期中的名称是不变的,同时保证副本按照固定的顺序启动、更新或者删除。
  • daemonset,它通常用于运行daemon
  • ReplicaSet 实现了 Pod 的多副本管理
  1. service
  • kubernetes service定义了外界访问一组pod的方式。service有自己的ip和port,并为pod提供了负载均衡。
  1. namespace
  • 将多用户或项目组创建的controller,pod等资源分开,每个cluster就是一个namespace,不同的namespace的资源是完全隔离的。
  • Kubernetes默认创建了两个Namespace。
posted @ 2018-06-25 23:24  随便了888  阅读(172)  评论(0编辑  收藏  举报