
kubernetes
文章平均质量分 72
鸿乃江边鸟
Apache Spark Contributor
专注于技术的dotaer
展开
-
spark on k8s的动态资源分配和external shuffle Service以及任务的队列资源管理
我们知道目前在spark on k8s的官网中,这里有两项很明显的future work。动态资源分配和外部的shuffle serivce任务队列以及资源管理也就是说,目前这两项spark还是不支持的,借助于广大社区的力量,各个大厂都提出了自己的开源方案外部的shuffle service通过RSS(remote shuffle service)来解决关于RSS可以参考spark remote shuffle service(RSS)杂谈, 简短的解释一下:在yarn中 动态资源分配是需原创 2021-06-09 13:11:07 · 1032 阅读 · 5 评论 -
spark on k8s:apache YuniKorn(Incubating)的助力
背景为什么选择spark on k8sApache Spark 作为一站式平台统一了批处理,实时处理,流分析,机器学习,以及交互式查询.虽然说spark 提供了多样的使用场景,但是也带来了额外的复杂性以及集群管理的成本。让我们来看一下为了赋能spark为一站式平台所需要的底层资源编排:spark计算要提供不同的机器学习以及etl任务的资源共享支持在共享k8s集群的spark多版本,python多版本,以及版本控制的快读迭代以及生产环境的稳定需要一个统一的批任务以及微服务的底层支持在共享集群间的翻译 2021-06-09 11:59:15 · 756 阅读 · 1 评论 -
基于 k8s 调度遇到的问题
pod的phase从Failed转换为了Succeeded一开始遇到这个问题的时候很是蒙,查了一系列的源码,也没有找到原因,线下也没有复现出来,后面查看kubenrete的GitHub pr,有一系列关于phase转化的问题,比如kubelet: check for illegal phase transition,https://github.com/kubernetes/kubernetes/pull/54530,这些pr的提交都是针对1.19.x版本了,而我们现在的线上版本还是1.15.2版本。.原创 2021-04-23 15:00:33 · 207 阅读 · 1 评论 -
spark on k8s 镜像构建
spark on k8s 基础镜像的构建背景这是跑spark on k8s任务的基础镜像,用来指明executor pod的基础镜像构建步骤git clone spark特定的版本(加入是3.0.1版本),克隆完后,执行一下命令进行构建,构建出包含kubernetes模块的可运行包:./dev/make-distribution.sh --name 2.6.0-cdh5.13.1 --pip --tgz -Phive -Phive-thriftserver -Pmesos -Pyarn -P原创 2021-04-23 14:47:48 · 1386 阅读 · 3 评论 -
【k8s系列6】Mirantis及时现身,接过Kubernetes dockershim支持大旗
关于dockershim即将灭亡的传言无疑存在严重夸大。如果一直有关注Kubernetes生态系统,很多朋友一时之间可能确实被Kubernetes 1.20版本的发布公告弄得有点不知所措。从公告内容来看,自1.20版本开始dockershim将被全面弃用。但请不要恐慌,调整呼吸,一切都会好起来。更重要的是,Mirantis现已同意与Docker开展合作,在Kubernetes之外独立维护shim代码并将其作为Docker Engine API的统一CRI接口。对于Mirantis客户而言,这意味着Dock转载 2020-12-07 09:53:39 · 278 阅读 · 0 评论 -
【k8s系列5】不必惊慌:聊聊Kubernetes与Docker
在1.20版本之后,Kubernetes将不再支持把Docker作为容器运行时使用。不必惊慌,实际上没多大影响。摘要:这里只是不建议将Docker作为底层运行时,你仍然可以使用专为Kubernetes创建的容器运行时接口(CRI)一如既往地在集群中运行Docker镜像。对于Kubernetes最终用户,此次调整同样不会有太大影响。Docker不会就此消亡,你也仍然可以继续将Docker作为开发工具使用。Docker会继续构建起不计其数的容器,而运行docker build命令所生成的镜像仍可在Kube转载 2020-12-07 09:52:46 · 143 阅读 · 0 评论 -
【openJDK系列2】云原生时代,Java危矣?
Java 诞生距今已有 25 年,但它仍然长期占据着“天下第一”编程语言的宝座。只是其统治地位并非坚不可摧,反倒可以说是危机四伏。云原生时代,Java 技术体系的许多前提假设都受到了挑战,目前已经有可预见的、足以威胁动摇其根基的潜在可能性正在酝酿。同时,像 Golang、Rust 这样的新生语言,以及 C、C++、C#、Python 等老对手也都对 Java 的市场份额虎视眈眈。面对危机,Java 正在尝试哪些变革?未来,Java 是会继续向前、再攀高峰,还是由盛转衰?在今天由极客邦科技举办的 QCon 全转载 2020-12-07 08:19:51 · 245 阅读 · 0 评论 -
【go系列3】go 的包管理工具go modules的使用
背景由于之前写k8s operator在引入go的包的时候,涉及到go的包管理工具,因为自己写java已经很多年,maven的包管理工具很是好用,便想到golang是否也有类似的工具, goer都知道go的包引入带上github.com类似的前缀,就会自动从go的第三方检索服务pkg.go.dev下载对应的文件,而该检索服务会定期从github更新最新的代码。go mod 是golang 1.11版本引入的。相对于之前要么是没有包管理,要么是管理工具不好用使用查看golang的版本,确保在1原创 2020-12-03 16:35:33 · 257 阅读 · 0 评论 -
【go系列2】 关于go中与java C++中应该注意的语法糖以及不同点
背景最近在用golang写k8s operator(其中涉及到informer controler )用于内部调度平台用,刚好借此机会能够与java版本的 informer controller进行对比,由于之前对golang没怎么接触过,遇到了和java c++不同的语法糖,现在列举一下:具体不同golang中structgolang中没有class的概念,但是有struct,而且可以给struct增加方法,如下:type Member struct { Id int `j原创 2020-11-26 19:47:49 · 259 阅读 · 0 评论 -
云原生(cloud native)是什么,怎么理解
很多人都会问“到底什么是云原生”,对此,CNCF 官方大使、阿里云容器平台高级技术专家张磊曾经做过精彩的解释。实际上,云原生是一条最佳路径或者最佳实践。更详细的说,云原生为用户指定了一条低心智负担的、敏捷的、能够以可扩展、可复制的方式最大化地利用云的能力、发挥云的价值的最佳路径。因此,云原生其实是一套指导进行软件架构设计的思想。按照这样的思想而设计出来的软件:首先,天然就“生在云上,长在云上”;其次,能够最大化地发挥云的能力,使得我们开发的软件和“云”能够天然地集成在一起,发挥出“云”的最大价值。所以转载 2020-11-18 17:46:00 · 1190 阅读 · 0 评论 -
【k8s系列5】KubernetesClientException: too old resource version 原因分析
背景公司目前在基于k8s做调度(基于io.fabric8:kubernetes-client:4.2.0),在运行的过程中,遇到了如下问题:OkHttp WebSocket https://10.25.61.82:6443/...] DEBUG io.fabric8.kubernetes.client.dsl.internal.WatchConnectionManager - WebSocket close received. code: 1000, reason: [OkHttp WebSocket原创 2020-11-18 10:36:17 · 5705 阅读 · 0 评论 -
【go系列1】go的安装(mac)
由于之前项目依赖到了k8s,且与k8s的集成比较多,而k8s的源码是go写的,网上搜索了一大堆关于go的信息,发现很多云原生的项目都是由go写的,所以又来折腾以下go语言,因为之前用brew install mac安装了go,也用了pkg包安装了go,所以环境够的很乱,至此,特定来清理一下安装方式brew install go官网下载对应的安装包,直接安装注意:第一种方式安装,go可执行文件在/usr/local/bin下,其实这个目录下的go是一个软连接,➜ bin ll /usr/原创 2020-11-11 17:24:00 · 327 阅读 · 0 评论 -
【k8s系列4】kubernetes(k8s)的社区与其他开源项目的区别
本文转载自:谈谈Kubernetes开源社区和未来走向我们知道 Kubernetes 这个项目是托管在 CNCF 基金会下面的。但是,我在专栏最前面讲解容器与 Kubernetes 的发展历史的时候就已经提到过,CNCF 跟 Kubernetes 的关系,并不是传统意义上的基金会与托管项目的关系,CNCF 实际上扮演的,是 Kubernetes 项目的 Marketing 的角色。这就好比,本来 Kubernetes 项目应该是由 Google 公司一家维护、运营和推广的。但是为了表示中立,并且吸引更多转载 2020-10-28 17:39:38 · 695 阅读 · 0 评论