浅谈k8s:k8s部署架构以及工作原理

对于每个想落地kubernetes应用的工程师来说,熟悉kubernetes的架构和工作原理是必经之路,也是必须知道的知识,只有了解kubernetes的架构和工作原理才能更好的应用kubernetes 。

kubernetes架构

Kubernetes最初源于谷歌内部的Borg,提供了面向应用的容器集群部署和管理系统,所以整体的架构和borg很相似,整个架构有api server,control manager,scheduler,etcd,kubelet,kube-proxy,network-plugin等相关组件完成,整体架构如下:

其中:

Api server,Control manager,Scheduler,Etcd属于master节点,相关组件功能如下:

1.Etcd:保存了整个集群的状态;

2.Apiserver:提供了资源操作的唯一入口,并提供认证、授权、访问控制、API注册和发现等机制;

3.Controller manager:负责维护集群的状态,比如故障检测、自动扩展、滚动更新等;

4.Scheduler:负责资源的调度,按照预定的调度策略将Pod调度到相应的机器上;

Kubelet,Container runtine,Kube-proxy属于woker节点,相关组件功能如下:

1.kubelet:负责维护容器的生命周期,同时也负责Volume(CSI)和网络(CNI)的管理;

2.Container runtime:负责镜像管理以及Pod和容器的真正运行(CRI);

3.kube-proxy:负责为Service提供cluster内部的服务发现和负载均衡;
kubernetes工作原理

如下为kubernetes的整个工作流程图:

原文地址:https://blog.51cto.com/blief/2386811

时间: 2024-11-05 20:49:18

浅谈k8s:k8s部署架构以及工作原理的相关文章

学习之路(一)浅谈:基础命令及linux工作原理

看了视频,它系统的讲解了linux从硬件到操作系统的工作过程,以及常用的基础命令的详细参数及用法. 我也在这里整理之后加强记忆一次基本概念,及linux文件树目录的基本知识结构. 硬件-->操作系统OS-->library-->shell(GUI或者CLI) ☆/boot:系统启动相关文件.如内核(mlinuz和initramfs),inittrd以及grub(bootloader) /dev:设备文件:块设备/字符设备/设备号 ☆/etc:配置文件 /home:用户家目录 ☆/root

AngularJS进阶(二十五)requirejs + angular + angular-route 浅谈HTML5单页面架构

requirejs + angular + angular-route 浅谈HTML5单页面架构 众所周知,现在移动Webapp越来越多,例如天猫.京东.国美这些都是很好的例子.而在Webapp中,又要数单页面架构体验最好,更像原生app.简单来说,单页面App不需要频繁切换网页,可以局部刷新,整个加载流畅度会好很多. 废话就不多说了,直接到正题吧,浅谈一下我自己理解的几种单页面架构: 1.requirejs+angular+angular-route(+zepto) 最后这个zepto可有可无

浅谈HTML5单页面架构(二)——backbone + requirejs + zepto + underscore

本文转载自:http://www.cnblogs.com/kenkofox/p/4648472.html 上一篇<浅谈HTML5单页面架构(一)——requirejs + angular + angular-route>探讨了angular+requirejs的一个简单架构,这一篇继续来看看backbone如何跟requirejs结合. 相同地,项目架构好与坏不是说用了多少牛逼的框架,而是怎么合理利用框架,让项目开发更流畅,代码更容易管理.那么带着这个目的,我们来继续探讨backbone. 首

浅谈图片服务器的架构演进

浅谈图片服务器的架构演进 现在几乎任何一个网站.Web App以及移动APP等应用都需要有图片展示的功能,对于图片功能从下至上都是很重要的.必须要具有前瞻性的规划好图片服务器,图片的上传和下载速度至关重要,当然这并不是说一上来就搞很NB的架构,至少具备一定扩展性和稳定性.虽然各种架构设计都有,在这里我只是谈谈我的一些个人想法. 对于图片服务器来说IO无疑是消耗资源最为严重的,对于web应用来说需要将图片服务器做一定的分离,否则很可能因为图片服务器的IO负载导致应用 崩溃.因此尤其对于大型网站和应

浅谈mapreduce程序部署

尽管我们在虚拟机client上能非常快通过shell命令,进行运行一些已经封装好实例程序,可是在应用中还是是自己敲代码,然后部署到server中去,以下,我通过程序进行浅谈一个程序的部署过程. 在启动Hadoop之后,然后把程序达成可运行的jar包,并把对应的第三方jar包 包括进去.运行hadoop    jar   XXX. +驱动名称. package com.mapred; import java.io.IOException; import java.io.PrintStream; i

浅谈大型web系统架构

动态应用,是相对于网站静态内容而言,是指以c/c++.php.Java.perl..net等服务器端语言开发的网络应用软件,比如论坛.网络相册.交友.BLOG等常见应用.动态应用系统通常与数据库系统.缓存系统.分布式存储系统等密不可分. 大型动态应用系统平台主要是针对于大流量.高并发网站建立的底层系统架构.大型网站的运行需要一个可靠.安全.可扩展.易维护的应用系统平台做为支撑,以保证网站应用的平稳运行. 大型动态应用系统又可分为几个子系统: 1)Web前端系统 2)负载均衡系统 3)数据库集群系

Citrix PVS架构和工作原理

Citrix PVS产品一直在Citrix的产品体系中存在着重要的位置,在中大型的VDI环境中,绝大部分都是基于PVS架构部署的,足以证明PVS架构的稳定.高效和便捷. 本文从底层架构和原理的角度分析了Citrix PVS组件,使得我们能够得窥PVS架构稳定.高效和便捷的背后,支撑的机制到底是什么? 一.Citrix PVS简介 Citrix Provisioning Services组件简称Citrix PVS,是通过创建一个标准的虚拟机镜像,该镜像就如同一个虚拟磁盘一样,里面包含了虚拟机的配

Java网络编程和NIO详解7:浅谈 Linux 中NIO Selector 的实现原理

Java网络编程和NIO详解7:浅谈 Linux 中NIO Selector 的实现原理 转自:https://www.jianshu.com/p/2b71ea919d49 本系列文章首发于我的个人博客:https://h2pl.github.io/ 欢迎阅览我的CSDN专栏:Java网络编程和NIO https://blog.csdn.net/column/details/21963.html 部分代码会放在我的的Github:https://github.com/h2pl/ 浅谈 Linux

浅谈HTML5单页面架构(一)——requirejs + angular + angular-route

本文转载自:http://www.cnblogs.com/kenkofox/p/4643760.html 心血来潮,打算结合实际开发的经验,浅谈一下HTML5单页面App或网页的架构. 众所周知,现在移动Webapp越来越多,例如天猫.京东.国美这些都是很好的例子.而在Webapp中,又要数单页面架构体验最好,更像原生app.简单来说,单页面App不需要频繁切换网页,可以局部刷新,整个加载流畅度会好很多. 废话就不多说了,直接到正题吧,浅谈一下我自己理解的几种单页面架构: 1.requirejs