Helm

进击的Kubernetes调度系统(二):支持批任务的Coscheduling/Gang scheduling

巧了我就是萌 提交于 2020-12-04 01:51:08
前言 首先我们来了解一下什么是Coscheduling和Gang scheduling。Wikipedia对 Coscheduling 的定义是“在并发系统中将多个相关联的进程调度到不同处理器上同时运行的策略”。在Coscheduling的场景中,最主要的原则是保证所有相关联的进程能够同时启动。防止部分进程的异常,导致整个关联进程组的阻塞。这种导致阻塞的部分异常进程,称之为“碎片(fragement)”。 在Coscheduling的具体实现过程中,根据是否允许“碎片”存在,可以细分为Explicit Coscheduling,Local Coscheduling和Implicit Coscheduling。 其中Explicit Coscheduling就是大家常听到的 Gang Scheduling 。Gang Scheduling要求完全不允许有“碎片”存在, 也就是“All or Nothing”。 我们将上述定义的概念对应到Kubernetes中,就可以理解Kubernetes调度系统支持批任务Coscheduling的含义了。 一个批任务(关联进程组)包括了N个Pod(进程),Kubernetes调度器负责将这N个Pod调度到M个节点(处理器)上同时运行。如果这个批任务需要部分Pod同时启动即可运行,我们称需启动Pod的最小数量为min-available。特别地

Chaos Mesh® 1.0 GA,让混沌工程变得简单!

青春壹個敷衍的年華 提交于 2020-12-03 11:54:45
Chaos Mesh 是一个云原生的混沌测试平台,在去年的最后一天,我们开源了这个项目,以帮助大家更好的进行混沌实验。从开源到现在近一年的时间里,Chaos Mesh 在所有贡献者的共同努力下,在不断完善新功能的同时,也在易用性和稳定性上取得了阶段性的成果。 今天,我们自豪的宣布 Chaos Mesh 1.0 正式发布! Chaos Mesh 1.0 是一个里程碑,不仅支持更多混沌注入的类型,提高了框架组件的稳定性,并且增加了 Chaos Dashboard 组件用来改善 Chaos Mesh 的易用性。下面请跟随我们的脚步梳理 Chaos Mesh 1.0 有什么样的惊喜。 核心亮点 1. 丰富易用的混沌实验类型 混沌实验的核心是注入故障,Chaos Mesh 从分布式系统的出发,充分考虑分布式系统可能出现的故障,提供更加全面、细粒度的故障类型,能全方位的帮用户对网络、磁盘、文件系统、操作系统等进行故障注入。同时,使用 Chaos Mesh,不需要应用做任何修改,做到真正的被测试系统无感知。Chaos Mesh 目前支持的故障注入有: pod-kill:模拟 Kubernetes Pod 被 kill。 pod-failure:模拟 Kubernetes Pod 持续不可用,可以用来模拟节点宕机不可用场景。 container-kill:模拟 Container 被 kill。

Kubernetes日志系统新贵Loki-Stack

你说的曾经没有我的故事 提交于 2020-12-02 10:41:43
Loki简介 Grafana Loki是可以组成功能齐全的日志记录堆栈的一组组件。 与其他日志记录系统不同,Loki是基于仅索引有关日志的元数据的想法而构建的:标签(就像Prometheus标签一样)。 然后,日志数据本身被压缩并存储在对象存储(例如S3或GCS)中的块中,甚至存储在文件系统本地。 小索引和高度压缩的块简化了操作,并大大降低了Loki的成本。 相较于EKL,Loki就显得很轻量级了;用了Loki以后,ELK突然不香了!哈哈~~~ Loki-stack组件 先放两张图 Promtail Promtail 是用来将容器日志发送到 Loki 或者 Grafana 服务上的日志收集工具,该工具主要包括发现采集目标以及给日志流添加上 Label 标签,然后发送给 Loki,另外 Promtail 的服务发现是基于 Prometheus 的服务发现机制实现的。 Loki Loki 是可以水平扩展、高可用以及支持多租户的日志聚合系统,使用了和 Prometheus 相同的服务发现机制,将标签添加到日志流中而不是构建全文索引。因此,从 Promtail 接收到的日志和应用的 metrics 指标就具有相同的标签集。它不仅提供了更好的日志和指标之间的上下文切换,还避免了对日志进行全文索引。 Grafana Grafana 是一个用于监控和可视化观测的开源平台,支持非常丰富的数据源,在

Istio 1.1部署实践

眉间皱痕 提交于 2020-11-29 11:25:21
前提条件 正确安装配置Kubernetes集群 CentOS Linux release 7.5.1804 安装 下载istio 1.1版本 [root@vm157 ~]# wget https://github.com/istio/istio/releases/download/1.1.1/istio-1.1.1-linux.tar.gz …… 2019-03-26 09:39:06 (483 KB/s) - ‘istio-1.1.1-linux.tar.gz’ saved [15736205/15736205] Istio安装有多种方式,本文根据helm template生成istio部署的配置文件,其他部署方式请参考官方文档。 [root@vm157 ~]# cd istio-1.1.1/ [root@ruffy istio-1.1.1]# helm template ../install/kubernetes/helm/istio-init --name istio-init --namespace istio-system > istio-init.yaml [root@ruffy istio-1.1.1]# kubectl get crds | grep 'istio.io\|certmanager.k8s.io' | wc -l [root@ruffy istio-1

Istio 1.1尝鲜记

邮差的信 提交于 2020-11-29 10:51:44
近几天Istio1.1的发布引起了技术界巨大的反响,为了让更多技术爱好者能够亲自体验Istio1.1,公司的技术大佬赶出了这篇尝鲜教程,其中包括环境、安装、可能遇到的问题及解决方式等,希望对大家有所帮助。 环境 已经安装了 Kubernetes 集群,有1个 master 和4个 node。操作系统都是 CentOS Linux 7。 下载 Istio 安装文件 curl -L https: // git.io/getLatestIstio | ISTIO_VERSION=1.1.0 sh - export PATH = " $PATH:/root/istio-1.1.0/bin " 安装 Tiller 这里选择在 Helm 和 Tiller 的环境中使用 helm install 命令进行安装的方式。 kubectl apply -f install/kubernetes/helm/helm-service-account.yaml  假如已经安装过,结果如下: helm init --service-account tiller 安装 istio-init chart 更新 Helm 的本地包缓存: helm repo add istio.io "https://gcsweb.istio.io/gcs/istio-prerelease/daily-build/release-1

CERN如何用OpenStack、Kubernetes、Helm、Prometheus和CoreDNS加速

梦想的初衷 提交于 2020-11-25 14:40:50
CERN(欧洲核子研究所)是欧洲核研究组织,以其粒子加速器和对亚原子粒子、反物质和其他粒子物理相关研究的性质进行实验和分析而闻名。CERN也是万维网(WWW)被创建的地方。 CERN的研究员Ricardo Rocha说,总的来说,CERN现在管理着超过500个PB,并且10年后,随着一个新的加速器的上线,这个数字预计将达到5000个PB。Rocha还介绍了CERN如何在未来几年内适应管理10倍于现在的数据。 Kubernetes在CERN的基础设施中扮演着重要的角色。对于集群的管理,CERN利用了OpenStack提供的私有云内部部署服务。Rocha说,通过在OpenStack上部署Kubernetes集群,CERN拥有“与公共云提供的非常相似的体验”。这包括将其Kubernetes集群与用于自动缩放的云提供商及其存储系统集成。OpenStack还帮助CERN管理其遗留系统。 Rocha说:“我们为用户提供的是Kubernetes-as-a-service的体验。” 虽然允许用户按照自己的意愿使用工具和脚本迁移到Kubernetes可能很诱人,但是Helm可以为过程添加规则和更严格的控制。Rocha解释说,CERN为用户提供内部培训,帮助他们将工作负载迁移到Helm。 “当我们第一次向人们介绍Kubernetes的时候,仅仅是让事情运转起来就很有诱惑力

Openshift与Kubernetes优缺点对比

强颜欢笑 提交于 2020-11-25 00:54:02
Openshift首个支持企业级 Java 的 PaaS 平台,支持 JEE6 与 JBoss 和其 Eclipse 集成开发环境以及 Maven 和 Jenkins 自动化。使用 OpenShift 的人数及社区人数在不断增长。OpenShift基于Kubernetes,增加哪儿些功能?有什么区别? Openshift 的 Web console Openshift的web console采用node.js 与angularJS开发,支持实时推送,如下示例 集成容器管理与ImageStream OpenShift Container Registry 自动管理镜像的版本,ImageStream包含所有镜像的原数据,但ImageStream不包含Image数据。 使用Image Stream的目的是方便地将一组相关联的镜像进行整合管理和使用。 Openshift默认为用户定义了一系列开箱即用的Image Stream。 查看Image Stream对象 oc get is -n openshift Native CI/CD factory 原生支持Pipeline的Build实现CI/CD过程 Jenkins Plugin能直接触发openshift的构建和部署过程, 同时最吸引的特点是: 支持流水线Pipeline这种模式,便于在同一集群的多个项目(对应开发,测试,生产

Openshift与Kubernetes优缺点对比

杀马特。学长 韩版系。学妹 提交于 2020-11-24 10:21:51
Openshift首个支持企业级 Java 的 PaaS 平台,支持 JEE6 与 JBoss 和其 Eclipse 集成开发环境以及 Maven 和 Jenkins 自动化。使用 OpenShift 的人数及社区人数在不断增长。OpenShift基于Kubernetes,增加哪儿些功能?有什么区别? Openshift 的 Web console Openshift的web console采用node.js 与angularJS开发,支持实时推送,如下示例 集成容器管理与ImageStream OpenShift Container Registry 自动管理镜像的版本,ImageStream包含所有镜像的原数据,但ImageStream不包含Image数据。 使用Image Stream的目的是方便地将一组相关联的镜像进行整合管理和使用。 Openshift默认为用户定义了一系列开箱即用的Image Stream。 查看Image Stream对象 oc get is -n openshift Native CI/CD factory 原生支持Pipeline的Build实现CI/CD过程 Jenkins Plugin能直接触发openshift的构建和部署过程, 同时最吸引的特点是: 支持流水线Pipeline这种模式,便于在同一集群的多个项目(对应开发,测试,生产

关于容器迁移、运维、查错与监控,你想知道的都在这里了

走远了吗. 提交于 2020-11-22 03:19:51
作者 | 邱戈川(了哥) 阿里云智能云原生应用平台部高级技术专家 本文根据云栖大会全面上云专场演讲内容整理,关注阿里巴巴云原生公众号,回复“ 迁移 ”获得本文 PPT 今天上午王坚博士讲了一句话我比较有感触,大家做系统的时候,一定要想下你的系统的数据是怎么流转,这些系统的数据是怎么形成闭环。我们在设计阿里云的 K8s 容器服务 ACK 的时候也是融入了这些思考。 容器迁云解决方案一览 首先是和大家先看一下整个容器上云的解决方案。首先因为你已经做过容器,所以当你容器上云的时候,实际上这个事情是非常简单的,我们只需要提供的相应的工具,帮助大家把容器镜像迁入阿里云同时通过工具把 K8s 的配置迁到阿里云,以及可以用 DTS 工具把数据库迁入到阿里云。这样我们就可以完成一个完整的容器化上云的过程。 所以这个过程其实非常简单,但是上完云之后,不是说我们的 K8s 原来怎么玩现在还是怎么玩。我们希望大家从上云的过程中有些收益,所以我们希望提供一些更高效敏捷的一些方式给到大家,包括怎么去做 DevOps,包括我们怎么去做安全的软件供应链,以及我们做灰度发布。 同时我们希望成本更优一点,关键是大家上完云之后的成本怎么去核算,以及怎么去节约。所以容器上云后我们怎么去做更好的弹性伸缩、做自动化的运维,这个是大家需要在上云的过程中去考虑的问题。同时我们需要更好的管理我们的系统,一定要做到更好的高可用

Istio 1.8 发布——用户至上的选择

こ雲淡風輕ζ 提交于 2020-11-20 16:05:29
Istio 1.8 是 Istio 在 2020 年发布的最后一个版本,按照 Istio 社区在 今年初设定的目标 继续推进,该版本主要有以下更新: 支持使用 Helm 3 进行安装和升级 正式移除了 Mixer 新增了 Istio DNS proxy,透明地拦截应用程序的 DNS 查询,实现智能应答 新增了 WorkloadGroup 以简化对虚拟机的引入 WorkloadGroup 是一个新的 API 对象,旨在与虚拟机等非 Kubernetes 工作负载一起使用,模仿现有的用于 Kubernetes 工作负载的 sidecar 注入和部署规范模型来引导 Istio 代理。 安装与升级 Istio 从 1.5 版本开始弃用了 Helm,使用 istioctl manifest 方式安装,后来又改成了 istioctl install ,现在又重新回归了 Helm,Helm 作为 Kubernetes 环境下最常用的应用安装管理组件,此次回归也是倾听用户声音,优化安装体验的的反应吧,不过 Istio Operator 依然将是 Istio 安装的最终形式,从 1.8 版本开始 Istio 支持使用 Helm 进行 in-place 升级和 canary 升级。 增强 Istio 的易用性 istioctl 命令行工具新的了 bug reporting 功能( istioctl