kubernetes概念

kubernetes概念

cluster

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

master

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

node

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

pod

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

pod的作用

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

controller

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

controller分类

deployment,是最常见的是controller,它可以管理pod的多个副本,并确保按预期状态运行。
job用于运行结束就删除的应用。而其他Controller中的pod通常是长期持续运行
statefuleset,它能够保证pod的每个副本在整个生命周期中的名称是不变的,同时保证副本按照固定的顺序启动、更新或者删除。
daemonset,它通常用于运行daemon
ReplicaSet 实现了 Pod 的多副本管理

service

kubernetes service定义了外界访问一组pod的方式。service有自己的ip和port,并为pod提供了负载均衡。

namespace

将多用户或项目组创建的controller,pod等资源分开,每个cluster就是一个namespace,不同的namespace的资源是完全隔离的。
Kubernetes默认创建了两个Namespace。

发表评论

电子邮件地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据