IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> Kubernetes —— 核心模块 -> 正文阅读

[系统运维]Kubernetes —— 核心模块

上文中讲了K8s的全生命周期,本篇介绍K8S的核心模块
K8s的核心模块主要有Cluster 、Master 、Node 、Pod 、Service等等

k8s的核心技术概念:

img

Cluster

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

Master

请添加图片描述

Kubernetes里的Master指的是集群控制节点,负责整个集群的管理和控制,用于接收Kubernetes的绝大多数控制命令,master负责具体的执行过程。高可用部署建议用3台服务器,推荐选举。一旦master宕机或者不可用,那么对集群内容器应用的管理都将失效。

Master Node 由 API Server、Scheduler、ClusterState Store(ETCD 数据库)和 Controller MangerServer 所组成。

  1. Kubernetes API Server(kube-apiserver)
    Kubernetes API,集群的统一入口,各组件协调者,以HTTP API提供接口服务,Kubernetes里所有资源的增删改查和监听操作都交给APIServer处理后再提交给Etcd存储。
  2. Kubernetes Controller Manager(kube-controller-manager)
    Kubernetes里所有资源对象的自动化控制中心,可以理解为资源对象的大总管
  3. kube-scheduler
    负责资源调度(Pod调度)的进程

Node

请添加图片描述
Node是集群工作节点 由 Master 管理,运行用户业务应用容器,每个Node都会被Master分配一些工作负载(Docker容器),当某个Node宕机时,其上的工作负载会被Master自动转移到其他Node节点上。Node 还负责监控并汇报容器的状态,并根据 Master 的要求管理容器的生命周期。

Worker Node 包含 kubelet、kube proxy 和 ContainerRuntime:

  1. kubelet
    kubelet是Master在Node节点上的Agent,管理本机运行容器的生命周期,负责Pod对应容器的创建、启停等任务。同时与Master密切协作,实现集群管理的基本功能,获取Node节点上Pod的运行状态等。

kubelet是主要的节点代理,它会监视已分配给节点的pod,具体功能: 安装Pod所需的volume。 下载Pod的Secrets。
Pod中运行的 docker(或experimentally,rkt)容器。 定期执行容器健康检查。 通过创建一个
Pod(如果需要的话),向系统的其余部分报告 Pod 的状态。 向系统的其他部分报告节点的状态。

  1. kube-proxy
    在Node节点上实现Pod网络代理,实现Kubernetes Service的通信和负载均衡机制的重要组件。kube-proxy通过在主机上维护网络规则并执行连接转发来实现Kubernetes服务抽象。

  2. docker
    Docker引擎,负责本机的容器的创建和管理工作

Pod

Pod 是 Kubernetes 的最小工作单元。每个 Pod 包含一个或多个容器。Pod 中的容器会作为一个整体被 Master 调度到一个 Node 上运行,一个Pod里的所有容器共用一个namespaces

Service

Service是一组逻辑pod的抽象,为一组pod提供统一入口,用户只需与service打交道,service提供DNS解析名称,负责追踪pod动态变化并更新转发表,通过负载均衡算法最终将流量转发到后端的pod。Kubernetes里的每个Service其实也可以理解为我们的微服务架构中的一个微服务。
Service对外提供多种入口:
ClusterIP:Service在集群内的唯一ip地址,虚拟的IP,只能在 Kubernetes集群里访问。通过ClusterIP,负载均衡的访问后端的Pod
NodeIP+NodePort:Service会在集群的每个Node上都启动一个端口,通过NodeIP:NodePort访问后端的Pod。

Replication Controller

管理Pod的工具,kubernetes通过它来管理集群中的Pod。RC是Kubernetes系统中的核心概念之一。它能够保证Pod持续运行,并且在任何时候都有指定数量的Pod副本,在此基础上提供一些高级特性,比如滚动升级和弹性伸缩。

ReplicaSet

ReplicaSet 实现了 Pod 的多副本管理。使用 Deployment 时会自动创建 ReplicaSet,也就是说 Deployment 是通过 ReplicaSet 来管理 Pod 的多个副本,所以我们通常不需要直接使用 ReplicaSet。

Deployment

应用管理者,是用于部署应用的对象,Deployment内部使用了Replica Set来实现的,我们可以把Deployment看做RC的一次升级。

Namespace

命名空间,Namespace在很多情况下用于实现多租户的资源隔离。Namespace通过集群内部的资源对象"分配"到不同的Namespace中,形成逻辑上纷纷组的不同项目,便于不同的分组共享使用整个集群的资源的同时还能被分别管理。

Job

Job 用于运行结束就删除的应用。而其他 Controller 中的 Pod 通常是长期持续运行。

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2021-07-26 12:24:56  更:2021-07-26 12:25:12 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年12日历 -2024/12/27 11:33:55-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码
数据统计