kubernetes作用领域总结
kubernetes在容器编排大战中由于应用的可移植性以及支持混合云/多云部署方式上的灵活性。加上开放可扩展的理念,使得周边社区非常活跃。从既有调研结果看,kubernetes已成为容器编排领域的标准。但是它并不成熟,很多方面都大有可为,下面就是列举了一些方面:
1.集群联邦
kubernetes是一个集中式容器管理工具。横向上来说,集群管理工具还有分布式和共享式等。代表性的分布式容器管理工具如yarn与kubernetes的区别是yarn的一台宿主机作为一个master来进行容器管理。分配速度很快。kubernetes以集群为单位,资源分配更好一些。共享式管理谷歌内部的borg在用,据说是一种更先进的分配方式。
kubernetes作为目前最受欢迎的容器管理工具,因为存储等方面的瓶颈,在集群规模大时需要拆分成多个集群分开管理。为了更达到在多个集群时能和一个集群一样统一管理,业界又出来了一个集群联邦的概念。就是让底层的多个集群对外像一个集群一样工作。目前这个技术还不是很成熟,在这方面是大有可为的。
2.scheduler
kubernetes的scheduler模块做的并不是很好,所以有意愿给kubernetes提patch的同学从这部分入手,提的patch很容易被采纳,成为贡献者之一。
在实际大公司使用的使用。往往自己造轮子会重写这一部分。
3.etcd
kubernetes采用etcd做存储,直接造成了kubernets的容量瓶颈。所以很多公司都在这上面做了优化。阿里在etcd上加了一层tair缓存来使用。京东将etcd替换成了mysql。
4.dns
kubernetes的DNS大公司使用的也很少。因为一般大公司都有自己服务注册发现机制和命名规范。
5.VPA
kubernetes的pod级别自动扩容分成两个层次:横向扩容HPA和纵向扩容VPA,来扩容容器可使用的资源量。横向扩容HPA很好办,就是将容器缩掉,用更大配置再扩出来。纵向扩容VPA又称作原地升级,这个会麻烦。因为k8s容器本身就是一个docker进程。VPA就是进程不重启实现升级。
6.插件
kubernetes核心功能并不多,很多功能都是以插件的形式提供,并且用户可以实现接口来做成自己的插件。
7.容器编排
等上面这些都成熟了以后,kubernetes还有最大的问题。它为解决资源利用率而生。所以需要通过算法和AI层面进一步提高资源利用率。所以对go语言的学习、算法的学习是作为kubernetes相关的开发人员的必需技能。
相关推荐
-
kubernetes1.5.2升级到kubernetes1.10一些主要的设定修改记录
本文记录了kubernetes1.5.2升级到kubernetes1.10一些主要的设定修改. 版本 升级方式 二进制替换之后修改systemd相关选项 docker设定 api-server设定 kubelet设定 /etc/kubernetes/kubeconfig内容: [root@host124 ~]# cat /etc/kubernetes/kubeconfig apiVersion: v1 kind: Config users: [] preferences: {} clusters
-
使用OpenSSL生成Kubernetes证书的介绍
kubernetes支持Base认证/Token认证/CA认证三种,这篇文章用于记录一下CA认证所需要的最简单程度的命令. kubernetes构成 测试版本为1.10,但不限于此版本,为openssl证书较为通用的方式. 所需证书 所需要的证书相关文件的说明如下: CA证书 CA证书私钥 命令:openssl genrsa -out ca.key 2048 [root@host121 k8scert]# openssl genrsa -out ca.key 2048 Generating RS
-
在CentOS中安装Rancher2并配置kubernetes集群的图文教程
准备 一台CentOS主机,安装DockerCE,用于安装Rancher2 一台CentOS主机,安装DockerCE,用于安装kubernetes集群管理主机 多台CentOS主机,安装DockerCE,用于运行kubernetes工作节点,工作节点需要与集群管理主机在同一个子网中 掌握Docker常用操作,了解K8s基本原理 安装Rancher2 第一步:执行命令,运行Rancher2,绑定主机端口80和443. docker run -d --restart=unless-stopped
-
Kubernetes(k8s)基础介绍
之前我一直想学习Kubernetes,因为它听起来很有意思(如果你是希腊人,你会觉得这个名字很有问题),但我从来没有机会,因为我没有任何东西需要运行在集群中.而最近,我的工作中开始逐步涉及Kubernetes相关的事情,所以这次我抓住机会,开始查资料,但后来我发现目前所有的资料(包括官方教程)都过于冗长,结构也不合理,这让我一开始有点沮丧. 经过几天的研究,我开始逐步理解Kubernetes的核心理念,并且把他部署到了生产环境中.因为我的简历现在说自己是个"Kubernetes专家",
-
rancher下的kubernetes之构建标准化vmware镜像的方法步骤
学习kubernetes的时候,我们需要在kubernetes环境下实战操作,然而kubernetes环境安装并不容器,现在通过rancher可以简化安装过程,咱们来实战rancher下的kubernetes吧: 整个实战分为两章:<构建标准化vmware镜像>和<安装部署rancher.kubernetes> 前提条件 由于要用到谷歌的服务,所以要求您的网络环境可以科学上网,具体的方案就不在这里说了: 实战环境 本次实战用的电脑是win10家庭版,通过vmware运行三个ubun
-
kubernetes对象Volume用法详解
概述 Volume是对各种存储资源的抽象.虚拟化.为管理.控制.使用存储资源提供统一接口.Openstack中的volume为虚拟机提供存储,Docker中的volume为容器提供存储.因为在kubernetes中可部署运行最小单位是pod ,所以kubernetes的volume为pod提供存储.当然在部署pod时可以不为其提供volume,pod中的容器使用所在节点的硬盘,能同时读写数据的地方称为可读写层.这种存储是容器级的临时存储,不是pod级.其生命周期与容器相同,如果容器crash后被
-
kubernetes作用领域总结
kubernetes在容器编排大战中由于应用的可移植性以及支持混合云/多云部署方式上的灵活性.加上开放可扩展的理念,使得周边社区非常活跃.从既有调研结果看,kubernetes已成为容器编排领域的标准.但是它并不成熟,很多方面都大有可为,下面就是列举了一些方面: 1.集群联邦 kubernetes是一个集中式容器管理工具.横向上来说,集群管理工具还有分布式和共享式等.代表性的分布式容器管理工具如yarn与kubernetes的区别是yarn的一台宿主机作为一个master来进行容器管理.分配速度
-
Kubernetes特别属性的标签Label的强大作用
目录 前言 Label的匹配规则: 前言 Label:对k8s中各种资源进行分类.分组,添加一个具有特别属性的标签 Selector:通过一个过滤的语法进行查找到对应标签的资源 Label是k8s中一个比较重要的概念.一个Label的一个key=value的键值对,可以附加到各种资源上. 现总结后讲解 Label的匹配规则: name=nginx:这类是直接匹配 name!=nginx:匹配标签中没有name=nginx的资源 name in (A,B):匹配所有具有name=A和name=B标
-
云原生技术kubernetes(K8S)简介
目录 01 kubernetes是什么? 02 kubernetes和Compost+Swarm之间的区别 03 一点总结 今天我们看看kubernetes技术的介绍,最近在极客时间上看张磊老师的深入kubernetes技术,讲的非常好,有兴趣的同学可以去收听一下,对于理解kubernetes技术非常有帮助,这里我会按照自己的进度,分享一下学习的笔记. 今天站的角度比较高,概念性质的东西会多一点. 01 kubernetes是什么? 曾经我认为这个问题很好回答,直到不断的去理解kubernete
-
异步JS框架的作用以及实现方法
从异步JS的重要性开始说起,再引入异步js框架,一步步的深入了解异步JS. 1.异步JS的重要性 随着Web平台地位的提升,霸占着浏览器的JavaScript语言也成为了世界上最流行的语言之一,甚至通过Node.js进入了服务器编程领域.JavaScript的一个重要特性便是"不能阻塞",这里的"不能"是指"不应该"而不是"无法"的意思(只要提供阻塞的API). JavaScript是一门单线程语言,因此一旦有某个API阻塞了
-
java三层架构原理与作用小结
三层架构 三层架构(3-tier application) 通常意义上的三层架构就是将整个业务应用划分为:表现层(UI).业务逻辑层(BLL).数据访问层(DAL).区分层次的目的即为了"高内聚,低耦合"的思想. 概念简介 1.表现层(UI):通俗讲就是展现给用户的界面,即用户在使用一个系统的时候他的所见所得. 2.业务逻辑层(BLL):针对具体问题的操作,也可以说是对数据层的操作,对数据业务逻辑处理. 3.数据访问层(DAL):该层所做事务直接操作数据库,针对数据的增添.删除.修改.
-
微服务领域Spring Boot自动伸缩的实现方法
前言 自动伸缩是每个人都想要的,尤其是在微服务领域.让我们看看如何在基于Spring Boot的应用程序中实现. 我们决定使用Kubernetes.Pivotal Cloud Foundry或HashiCorp's Nomad等工具的一个更重要的原因是为了让系统可以自动伸缩.当然,这些工具也提供了许多其他有用的功能,在这里,我们只是用它们来实现系统的自动伸缩.乍一看,这似乎很困难,但是,如果我们使用Spring Boot来构建应用程序,并使用Jenkins来实现CI,那么就用不了太多工作. 今天
-
解析vue、angular深度作用选择器
在 Vue 的开发中,我们经常会用到外部组件库,例如 element,当使用 element 组件库中的某一个组件的时,我们可能会希望有一些定制的地方,通常的做法是 用CSS覆盖:有时层级不够就要另辟他径. less使用/deep/ css使用>>> Angular适用深度选择器 使用组件样式 对你编写的每个 Angular 组件来说,除了定义 HTML 模板之外,还要定义用于模板的 CSS 样式. 指定任意的选择器.规则和媒体查询. 实现方式之一,是在组件的元数据中设置 styles
-
详解基于Spring Data的领域事件发布
领域事件发布是一个领域对象为了让其它对象知道自己已经处理完成某个操作时发出的一个通知,事件发布力求从代码层面让自身对象与外部对象解耦,并减少技术代码入侵. 一. 手动发布事件 // 实体定义 @Entity public class Department implements Serializable { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Integer departmentId; @Enumerate
-
python之OpenCV的作用以及安装案例教程
OpenCV的作用及安装 OpenCV简介 OpenCV是一个开源的跨平台计算机视觉库,可以运行在Linux.Windows.Android和Mac OS操作系统上.提供了Python.Ruby.MATLAB等语言的接口,并且实现了图像处理和计算机视觉方面的很多通用算法,可以给开发者调用. OpenCV应用领域 计算机视觉领域方向 人机互动 物体识别 图像分割 人脸识别 动作识别 运动跟踪 机器人 运动分析 机器视觉 结构分析 汽车安全驾驶 OpenCV涉及的技术 图像数据的操作: 分配.释放.
-
Golang开发库的集合及作用说明
目录 golang用于创建和发送电子邮件的库 golang处理日期和时间的库 数据库迁移 Go语言实现的数据库 golang通用数据结构及算法 golang用于进行配置解析的库 golang认证和授权库 golang用于操作音频的库 golang代码中嵌入其他语言的包 Go日志库 golang操作表单的库 Go实现消息系统的库 golang用于创建和发送电子邮件的库 douceur - HTML 邮件中的内联 CSS email - 一个健壮的.灵活的 email 库 Go-dkim - DKI
随机推荐
- javascript 判断两个日期之差的示例代码
- 巧用net命令解决XP中打印连接数问题
- Java实现表达式二叉树
- java线程之用Thread类创建线程的方法
- JPype实现在python中调用JAVA的实例
- JavaScript之事件委托实例(附原生js和jQuery代码)
- javascript 字符 Escape,encodeURI,encodeURIComponent
- phpMyadmin 用户权限中英对照
- 将文件放到Android模拟器的SD卡中的两种解决方法
- php中get_object_vars()方法用法实例
- PHP实现XML与数据格式进行转换类实例
- 使用Java开发实现OAuth安全认证的应用
- Java定时任务:利用java Timer类实现定时执行任务的功能
- 如何用C语言画一个“圣诞树”
- 小软件锁住系统的USB端口
- 解决Oracle字符串中包含数字、特殊符号的排序问题
- 详解python中的线程
- win10下mysql5.7.21解压版安装教程
- Django保护敏感信息的方法示例
- 深入浅出了解Node.js Streams