进击的Kubernetes调度系统(二):支持批任务的Coscheduling/Gang scheduling
阿里云容器服务团队结合多年Kubernetes产品与客户支持经验,对Kube-scheduler进行了大量优化和扩展,逐步使其在不同场景下依然能稳定、高效地调度各种类型的复杂工作负载。 《进击的Kubernetes调度系统》系列文章将把我们的经验、技术思考和实现细节全面地展现给Kubernetes用户和开发者,期望帮助大家更好地了解Kubernetes调度系统的强大能力和未来发展方向。
阿里云重磅发布云原生裸金属方案:裸金属 + 容器,解锁云计算的新方式
在 6 月 9 日 2020 阿里云线上峰会上,阿里云智能基础产品事业部高级研究员蒋江伟重磅发布了云原生裸金属方案。
Kubernetes弹性伸缩全场景解读(八) - 定时伸缩组件支持HPA兼容
在之前的文章中,我们介绍了kubernetes-cronhpa-controller是如何通过设置定时的方式触发容器的水平副本伸缩,但是在实际的场景下,虽然定时伸缩对于负载有规律的应用比较友好,但是应用为了防止突发的流量冲击,还是会配置HPA来做最后的保障的。
ACK集群中云盘数据卷的备份恢复方案
在阿里云ACK集群中部署有状态服务通常使用云盘数据卷做数据存储,云盘本身提供了数据的备份(快照)恢复机制,但是如何将底层能力和K8S服务集成并灵活的提供给应用使用,是云原生存储服务需要解决的问题。K8S使用如下两个特性来实现备份恢复能力: 通过VolumeSnapshot对象实现云盘的备份(快照.
阿里云容器服务团队实践——Alluxio优化数倍提升云上Kubernetes深度学习训练性能
近些年,以深度学习为代表的人工智能技术取得了飞速的发展,正落地应用于各行各业。越来越多的用户在云上构建人工智能训练平台,利用云平台的弹性计算能力满足高速增长的AI业务模型训练方面的需求,然而这种“本地存储+云上训练”的训练模式加剧了计算存储分离架构带来的远程数据访问的性能影响。
如何让你的k8s集群更安全
近期在阿里云容器团队与Palo Alto Networks安全团队的联合调研中发现有大量的自建Kubernetes集群存在不同程度的安全隐患,本文主要介绍了Kubernetes集群使用过程中可能遇到的安全风险,同时如何利用阿里云容器服务,容器镜像服务的安全能力和Palo Alto Networks的容器安全解决方案提升Kubernetes集群的整体安全性。
阿里云容器服务ACK集群上如何使用ack-etcd-backup-operator定期自动对ETCD集群数据做备份
如果用户在 [阿里云容器服务平台](https://cs.console.aliyun.com) 上创建了独享专有的Kubernetes集群(dedicated kubernetes cluster),那么用户将对集群的管理节点和工作节点享有完全的控制能力,其中Etcd集群是Kubernetes集群中一个十分重要的组件,用于保存集群所有的网络配置和对象的状态信息。 本文旨在介绍如何使用 [a
Kubernetes容器运行时接口-CRI
Kubernetes提供了多种容器开放接口用于对接不同的后端来提供资源,如提供计算资源的容器运行时接口(Container Runtime Interface, CRI),提供网络资源的容器网络接口(Container Network Interface, CNI),提供提供存储资源的容器存储接口(Container Storage Interface, CSI)。这篇作为这系列的开篇,主要介绍了kubelet的CRI接口实现。
云原生必备知识: Linux 容器-隔离
Linux 内核从版本 2.4.19 开始陆续引入了 namespace 的概念。其目的是将某个特定的全局系统资源(global system resource)通过抽象方法使得namespace 中的进程看起来拥有它们自己的隔离的全局系统资源实例(The purpose of each namespace is to wrap a particular global system resource in an abstraction that makes it appear to the processes within the namespace that they have their
在kubernetes集群中使用虚拟节点创建1万Pod-支持在线教育业务疫情高峰
在kubernetes集群中添加虚拟节点的方式已被非常多的客户普遍使用,基于虚拟节点可以极大提升集群的Pod容量和弹性,灵活动态的按需创建ECI Pod,免去集群容量规划的麻烦。
阿里云Kubernetes CSI实践—CPFS存储卷使用
1. 前言 CPFS(Cloud Paralleled File System)是一种并行文件系统。CPFS 的数据存储在集群中的多个数据节点,并可由多个客户端同时访问,从而能够为大型高性能计算机集群提供高 IOPS、高吞吐、低时延的数据存储服务。
Knative 驾驭篇:带你 '纵横驰骋' Knative 自动扩缩容实现
Knative 中提供了自动扩缩容灵活的实现机制,本文从 `三横两纵` 的维度带你深入了解 KPA 自动扩缩容的实现机制。让你轻松驾驭 Knative 自动扩缩容。
容器监控工具(1)Docker自带命令 & Weave Scope & cAdvisor
本篇会介绍几个目前比较常用且流行的容器监控工具,首先我们来看看Docker自带的几个监控子命令:ps、top以及stats,然后是一个功能更强的开源监控工具Weave Scope,最后我们来了解一下Google开发的容器监控工具cAdvisor。下一篇我们会结合本篇学习的内容介绍生产级监控方案:Prometheus + cAdvisor + Grafana。
Docker容器实战(七) - 容器中进程视野下的文件系统
前两文中,讲了Linux容器最基础的两种技术 Namespace作用是“隔离”,它让应用进程只能看到该Namespace内的“世界” Cgroups作用是“限制”,它给这个“世界”围上了一圈看不见的墙 这么一搞,进程就真的被“装”在了一个与世隔绝的房间里,而这些房间就是PaaS项目赖以生存的应用“沙盒”。
使用阿里云CSI Plugin实现LVM数据卷动态扩容
概要 LVM存储类型为本地存储,并非可随着Pod迁移的可插拔的分布式存储方案,如果Pod期望在多个节点上使用相同的lvm卷,则需要在每个节点上都创建相同名字的lvm卷,这样Pod调度的时候可以继续使用相同的lvm卷名进行挂载。
《容器上云的攻与守》-云栖演讲实录
今天上午王坚博士讲了一句话我比较有感触,大家做系统的时候,一定要想下你的系统的数据是怎么流转,这些系统的数据是怎么形成闭环。我们在设计阿里云的K8S容器服务ACK的时候也是融入了这些思考。 首先是跟大家先看一下整个容器上云的解决方案。首先因为你已经做过容器,所以当你容器上云的时候,实际上这个事情是非常简单的,我们只需要提供的相应的工具,帮助大家把容器镜像迁入阿里云同时通过工具把K8S的配置迁到阿
Knative Eventing 之 Parallel 介绍
从 Knative Eventing 0.8 开始,支持根据不同的过滤条件对事件进行选择处理。通过 Parallel 提供了这样的能力。本文就给大家介绍一下这个特性。
在AlibabaCloud上,如何使用RAM Role对ACK容器集群进行身份验证
如果你是ACK容器集群(AlibabaCloud Container Service for Kubernetes)的管理员,你可能经常需要为其他的普通开发者角色创建不同的RAM子账户并进行授权操作,当需要对多个开发人员授予相同ACK集群操作权限时,为每个开发者创建子账号并授权就显得太过重复和繁琐了。
Docker容器日志
docker容器在运行时,会持续不断地产生日志,这些日志在什么地方,如何查看和管理这些日志呢? 1、查看docker日志 docker logs 容器ID #此时会看到很多的日志输出出来,(如果容器运行时间比较久的话) 对应在/var/lib/docker/containers目录下,每个容器ID.
ASP.NET Core微服务之Docker容器化WebAPI
Tip: 此篇已加入.NET Core微服务基础系列文章索引 一、Docker极简介绍 1.1 总体介绍 Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从Apache2.0协议开源。
K8S集群中修改在线应用的存储卷信息
修改应用NAS版本:从v4到v3 1. 修改nfs版本,需要重挂载nas卷,则pod需要重启; 2. 如果使用deploy部署应用,参考下面示例,如果使用pod部署应用,下面示例中改为pod的部署模板; 修改前应用: pv.
Spark in action on Kubernetes - Spark Operator的原理解析
在上篇文章中,向大家介绍了如何使用Spark Operator在kubernetes集群上面提交一个计算作业。今天我们会继续使用上篇文章中搭建的Playgroud进行调试与解析,帮助大家更深入的理解Spark Operator的工作原理。
容器化架构下的混沌工程实践 资料下载
直播主题内容第一部分:混沌工程的背景和原理第二部分:结合容器场景,介绍混沌工程的一些实践方法和常见工具分享嘉宾:中亭 阿里巴巴高级技术专家直播视频全程链接:https://yq.aliyun.
使用Logtail采集Kubernetes上挂载的NAS日志
采集k8s挂载Nas后的日志 该文档主要介绍使用logtail以两种不同的方式进行k8s挂载Nas后的日志采集。两种采集方式的实现原理是一样的,都是通过将Logtail和业务容器挂载到相同的NAS上,使Logtail和业务容器的日志数据共享,以此实现日志采集。
教程get | K8S部署OpenStack容器云(下)
如何借助OpenStack Kolla-K8S项目,通过K8S对OpenStack进行容器化部署?并最终部署一套All-In-One类型的OpenStack容器云?让我们继续部署: 部署kolla-kubernetes ■ 覆盖默认的RBAC设置 通过kubectl replace命令进行默.
Docker 实现 FIPS 140-2 认证,让您的容器平台更加安全、可信!
我们很高兴地宣布 Docker 已经从美国国家标准与技术研究院(NIST)为 Docker EE 加密库获得了正式的 FIPS 140-2 认证(证书#3304)。
在Kubernetes上使用RDMA
### RDMA RDMA(全称RemoteDirect Memory Access) 它为了解决网络传输中服务器端数据处理的延迟而产生。 它的原理是将待传输的数据从一台计算机的内存,直接传输到另一台计算机的内存,整个传输过程无需操作系统和协议栈的介入。
Istio Egress Gateway出口流量管理
缺省状态下,Istio服务网格内的Pod,由于其iptables将所有外发流量都透明的转发给了sidecar,所以这些集群内的服务无法访问集群之外的 URL,而只能处理集群内部的目标。 控制出口流量描述了如何通过ServiceEntry将外部服务暴露给集群内的客户端 本文则通过一个官方的用例解释如.
Docker容器加载宿主机的hosts解析
前言 公司一直在用传统的tomcat下丢war包的架构体系,随着项目的增多、服务器数量的增多、需要为此花费很多时间在不同服务器的系统环境问题上。为了技术的与时俱进和工作的运维效率等方面,笔者引入docker容器部署方式,通过Gitlab+Jenkins+Harbor体系,通过Dockerfile生成自定义镜像并放置Harbor仓库,Jenkins加上自定义Shell脚本(实现拉镜像,启动容器,容器映射端口固定,自定义日志路径)等,基本实现了持续集成的自动化部署。
基于阿里云容器服务监控 Kubernetes集群GPU指标
### 简介 当您在阿里云容器服务中使用GPU ECS主机构建Kubernetes集群进行AI训练时,经常需要知道每个Pod使用的GPU的使用情况,比如每块显存使用情况、GPU利用率,GPU卡温度等监控信息,本文介绍如何快速在阿里云上构建基于Prometheus + Grafana的GPU监控方案。
如何访问部署在kubernetes平台上的应用
用户在使用阿里云容器服务kubernetes的时候经常遇到需要访问部署在容器服务平台上的应用的场景。无论是在kubernetes集群内部访问应用,还是通过外部进行应用的访问,用户都会遇到些问题,本文主要是对用户在访问kubernetes平台上的应用时遇到的普遍问题进行解决方案的总结。
阿里云容器服务Kubernetes实现应用自动部署
## 前言 CICD是研发效率提升必不可少的一环, 要提高迭代效率,就要减少开发到部署中等待和人工操作的时间与步骤。 通过容器以及周边产品集成,我们更能将代码开发完成到部署时间极大缩短, 并将一切手工操作自动化。
知乎十万级容器规模的分布式镜像仓库实践
知乎在 2016 年已经完成了全量业务的容器化,并在自研容器平台上以原生镜像的方式部署和运行,并在后续陆续实施了 CI、Cron、Kafka、HAProxy、HBase、Twemproxy 等系列核心服务和基础组件的容器化,本篇文章分享知乎在镜像仓库这个容器技术核心组件的生产实践。
阿里云Kubernetes Service Mesh实践进行时(7): 可观测性分析服务Kiali
本系列文章已经通过一个官方示例演示了如何部署应用到上述Istio环境中,并演示了如何设置智能路由、分布式追踪以及Istio 的遥测数据收集、查询及可视化等功能,也基于此示例演示了如何在Istio中使用故障诊断与检测工具Weave Scope。
阿里云Kubernetes Service Mesh实践进行时(4): 分布式追踪
本系列前面文章中已经介绍了利用阿里云Kubernetes容器服务,如何快速搭建一套用于连接、管理以及安全化微服务的开放平台Istio,为应用引入和配置多个相关服务。本文通过一个示例演示了如何在启用了Istio的应用中使用分布式追踪系统Jaeger。
阿里云容器服务K8S Ingress Controller日志采集实践
Ingress作为所有集群服务请求的入口,其记录的请求日志对于整个请求跟踪链路至关重要,今天主要给大家分享下如何将K8S Ingress Controller日志采集到日志服务中,以便于检索分析服务请求情况。
【Java入门提高篇】Day18 Java容器类详解(一)Collection接口
今天来看看Java里的一个大家伙,那就是容器。 所谓容器,就是专门用来装对象的东西,如果你学过高数,没错,就跟里面说的集合是一个概念,就是一堆对象的集合体,但是集合类是容器类中的一个子集,为了区别表示,所以还是叫容器类,之后所说的集合类只是容器里的一个子集,之后会有详细介绍。
阿里云容器Kubernetes监控(二) - 使用Grafana展现Pod监控数据
简介 在kubernetes的监控方案中,Heapster+Influxdb+Grafana的组合相比prometheus等开源方案而言更为简单直接。而且Heapster在kubernetes中承担的责任远不止监控数据的采集,还包括控制台的监控接口、HPA的POD弹性伸缩等都依赖于Heapster的功能。