关于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相关的开发人员的必需技能。

相关阅读

《两地书》--K8s基础知识

Kubernetes的污点和容忍(上篇)

Kubernetes的污点和容忍(下篇)

Kubernetes的DaemonSet(上篇)

Kubernetes的DaemonSet(下篇)

关于作者

一线开发十二年,有日本东京和美国硅谷研发经验。有百余项技术发明专利,目前任美团点评技术专家。有自己的技术公众号「编程一生」。如果您在阅读文章时有什么疑问或者发现文章的错误,欢迎在公众号里给我留言。

原文地址:https://www.cnblogs.com/xiexj/p/11002054.html

时间: 2024-10-08 21:18:07

关于kubernetes我们还有什么可做的?的相关文章

Kubernetes系统架构简介

1. 前言 Together we will ensure that Kubernetes is a strong and open container management framework for any application and in any environment, whether in a private, public or hybrid cloud. Urs Hölzle, Google Kubernetes作为Docker生态圈中重要一员,是Google多年大规模容器管理

Kubernetes有状态应用管理——PetSet

1.介绍 在Kubernetes中,大多数的Pod管理都是基于无状态.一次性的理念.例如Replication Controller,它只是简单的保证可提供服务的Pod数量.如果一个Pod被认定为不健康的,Kubernetes就会以对待牲畜的态度对待这个Pod--删掉.重建.相比于牲畜应用,PetSet(宠物应用),是由一组有状态的Pod组成,每个Pod有自己特殊且不可改变的ID,且每个Pod中都有自己独一无二.不能删除的数据. 众所周知,相比于无状态应用的管理,有状态应用的管理是非常困难的.有

(转帖)开源容器集群管理系统Kubernetes架构及组件介绍

最近在搞Docker还有她的管理工具,选型Kuberetes后,被她的术语和概念搞得晕头转向...看了一篇文章还不错,放到这里分享出来. 地址:http://www.linuxidc.com/Linux/2015-12/125757.htm 引文如下: Kubernetes 作为Docker生态圈中重要一员,是Google多年大规模容器管理技术的开源版本,是产线实践经验的最佳表现.如Urs Hölzle所说,无论是公有云还是私有云甚至混合云,Kubernetes将作为一个为任何应用,任何环境的容

Kubernetes系统架构简介--转

原文地址:http://www.infoq.com/cn/articles/Kubernetes-system-architecture-introduction?utm_campaign=infoq_content&utm_source=infoq&utm_medium=feed&utm_term=global 1. 前言 Together we will ensure that Kubernetes is a strong and open container manageme

Mesos+Kubernetes集成安装部署

因为Docker本身没有提供集群管理能力,对于docker集群一台台的登陆操作不太现实,因此需要引进容器集群的管理工具,主流的有mesosphere的marathon.谷歌的Kubernetes.docker社区的swarm,目前成熟度最高的是Kubernetes.Kubernetes是Google开源的容器集群管理系统,其提供应用部署.维护. 扩展机制等功能,利用Kubernetes能方便地管理跨机器运行容器化的应用,其主要功能如下: 使用Docker对应用程序包装(package).实例化(

kubernetes基础

(1)什么是Kubernetes? Kubernetes是一个在集群主机间进行自动化部署.扩展和容器操作的提供以容器为中心基础设施的开源平台. 通过Kubernetes,你可以快速有效地响应用户需求: 快速而有预期地部署你的应用 极速地扩展你的应用 无缝铺展新的应用功能 节省资源,优化硬件资源的使用 我们的目标是孕育一个组件和工具的生态系统以资源在公有云和私有云中运行的应用的负担. Kubernetes特点: 可移植: 支持公有云,私有云,混合云,复合云 可扩展: 模块化,热插拨,可组合 自愈:

Kubernetes基础篇:主要特性、基本概念与总体架构

Kubernetes基础篇:主要特性.基本概念与总体架构 本文试图将Kubernetes的基础相关知识描述清楚,让一个从来没有Kubernetes实践的开发人员,能够非常容易地理解Kubernetes是什么,能够做哪些事情,以及使用它能带来的好处是什么. Kubernetes是什么 Kubernetes是一个开源的容器编排引擎,它支持自动化部署.大规模可伸缩.应用容器化管理.我们在完成一个应用程序的开发时,需要冗余部署该应用的多个实例,同时需要支持对应用的请求进行负载均衡,在Kubernetes

Rancher v1.2基础设施引擎整体架构分析

Rancher Labs官方于12月1日发布了其容器部署与管理平台Rancher的最新版本,Rancher v1.2.Rancher v1.2可以说是一个里程碑版本,只要体会其新版功能,会发现漫长的等待绝对是值得的. 从架构角度看,用两个字来概括就是"解耦",基础设施引擎的分离,agent节点的服务粒度更细: 从产品角度看,给了用户更多定制的空间,Rancher依然秉持着全部OpenSource的理念: 在开发语言上,之前遗留的通过shell脚本方式的粗糙实现也都基于Golang重写,

百度“百老汇”架构师深刻透视微服务架构

首先解释这个"百老汇"=百度老年架构师活动中心.......什么是微服务首先微服务并没有一个官方的定义,想要直接描述微服务比较困难,我们可以通过对比传统WEB应用,来理解什么是微服务.传统的WEB应用核心分为业务逻辑.适配器以及API或通过UI访问的WEB界面.业务逻辑定义业务流程.业务规则以及领域实体.适配器包括数据库访问组件.消息组件以及访问接口等.一个打车软件的架构图如下: 尽管也是遵循模块化开发,但最终它们会打包并部署为单体式应用.例如Java应用程序会被打包成WAR,部署在T