k8s功能、各组件介绍以及pod创建流程
一、什么是Kubernetes
Kubernetes(k跟s中间隔了8个字母又称k8s) 是谷歌开源的容器集群管理系统,是 Google 多年大规模容器管理技术Borg 的开源版本,主要功能包括:
- 基于容器的应用部署、维护
- 负载均衡和服务发现
- 跨机器和跨地区的集群调度
- 自动伸缩
- 滚动升级和一键回滚
- 应用程序健康检查
二、Kubernetes组件介绍

- APIserver :所有服务的统一访问入口,并提供认证、授权、访问控制、API注册和发现等机制;
- Controller Manager:主要就是用来维持pod的一个副本数,比如故障检测、自动扩展、滚动更新等;
- Scheduler(调度器):负责集群pod的调度,基本原理是通过监听kube-apiserver获取需要进行调度的pod,通过一系列的筛选,为pod分配最佳的node节点
- ETCD:键值对数据库,保存了集群的状态;
- Kubelet:直接和容器引擎交互,用来维护容器的一个生命周期;同时也负责 Volume(CVI)和网络(CNI)的管理;
- Kube-Porxy:部署在每个节点上的网络代理组件。基本原理是通过监听 APIServer 获取 Service、Endpoint 等资源,基于 Iptables、IPVS 等技术实现服务的映射访问、数据包转发等功能。
三、Pod创建流程

- 用户创建Pod,apiserver接收到pod创建请求后,不会直接创建Pod。而是先创建一个包含Pod创建信息的yaml文件,并将文件信息写入到etcd中。
- apiserver准备创建pod,信息转发给scheduler,首先判断:pod.spec.Node == null?若为空,表示该pod是新来的需要创建,首先会找几个最闲的节点然 后从这几个节点找一个最适合创建该pod的节点,调度器将信息给apiserver,apiserver将信息写入到etcd中。
- apiserver调用kubelet开始创建容器,创建完成后又将pod状态信息给apiserver,apiserver将pod状态信息写入到etcd中。
k8s功能、各组件介绍以及pod创建流程的更多相关文章
- k8s 基础 pod创建流程
Pod是Kubernetes中最基本的部署调度单元,可以包含container,逻辑上表示某种应用的一个实例.例如一个web站点应用由前端.后端及数据库构建而成,这三个组件将运行在各自的容器中,那么我 ...
- Kubernetes中pod创建流程
转自:https://blog.csdn.net/yan234280533/article/details/72567261 Pod是Kubernetes中最基本的部署调度单元,可以包含contain ...
- OpenStack Nova虚拟机创建流程解析
https://yikun.github.io/2017/09/27/OpenStack-Nova%E8%99%9A%E6%8B%9F%E6%9C%BA%E5%88%9B%E5%BB%BA%E6%B5 ...
- K8s - Kubernetes重要概念介绍(Cluster、Master、Node、Pod、Controller、Service、Namespace)
K8s - Kubernetes重要概念介绍(Cluster.Master.Node.Pod.Controller.Service.Namespace) Kubernetes 是目前发展最 ...
- FL Slayer合成器功能之顶部组件介绍
本章节采用图文结合的方式给大家介绍电音编曲软件--FL Studio中的插件FL Slayer合成器中的顶部组件,它是电吉他模拟合成器,感兴趣的朋友可以一起沟通学习交流. FL Slayer(杀手)合 ...
- Bootstrap Blazor 组件介绍 Table (二)自定义模板列功能介绍
Bootstrap Blazor 是一套企业级 UI 组件库,适配移动端支持各种主流浏览器,已经在多个交付项目中使用.通过本套组件可以大大缩短开发周期,节约开发成本.目前已经开发.封装了 70 多个组 ...
- k8s入门系列之介绍篇
•Kubernetes介绍1.背景介绍 云计算飞速发展 - IaaS - PaaS - SaaS Docker技术突飞猛进 - 一次构建,到处运行 - 容器的快速轻量 - 完整的生态环境2.什么是ku ...
- k8s 入门系列之介绍篇
•Kubernetes介绍1.背景介绍 云计算飞速发展 - IaaS - PaaS - SaaS Docker技术突飞猛进 - 一次构建,到处运行 - 容器的快速轻量 - 完整的生态环境2.什么是ku ...
- 【K8S学习笔记】初识K8S 及架构组件
K8S是什么?发展历史 Kubernetes (简称 k8s)是 Google 在2014年开源的,对容器生命周期管理的开源平台,致力于对容器集群提供易于管理.高可用.弹性负载与故障转移的能力,提高服 ...
随机推荐
- 【Java】comparable、comparator
comparable.comparator接口 说明 Java中的对象,正常情况下,只能进行比较:== 或 != .不能使用 > 或 < 的,但是在开发场景中,我们需要对多个对象进行排序, ...
- 【分享代码】bash中对一个逗号分隔的列表去重
直接上代码: #!/bin/bash dedup_list(){ v_list=$(echo "$1" | sed "s/,/\n/g" | sort -u | ...
- 【Kafka】基于Windows环境的Kafka有关环境(scala+zookeeper+kafka+可视化工具)搭建、以及使用.NET环境开发的案例代码与演示
前言:基于Windows系统下的Kafka环境搭建:以及使用.NET 6环境进行开发简单的生产者与消费者的演示. 一.环境部署 Kafka是使用Java语言和Scala语言开发的,所以需要有对应的Ja ...
- 花了半年时间,我把Pink老师的HTMLCSS视频课程,整理成了10万字的Markdown笔记!
说明:本文内容真实!!!不是推广!!! 学习前端的同学应该都或多或少听说过 Pink 老师,我个人觉得 Pink 老师的前端视频教程应该说是目前B站上最好的了,没有之一! Pink老师 HTML CS ...
- Redis持久化----RDB和AOF 的区别
关于Redis说点什么,目前都是使用Redis作为数据缓存,缓存的目标主要是那些需要经常访问的数据,或计算复杂而耗时的数据.缓存的效果就是减少了数据库读的次数,减少了复杂数据的计算次数,从而提高了服务 ...
- react diff算法浅析
diff算法作为Virtual DOM的加速器,其算法的改进优化是React整个界面渲染的基础和性能的保障,同时也是React源码中最神秘的,最不可思议的部分 1.传统diff算法计算一棵树形结构转换 ...
- C++ DLL注入工具完整源码
先上源码 #include "Inject_Main.h" #include "resource.h" #include <Windows.h> # ...
- Python 单元测试 生产HTML测试报告
使用HTMLTestRunnerNew模块,生成单元测试的html报告,报告标题根据对应测试时间. import unittest from datetime import datetime from ...
- HUWEI交换机如何判断环路故障
定义 以太网交换网络中为了提高网络可靠性,通常会采用冗余设备和冗余链路,然而现网中由于组网调整.配置修改.升级割接等原因,经常会造成数据或协议报文环形转发,不可避免的形成环路.如图1所示,三台设备两两 ...
- Category注意事项
1.分类的使用注意事项 分类只能增加方法, 不能增加成员变量 @interface Person (NJ) { // 错误写法 // int _age; } - (void)eat; @end 分类中 ...