首页 > 其他分享 >kubeadm搭建K8S容器集群管理系统(一)

kubeadm搭建K8S容器集群管理系统(一)

时间:2024-09-20 22:21:41浏览次数:11  
标签:容器 Kubernetes 1.2 管理系统 Service 节点 kubeadm K8S Pod

认识各k8s各组件的作用:

 1.1 Kubernetes概述

Kubernetes 是Google开源的容器集群管理系统,基于Docker构建一个容器的调度服务,提供资源调度、均衡容灾、服务注册、动态扩缩容等功能套件。 Kubernetes基于docker容器的云平台,简写成:k8s

官方网站:https://kubernetes.io/

官方网站非常友好,为数不多的的国外技术网站支持中文的。


1.2 Kubernetes组件介绍

Kubernetes 中的绝大部分概念都抽象成 Kubernetes 管理的一种资源对象,常见的资源对象如下:

kubeadm搭建K8S容器集群管理系统(一)_Deployment

1.2.1、 Master节点:Master 节点是 Kubernetes 集群的控制节点,负责整个集群的管理和控制。Master 节点上包含以下组件:

(1)、kube-apiserver:集群控制的入口,提供 HTTP REST 服务。REST API 是 Kubernetes 的基础架构。组件之间的所有操作和通信,以及外部用户命令都是 API Server 处理的 REST API 调用。

扩展:REST即表述性状态传递(英文:Representational State Transfer,简称REST)是一种软件架构风格。主要用于前后端分离开发架构。REST描述的是在网络中client和server的一种交互形式。

(2)、kube-controller-manager:Kubernetes 集群中所有资源对象的自动化控制中心

(3)、kube-scheduler:负责 Pod 的调度

1.2.2、 Node节点:Node 节点是 Kubernetes 集群中的工作节点,Node 上的工作负载由 Master 节点分配,工作负载主要是运行容器应用。Node 节点上包含以下组件:

(1)、kubelet:负责 Pod 的创建、启动、监控、重启、销毁等工作,同时与 Master 节点协作,实现集群管理的基本功能。

(2)、kube-proxy:实现 Kubernetes Service 的通信和负载均衡.提供网络管理。

1.2.3、 Pod

Pod 是 Kubernetes 最基本的部署调度单元。每个 Pod 可以由一个或多个业务容器和一个根容器(Pause 容器)组成。一个 Pod 表示某个应用的一个实例

kubeadm搭建K8S容器集群管理系统(一)_Pod_02

kubeadm搭建K8S容器集群管理系统(一)_REST_03

1.2.4、ReplicaSet:是 Pod 副本的抽象,用于解决 Pod 的扩容和伸缩。 Replica [ˈreplɪkə]复制品

1.2.5、Deployment:Deployment 表示部署,在内部使用ReplicaSet 来实现。可以通过 Deployment 来生成相应的 ReplicaSet 完成 Pod 副本的创建

      1.2.6、Service:Service 是 Kubernetes 最重要的资源对象。Service 定义了服务的访问入口,服务的调用者通过这个地址访问 Service 后端的 Pod 副本实例。Service 通过 Label Selector 同后端的 Pod 副本建立关系,Deployment 保证后端Pod 副本的数量,也就是保证服务的伸缩性。

kubeadm搭建K8S容器集群管理系统(一)_REST_04

1.2.7、Kube_proxy代理   做端口转发,相当于LVS-NAT模式中的负载调度器器

Proxy解决了同一宿主机,相同服务端口冲突的问题,还提供了对外服务的能力,Proxy后端使用了随机、轮循负载均衡算法。

kubeadm搭建K8S容器集群管理系统(一)_Pod_05

1.2.8、etcd      etcd存储kubernetes的配置信息, 可以理解为是k8s的数据库,存储着k8s容器云平台中所有节点、pods、网络等信息。

温馨语: linux 系统中/etc 目录作用是存储配置文件。  所以etcd (daemon) 是一个存储配置信息的数据库后台服务。

1.3  Kubernetes 运行机制

kubeadm搭建K8S容器集群管理系统(一)_REST_06

1. 用户通过 API 创建一个 Pod

2. apiserver 将其写入 etcd

3. scheduluer 检测到未绑定 Node 的 Pod,开始调度并更新 Pod 的 Node 绑定

4. kubelet 检测到有新的 Pod 调度过来,通过 container runtime 运行该 Pod

5. kubelet 通过 container runtime 取到 Pod 状态,并更新到 apiserver 中

kubeadm搭建K8S容器集群管理系统(一)_Pod_07

标签:容器,Kubernetes,1.2,管理系统,Service,节点,kubeadm,K8S,Pod
From: https://blog.51cto.com/u_12531389/12068920

相关文章

  • springboot招聘信息管理系统的设计与实现
    大家好,我是永钊,一个混迹在java圈的码农,今天要和大家聊的是一款基于springboot的招聘信息管理系统,项目源码请联系永钊,目前有各类成品毕设javawebsshssmspringboot等等项目框架,源码丰富。专业团队,咨询就送开题报告,活动限时免费,有需要的朋友可以来留言咨询。本网站系统采......
  • Java基于SpringBoot的研究生导师分配双选管理系统+Vue[毕业设计]
    文末获取资源,收藏关注不迷路文章目录前言主要使用技术研究内容核心代码文章目录前言伴随着我国社会的发展,人民生活质量日益提高。于是对导师选择管理进行规范而严格是十分有必要的,所以许许多多的信息管理系统应运而生。此时单靠人力应对这些事务就显得有些力不从......
  • 计算机毕业设计 基于Python的汽车销售管理系统 Python+Django+Vue 前后端分离 附源码
    ......
  • 毕业设计选题:151基于springboot+vue的校园志愿者管理系统
     开发语言:Java框架:springbootJDK版本:JDK1.8服务器:tomcat7数据库:mysql5.7(一定要5.7版本)数据库工具:Navicat11开发软件:eclipse/myeclipse/ideaMaven包:Maven3.3.9系统展示系统首页用户注册活动信息活动心得个人中心管理员登录管理员功能志愿者管理活动类型管理......
  • SSMSSM保险客户管理系统wkt6h 个性化推荐 在线客服
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表系统内容:用户,保险种类,保险信息,购买保险,购买指南,到期提醒开题报告内容一、研究背景与意义随着保险行业的快速发展,客户信息的有效管理和服务质量的提升成......
  • SSMJava抗疫物资管理系统u60av 带论文文档1万字以上
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表 系统内容:用户,健康打卡,物资信息,物资申请,物资捐赠,用户提醒开题报告内容一、研究背景在全球新冠疫情持续蔓延的背景下,抗疫物资的管理和分配成为各国政府和......
  • [附源码]图书借阅管理系统+SpringBoot+Vue前后端分离
    今天带来一款优秀的项目:图书借阅管理系统源码 。系统采用的流行的前后端分离结构,内含功能包括"系统权限角色",“登录,注册”,“图书管理”,“借阅管理”,“图书类别管理”,“系统账号管理”。如果您有任何问题,也请联系小编,小编是经验丰富的程序员!一.系统演示视频 https:......
  • springboot+vue招聘信息管理系统【开题+程序+论文】
    系统程序文件列表开题报告内容研究背景随着信息技术的飞速发展和互联网的普及,传统的招聘方式已难以满足企业与求职者之间高效、精准的信息对接需求。在当前就业市场日益竞争激烈的环境下,构建一个高效、便捷的招聘信息管理系统显得尤为重要。该系统旨在打破信息壁垒,通过数字......
  • 基于JSP客户关系管理系统的设计与实现的计算机毕设源码+论文
    摘要:本客户关系管理系统是使用JSP编程语言和SQLServer2000数据库共同来完成的,采用面向对象方法,对客户关系管理系统进行设计与实现。分析设计了客户关系管理系统的静态模型和动态模型,完成了系统开发的分析、设计和实现的工作。本客户关系管理系统通过Web方式完成用户与系统的交互,系......
  • 【F153】基于Springboot+vue实现的无人智慧超市管理系统
    主营内容:SpringBoot、Vue、SSM、HLMT、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、小程序、安卓app等设计与开发。收藏点赞不迷路,关注作者有好处项目描述本系统结合现今主流管理系统的功能模块以及设计方式进行分析,使用Java语言和Springboot框架进行开发设计,具体研究......