17 天前 / HueiFeng
简介 Cloud Native K8s Job是 Kubernetes 中的一种资源,用来处理短周期的 Pod,相当于一次性任务,跑完就会把 Pod 销毁,不会一直占用资源,可以节省成本,提高资源利用率。阿里任务调度 SchedulerX和云原生结合,重磅推出可视化 K8s 任务,针对脚本使用者,屏蔽了容器服务的细节,不用构建镜像就可以让不熟悉容器的同学(比如运维和运营同学)玩转 K8s Job,受益容器服务带来的降本增效福利。
34 天前 / Scenic
原文链接:https://yashwanth-nimmala.medium.com/kubernetes-graceful-shutdown-73bb23af2abd 在应用程序的整个生命周期中,正在运行的 pod 会由于多种原因而终止。在某些情况下,Kubernetes 会因用户输入(例如更新或删除 Deployment 时)而终止 pod。在其他情况下,Kubernetes 需要释放给定节点上的资源时会终止 pod。无论哪种情况,Kubernetes 都允许在 pod 中运行的容器在可配置的时间内正常关闭。 请查看下面的图表,以便更好地了解删除 pod 时发生的情况。 以下是 Pod 关闭的 2 个场景。 优雅关机 在这种情况下,pod 中的容器会在宽限期内正常关闭。
58 天前 / u561252
对于非结构化的数据存储系统来说,LIST 操作通常都是非常重量级的,不仅占用大量的 磁盘 IO、网络带宽和 CPU,而且会影响同时间段的其他请求(尤其是响应延迟要求极高的 选主请求),是集群稳定性的一大杀手。 例如,对于 Ceph 对象存储来说,每个 LIST bucket 请求都需要去多个磁盘中捞出这个 bucket 的全部数据;不仅自身很慢,还影响了同一时间段内的其他普通读写请求,因为 IO 是共享的,导致响应延迟上升乃至超时。
60 天前 / 劼哥stone
前言在近期的工作中,我们发现 k8s 集群中有些节点资源使用率很高,有些节点资源使用率很低,我们尝试重新部署应用和驱逐 Pod,发现并不能有效解决负载不均衡问题。在学习了 Kubernetes 调度原理之后,重新调整了 Request 配置,引入了调度插件,才最终解决问题。这篇就来跟大家分享 Kubernetes 资源和调度相关知识,以及如何解决 k8s 调度不均衡问题。 Kubernetes 的资源模型在 Kubernetes 里,Pod 是最小的原子调度单位。这也就意味着,所有跟调度和资源管理相关的属性都应该是属于 Pod 对象的字段。而这其中最重要的部分,就是 Pod 的 CPU 和内存配置。
65 天前 / yybbb
大家好,我是专注于交付的王小锤,看过交付铁三角系列故事(专注交付的我小锤,开发老哥铁子和售前大佬强哥)的同学想必都知道,我们三人服务于一家提供大数据分析服务的 ISV 企业,在应用交付过程中时常面临各种挑战。那日,就在我们为一个交付难题发愁时,有人兴奋的冲过来说找到了解法。就这样,一本独家交付秘籍走进了我们的世界,而且此秘籍还号称运用好便可让交付更简单。经过仔细研究,我们发现秘籍中提到许多帮助解决交付问题的招式,而其中一个让我们印象很深,是关于在原有社区版容器底座 Kubernetes(以下简称 K8s)的基础上...
71 天前 / leveryd
背景在 k8s 中,可以通过聚合层扩展 Kubernetes API[1]。 本文参考 sample-apiserver 项目的 readme[2]和安装一个扩展的 API server[3],通过部署 sample-apiserver 来体验"聚合层"的效果。 实验目的: 验证"聚合层"的功能:看一看"sample-apiserver"是否能够扩展 api 学习怎么部署"扩展的 api server"实验过程 0x01 配置聚合层安装一个扩展的 API server[4] 中提到,需要先配置聚合层。 其中很重要的一步是提交 APIService 对象,apiservice.yaml[5]中定义了 APIService 对象,执行 kubectl apply -f artifacts/example 后...
117 天前 / KevinYan
新手学习 K8s 最大的难度感觉是在起步动手实践的时候,Pod 没有正常启动起来,或者运行了一段时间 Pod 自己崩溃了。那么是什么问题导致了它没运行起来,又或者是什么因素导致了它的崩溃,这到底是道德的沦丧还是人性的扭曲......不好意思,拿错脚本了。 今天这篇文章我们一起学习总结几个使用 K8s 时常见的错误现象以及排查这些现象背后问题的方法。 学会这些,保证你能在研发组里、运维面前装到 装不成,被打脸,也别来找我,因为我也经常被……诶,发奋图强,争取下次装到。
133 天前 / kafeidou
随着 K8s 在生产和测试环境中用的越来越多,对安全性的关注也会越来越多,所以本次演讲主要是给大家分享以下内容: 了解 K8s 环境面临的安全风险了解 K8s 提供的安全机制改善 K8s 安全状况的最佳实践 1. K8s 安全风险 这张图是 CNCF 金融用户小组总结的 K8s 信任边界图,它把在 K8s 环境中的信任边界划分成三大块儿。 容器镜像相关部分,主要涉及到的安全攻击点就是镜像仓库和镜像本身。红色曲线可以被视为独立边界的系统。
137 天前 / sjf0115
▼ 关注「Apache Flink」,获取更多技术干货▼摘要:本文整理自京东资深技术专家付海涛在 Flink Forward Asia 2021 平台建设专场的演讲。主要内容包括: 基本介绍生产实践优化改进未来规划 Tips:点击「阅读原文」查看原文视频 & 演讲 PDF~ 一、基本介绍 K8s 是目前业内非常流行的容器编排和管理平台,它可以非常简单高效地管理云平台中多个主机上的容器化应用。在 2017 年左右,我们实时计算是多个引擎并存的,包括 Storm、Spark Streaming 以及正在引入的新一代计算引擎 Flink,其中 Storm 集群运行在物理机上,Spark Streaming 运行在 YARN 上...
151 天前 / u561252
“「K8S 生态周报」内容主要包含我所接触到的 K8S 生态相关的每周值得推荐的一些信息。欢迎订阅知乎专栏「k8s 生态」[1]。 ”Trivy 新版本发布本周 Trivy 相继发布了 v0.24.3 和 v0.24.4 版本。最需要关注的变更是如下两个: #1791 更新了 hcl2json 的版本,以便于修正 hcl2json 在处理无效 HCL 配置时的发生的 panic;#1852 修正了一个自 v0.24.3 开始引入的 bug, 如果不提供镜像的 tag,在 v0.24.3 中将会报错,现在会遵循 Docker 的相关行为,如果不提供 tag 则默认使用 latest ;更多详情请参考其 ReleaseNote Argo Workflows v3.3 正式发布 Argo Workf...
168 天前 / 松花蛋
自建的 K8s 集群的坑不少, 尤其是到了 Node 数量越来越多之后, 问题也逐渐显露了出来, 博客主要介绍我们使用 flannel 之后遇到的两个问题以及解决方案, 问题其实不严重, 只是涉及到了底层的结构, 改动时候要小心。 问题 1 flannel 的 OOM 问题官方给出的配置下面这张图是官方的配置, 可以看到, 默认的资源设置仅给定了 50M 内存 kubectl-nkube-systemdescribedskube-flannel-ds-amd64 Limits: cpu:100m memory:50Mi Requests: cpu:100m memory:50Mi 我们遇到的问题当我们的机器数量超过 100 个以后, flannel 会以 OOM 的形式一直挂掉。
168 天前 / hyper0x
我们用一个系列来讲解从需求到上线、从代码到 k8s 部署、从日志到监控等各个方面的微服务完整实践。 整个项目使用了 go-zero 开发的微服务,基本包含了 go-zero 以及相关 go-zero 作者开发的一些中间件,所用到的技术栈基本是 go-zero 项目组的自研组件,基本是 go-zero 全家桶了。 实战项目地址:https://github.com/Mikaelemmmm/go-zero-looklook 知乎文章列表: 系统介绍:https://zhuanlan.zhihu.com/p/464544668 网关:https://zhuanlan.zhihu.com/p/464810481 鉴权:https://zhuanlan.zhihu.com/p/465690784 用户中心:https://zhuanlan.zhihu.com/p...
171 天前 / 知了一笑
前言:该系列文章,围绕持续集成:Jenkins+Docker+K8S 相关组件,实现自动化管理源码编译、打包、镜像构建、部署等操作;本篇文章主要描述流水线集成 K8S 用法。 一、背景描述分布式服务的部署是一个复杂的流程,当容器应用存在几十甚至上百的时候,用手动的方式部署显然难度过高,借助 Kubernetes 容器编排引擎,可以快速的实现自动部署,扩展,升级等一系列复杂步骤。 二、流程设计在之前的篇幅中,已经描述了流水线的方式进行源码编译 Jar 包,并构建成 Docker 镜像的过程,接下来在 K8S 平台上部署 Docker 容器...
172 天前 / hyper0x
我们用一个系列来讲解从需求到上线、从代码到 k8s 部署、从日志到监控等各个方面的微服务完整实践。 整个项目使用了 go-zero 开发的微服务,基本包含了 go-zero 以及相关 go-zero 作者开发的一些中间件,所用到的技术栈基本是 go-zero 项目组的自研组件,基本是 go-zero 全家桶了。 实战项目地址:https://github.com/Mikaelemmmm/go-zero-looklook 1、概述 上一节,我们已经把 gitlab、jenkins、harbor、k8s 都已经搭建好了,这一节我们来编写 jenkins 的 pipline 将我们的服务通过 jenkins 完整的发布到 k8s 中。
178 天前 / yaya
作者 | 丁广辉 责编 | 张红月 出品 | CSDN(ID:CSDNnews)这几年云原生的热度久高不下,许多大厂纷纷拥抱云原生。提到云原生,不少开发者可能会想到 Kubernetes,也称为 K8s,是一个用于自动部署、扩展和管理“容器化(containerized)应用程序”的开源系统。作为云原生的重要代表之一,它真的很不错。但也有不少开发者抱怨 Kubernetes 太复杂了。 近日,在国外知名的技术论坛网站 Hacker News 上,就有一位用户对 Kubernetes 为什么这么复杂做出了自己的见解。 为什么 Kubernetes 这么复杂? Kubernetes 相比其他系统来说,确实要更大,更复杂。