k8s重要概念

简介: kubernetes架构图下图为kubernetes的master架构图1. Clustercluster是计算、存储和网络资源的集合,kubernetes利用这些资源运行各种基于容器的应用。

kubernetes架构图

下图为kubernetes的master架构图
image

1. Cluster

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

2. Master

Master 是Cluster的大脑,它的主要职能就是负责调度,决定应用放在哪里运行。master运行linux操作系统,可以是物理机或者虚拟机。为了实现高可用,可以运行多个Master。

3. Node

Node 的职责是运行容器应用。Node由Master管理,Node负责监控并汇报容器的状态,同时根据Master的要求管理容器的生命周期。Node运行在linux系统上,可以是物理机或者虚拟机。

4. Pod

Pod是kubernetes的最小工作单元。每个pod可以包含一个或者多个容器。Pod中的容器会作为一个整体被Master调度到一个Node上运行。kubernetes 以Pod为最小单位进行调度、扩展、共享资源、管理生命周期;pod中的所有容器都共享一个网络namespace,所有的容器可以共享存储。

  • pod有两种使用方式:
  1. 运行单一容器:

    one-container-per-Pod 是kubernetes最常见的模型,这种情况下,只是将单个容器简单封装成pod。即使只有一个容器,kubernetes管理的也是pod而不是直接管理容器。
  2. 运行多个容器:

    运行在同一个pod的的多个容器必须联系紧密,而且直接共享资源。

5. Controller

kubernetes通常不会直接去创建pod,而是通过Controller去管理pod的,Controller中定义了Pod的部署特性,比如有几个副本、什么样的Node上运行等。为了满足不同的业务场景,kubernetes提供了多种Controller,包括Deployment、ReplicaSet、DeamonSet、StatefuleSet、Job等,我们逐一讨论。

  • Deployment :是最常用的的Controller,deployment可以管理pod的多个副本,并确保pod按照预期的状态来运行。
  • ReplicaSet : 实现了pod的多副本管理。使用Deployment时会自动创建Replicaset。
  • DeamonSet: 用于每个Node最多只能运行一个Pod副本的场景。
  • StatefuleSet:能够保证Pod的每个副本在整个生命周期中名称是不变的,而其它Controller是提供这个功能。当某个Pod发生故障需要删除并且重新启动时,Pod的名称会发生变化,同时StatefuleSet会保证副本按照固定的顺序启动、更新或者删除。
  • Job 用于运行就删除的应用,而其他Controller 中的pod通常是持续运行的。

6. Service

Deployment 可以部署多个副本,每个Pod都有自己的Ip,那么外界如何访问这些副本呢?Kubernetes Service 定义了外界访问一组特定Pod的方式。Service 有自己的IP和端口,Service为pod提供了负载均衡。K8s运行容器Pod与访问容器Pod这两项任务分别由Controller和Service执行。

7. Namespace

如果有多个用户或者项目组共同使用k8s 集群,如果将他们创建的Pod等资源分开呢,就是通过Namespace进行隔离。

相关实践学习
容器服务Serverless版ACK Serverless 快速入门:在线魔方应用部署和监控
通过本实验,您将了解到容器服务Serverless版ACK Serverless 的基本产品能力,即可以实现快速部署一个在线魔方应用,并借助阿里云容器服务成熟的产品生态,实现在线应用的企业级监控,提升应用稳定性。
云原生实践公开课
课程大纲 开篇:如何学习并实践云原生技术 基础篇: 5 步上手 Kubernetes 进阶篇:生产环境下的 K8s 实践 相关的阿里云产品:容器服务 ACK 容器服务 Kubernetes 版(简称 ACK)提供高性能可伸缩的容器应用管理能力,支持企业级容器化应用的全生命周期管理。整合阿里云虚拟化、存储、网络和安全能力,打造云端最佳容器化应用运行环境。 了解产品详情: https://www.aliyun.com/product/kubernetes
相关文章
|
3月前
|
Kubernetes 负载均衡 Perl
kubernetes—五个概念入门(二)
kubernetes—五个概念入门(二)
65 0
|
3月前
|
Kubernetes 应用服务中间件 数据中心
kubernetes—五个概念入门(一)
kubernetes—五个概念入门(一)
75 0
|
4月前
|
Kubernetes 负载均衡 网络协议
k8s学习-Service(概念、模板、创建、外部代理、删除等)
k8s学习-Service(概念、模板、创建、外部代理、删除等)
127 0
|
6月前
|
Kubernetes 网络协议 数据安全/隐私保护
Kubernetes 的核心概念:Pod、Service 和 Namespace 解析
Kubernetes 的核心概念:Pod、Service 和 Namespace 解析
141 1
|
5月前
|
Kubernetes Linux Shell
【K8S 系列】k8s 学习二,kubernetes 核心概念及初步了解安装部署方式
【K8S 系列】k8s 学习二,kubernetes 核心概念及初步了解安装部署方式
105 0
|
6月前
|
消息中间件 Kubernetes Cloud Native
【Kubernetes的Knative Servina、Knative Eventing 核心概念及Broker、Channel and Trigger使用】
【Kubernetes的Knative Servina、Knative Eventing 核心概念及Broker、Channel and Trigger使用】
|
3月前
|
存储 Kubernetes 调度
Kubernetes 基本概念
Kubernetes 基本概念
59 0
|
2月前
|
Kubernetes 网络协议 API
玩转Kubernetes—基础概念篇
玩转Kubernetes—基础概念篇
56 1
|
4月前
|
Kubernetes Cloud Native 应用服务中间件
【云原生】kubernetes学习之资源(对象)控制器概述---概念和实战(五)
【云原生】kubernetes学习之资源(对象)控制器概述---概念和实战(五)
21 0
|
4月前
|
Kubernetes Cloud Native 调度
k8s学习-污点和容忍(概念、模版、创建、删除)
k8s学习-污点和容忍(概念、模版、创建、删除)
44 0

推荐镜像

更多