都2021年了,还是有许多人搞不清容器与k8s之间的关系。在开始本篇正文之前,我们先来捋一捋这对“CP”的关系。

你可能已经很熟悉虚拟机了,最常见的莫过于我们拿到macOS却需要用Windows软件,游戏用户就更别说,很多游戏仅有Windows版本。我们怎么解决的?下载并安装虚拟机软件,在虚拟机中实现双系统的运行就可以了。容器与虚拟机类似,也是可以将应用与库和其他依赖项打包,提供独立环境来运行软件服务。

上图虚拟化部署时代、容器部署时代的架构对比,不难发现,容器对比虚拟机时期少了大块头的操作系统,这使得原本又高又笨重的架构瞬间灵动轻巧,IT使用和运行效率大幅度飙升。

而容器的CP——k8s,能够进行应用的自动化部署和扩缩容,是让容器们发光发热的编排容器工具。

一、什么是k8s(Kubernetes)?

k8s全称Kubernetes,源于希腊语“κυβερνήτης”,意为“舵手”或“飞行员”。借助容器container的另一英文释义“集装箱”,k8s可想象为一艘航行在海面上的轮船,把装载的大量集装箱(容器)送到该去的地方,管理并发挥它们的最大效力。

k8s是比容器更上一层的架构,作为一个编排和管理容器的工具,它主要具备以下三大核心能力:自动调度、自动修复、水平自动伸缩。

1、自动调度

k8s可以把用户提交的容器放到k8s集群的任意一个节点,但运行过程中k8s会根据容器大小、规格,各节点的负载程度等实际情况来决定容器应该放到哪一个节点上。

2、自动修复

k8s有一个健康检查机制,会监测集群中所有的宿主机,当它发现其中有问题,比如某一个服务器挂了,它可以自动将这个服务器上的服务调度到另外一台主机上进行运行,无需人工干涉。

3、水平自动伸缩

k8s还具备业务负载检查的能力,会监测业务上所承担的负载,当达到预期设定的负载指标后,就会根据指标自动触发动态扩容或缩容行为。

二、k8s几个核心概念

1、Master

集群是一组节点,这些节点可以是物理服务器或者虚拟机,在此之上安装了Kubernetes平台。下图一个典型的Kubernetes架构图,其中有一个提供集群独特视角的Kubernetes Master,和一系列可以提供和集群交互的REST端点的组件,比如Kubernetes API Server,此外Master节点还包括用来创建和复制Pod的Replication Controller。

2、Pods

在k8s里面,集群调度的最小单元就是pod,一个pod可以是一个容器,也可以是多个容器。例如你运行一个程序,其中使用了nginx、mysql、jetty,可以将这三个使用在同一个pod中,对他们提供统一的调配能力。一个pod只能运行在一个主机上,而一个主机上可以有多个pod。

3、Labels

Label(标签用于区分对象),每个对象可以有多个标签,通过标签关联对象。 它是一个key=value的键值对,其中key与value由用户自己指定。可以附加到各种资源对象上,一个资源对象可以定义任意数量的Label。可以通过LabelSelector(标签选择器)查询和筛选资源对象。

4、Services

Service定义了Pod的逻辑集合和访问该集合的策略,是真实服务的抽象。Service提供了一个统一的服务访问入口以及服务代理和发现机制,关联多个相同Label的Pod,用户不需要了解后台Pod是如何运行。

5、Container

包含在Pod下,可以理解为容器,比如docker镜像。

6、Node

Node是Pod真正运行的主机,可以物理机,也可以是虚拟机。为了管理Pod,每个Node节点上至少要运行container runtime(比如docker或者rkt)、kubelet和kube-proxy服务。


这里我们举个现实生活中的例子,加深一下对k8s的理解。

在早以前,我们去到某商店买东西时,遇到缺货、断货的情况,只能下次转到别的店再找找,而现在,我们可以让连锁店家查看库存,直接从其他店铺调货。如此一来,其他店铺的商品不会堆积,该店铺的服务也有效果,而作为顾客的我们更是成功买到了想要的东西。

在这个应用场景中,当前城市可以理解为pod,店铺是container,label代表你想找的那款产品,城市(pod)之上是省(node),service就是能够在不同省份不同城市不同店铺之间调动商品库存的人。而Kubernetes的强大之处还在于,可以无限复制店铺(包括商品),对于我们也就是有购买需求的用户来说,就得到了永远有货的保障。

你可能要说了,既然k8s这么好用,又是开源软件,我们直接拿来用不就好了嘛?理是这么个理,但实际搭建生产环境的时候,跨多可用区部署k8s集群的过程复杂不说,随着应用和业务不断扩大,对系统的监测与维护难度是按指数增长的。

基于以上种种考虑,对许多企业或数据达到一定体量的独立开发者来说,明显更青睐覆盖数据从采集、存储、分析到展示的全流程、全自动的一站式解决方案。现在市场上相关方案不少,但大多是某一个功能非常突出,企业往往需要购买和使用多款软件,给运营成本和系统升级都造成极大的负担。

这里重点介绍一款集多功能于一体的一站式监测云平台DataFlux

三、一站式监测云平台DataFlux

DataFlux提供面向云、应用和业务的统一数据监控能力,全云平台、200+技术栈支持且可按量付费,使用简单,功能强大,性价比高。

DataFlux支持采集 Kubernetes 集群指标并上报。对Kubernetes集群指标的采集,主要通过两个 input 插件完成:

  • kubernetes: 主要针对集群中 kubelet 的数据采集,即 node 节点相关性能
  • kube_inventory: 主要针对集群中 api-server 的数据采集,即集群、pod 相关性能

我们来看几张效果图。

1、Kubernetes Overview 视图

2、Kubernetes Node 内置视图

3、Kubernetes Pod 内置视图

DataFlux的部署只需要几分钟就能搞定,我们可以按照教程安装DataFlux采集器DataKit,开启对Kubernetes集群指标的采集。更多DataFlux的功能和使用介绍,敬请期待后续文章~

什么?都1202年了还不懂k8s和容器的关系?!这份k8s指南快拿走不谢!相关推荐

  1. 2021年最新 k8s安装部署步骤 kubernetes从入门到实践 K8S实战容器化迁移实战教程 K8S存储之Ceph分布式存储系统 K8S架构师实战指南

    2021年最新 k8s安装部署步骤 kubernetes从入门到实践 K8S实战容器化迁移实战教程 K8S存储之Ceph分布式存储系统 K8S架构师实战指南

  2. 都9102年了还不懂动态图吗?一文带你了解飞桨动态图

    导读:飞桨PaddlePaddle致力于让深度学习技术的创新与应用更简单.飞桨核心框架已提供了动态图(DyGraph)相关的API和文档,并且还附有Language model.Sentiment C ...

  3. 这都2021年了还不懂Linux?一张思维导图帮你理清思路!【建议收藏!】

    Linux思维导图 Linux常用命令 Linux网络配置 Linux进程管理 Linux服务管理 只用一张图即可理清思路!!! 长图加载有点慢,双击即可看到! 持续更新中~~~~需要xmind文件评 ...

  4. AI打王者、星际争霸……你还不懂背后技术?这有一份游戏AI综述

    视学算法报道 机器之心编辑部 游戏中的人工智能所面临的技术.挑战和机遇. 人机游戏有着悠久的历史,已经成为验证人工智能关键技术的主流.图灵测试可以说是人类首次进行人机对抗测试,这激发了研究人员设计各类 ...

  5. k8s部署-48-k8s中如何选择使用哪个api,开发一个k8s的容器管理平台的思路是什么?

    k8s中有很多的api,我们的yaml文件开头一定要申明一个apiversion,怎么知道该使用哪个api呢?如何来选择正确的api呢? 我们又该如何来开发一个基于k8s的容器管理平台,开发k8s容器 ...

  6. 还不懂K8S各核心架构组件?来白嫖啊~

    文章目录 一.写在前面 二.K8S为我们提供了怎样的能力 三.架构 3.1.MasterNode 3.2.WorkerNode 四.核心组件 4.1.ApiServer 4.1.1.概述 4.1.2. ...

  7. python装饰器原理-看完这篇文章还不懂Python装饰器?

    原标题:看完这篇文章还不懂Python装饰器? 1.必备 2.需求来了 初创公司有N个业务部门,1个基础平台部门,基础平台负责提供底层的功能,如:数据库操作.redis调用.监控API等功能.业务部门 ...

  8. 学完计算机还是不懂,如果看了这篇文章你还不懂傅里叶变换,那就过来掐死我吧...

    如果看了这篇文章你还不懂傅里叶变换,那就过来掐死我吧(二) Heinrich ·  15 天前 已于2014.6.6更新,地址:傅里叶分析之掐死教程(完整版)更新于2014.06.06 - 与时间无关 ...

  9. 看完这篇文章,还不懂nginx,算我输

    看完这篇文章,还不懂nginx,算我输 参考:https://mp.weixin.qq.com/s/PeNWaCDf_6gp2fCQa0Gvng 1. Nginx产生~ Nginx 同 Apache ...

  10. 如果看了这篇文章你还不懂傅里叶变换,那就过来掐死我吧(下)

    上一篇文章发出来之后,为了掐死我,大家真是很下工夫啊,有拿给姐姐看的,有拿给妹妹看的,还有拿给女朋友看的,就是为了听到一句"完全看不懂啊".幸亏我留了个心眼,不然就真的像标题配图那 ...

最新文章

  1. acitivity 和fragment 通信,使用广播来传递信息的问题
  2. Mac 设置文件默认打开方式
  3. 扩展Ext2类 Extending Ext2 Class
  4. svn版本库浏览器_svn:版本库xxx不存在||svn:No such revision xxx的问题
  5. ElementUI中el-table设置指定列固定不动,不受滚动条影响
  6. ASP.Net生成静态HTML页!
  7. 03 Java 修饰符
  8. C# 调用Dll中非托管C++代码时,函数参数的类型对照
  9. 【报告分享】2020年金融科技十大关键词.pdf(附下载链接)
  10. amd显卡测试帧数显示软件,AMD最新科技让帧数翻倍?FidelityFX超分辨率FSR帧数画面实测...
  11. html滑动门原理,HTML+CSS:雪碧图和滑动门制作
  12. c语言的递归算法流程图,递归法_C语言递归法_递归算法经典实例
  13. 高等数学学习指导_学习A-Level应该如何选课?
  14. 使用planetaryjs插件实现3维地球仪效果
  15. js设计模式 -- 单例模式
  16. utorrent不能下载的解决方法
  17. 王艾辉:下方重点关注3140 上方3190 破位则追
  18. [Xcode]自己常用的Code Snippets、Xcode插件、文件目录
  19. 关于纳尔逊的内集理论
  20. OpenCV Java入门五 结合摄像头识脸和拍照

热门文章

  1. 2020年金融科技创新项目总结
  2. Java内存模型知识点小结---《深入理解Java内存模型》(程晓明)读书总结
  3. 轻量快速的国产导航软件Flare
  4. matlab无法打开wps的xls文件,xls文件怎么打开,wps无法打开xls文件怎么办
  5. 键盘切换不出中文输入法的解决方法
  6. 买笔记本电脑必须知道的事情
  7. 手机处理器天梯图2021
  8. 伪标签+html,伪标签(Pseudo-Labelling)介绍:一种半监督机器学习技术
  9. WindowsMobile6之“HTC Touch” - iphone的强大竞争对手
  10. Power bi 3.22 切片器