快捷搜索:

您的位置:澳门新葡4473网站 > 热门贴子 > Kubernetes 翻船事故汇总

Kubernetes 翻船事故汇总

发布时间:2020-05-05 22:01编辑:热门贴子浏览(51)

    有人建了一个 GitHub 仓库,专门汇总使用 Kubernetes 失败的案例。

    今天我们公布了Kubernetes 1.7,这一里程碑版本引入了更为强大的安全性、存储以及扩展性因素,旨在满足Kubernetes在广泛企业环境下所面临的实际需求。

    图片 1

    这次发布的版本中安全方面的改进包括加密的Serect,Pod到Pod通讯的网络策略,限制kubelet访问的节点授权器(node authorizer),和客户端/服务端 TLS 证书轮换。

    项目创建者表示,Kubernetes 是一个相当复杂的系统,它带有许多活动部件,生态在不断发展,并且还在添加更多层,比如 Service Mesh。而在这样的情况下,似乎业内缺乏真实而引人注意的 Kubernetes 失败案例给大家相互借鉴。于是他创建了这么一个仓库,希望这些惨痛的经历可以给包括 SRE、Ops、平台与基础设施团队在内的 Kubernetes 操作人员一些学习的机会,减少在生产中运行 Kubernetes 的风险。

    对于在Kubernetes上伸缩数据库的用户,这次版本有一个重要特性向StatefulSet添加了自动化的更新,并增强了对DaemonSet的更新。同时我们宣布对本地存储和用于更快速伸缩StatefulSet的加速模式(burst mode)的alpha支持。

    目前项目已经更新了 30 余篇文章,涉及内容包括配置改变、数据被清空、GKE 集群升级事故、模板线行为误解、集群中 DNS 掉线与应用迁移中断等,具体内容查看:https://k8s.af

    同时,对于高级用户,这次版本中的API聚合允许用户提供的API服务器和Kubernetes API在运行时一起提供服务。其他重点改进的地方包括可伸缩的准入控制器(admission controller),可插拔的云提供者,和容器运行时接口(CRI)。

    你使用 Kubernetes 有没有过翻船经历,欢迎留言分享。

    新特性

    (文/开源中国)    

    安全:

    网络策略 API(Network Policy API)提升至稳定状态。网络策略通过一个网络插件实现,允许用户对管理哪些 Pod 可以彼此通信的规则进行设置和强制。节点授权器(Node authorizer)和准入控制插件(admission control plugin)是新增用来限制kubelet基于节点对Secret、Pod和其对象的访问。Secret的加密和其他etcd中的资源,现在可用并处于alpha状态。Kubelet TLS 启动现在支持客户端和服务端证书轮换。由 API 服务器存储的审计日志(Audit log),现在定制化和可扩展性更强,支持事件过滤和 webhook。它们同时为系统审计提供了更丰富的数据。

    状态化工作负载:

    StatefulSet Update 是1.7中一个新的 beta 状态的特性,能允许有状态应用如 Kafka,Zookeeper 和 etcd 的更新自动化。它使用了各种升级策略,包括滚动更新。对于无顺序要求的应用,通过 Pod 管理策略(Pod Management Policy),StatefulSet 现在支持更快的伸缩和启动。这可以大大提升性能。本地存储( alpha状态 )是有状态应用一个最常被请求添加的特性。用户现在可以通过标准的PVC/PV接口和StatefulSet中的StorageClass来访问本地存储卷。DaemonSet,每一个节点上创建一个 Pod 已经有了一个更新特性,在1.7中添加了更加机智的回滚和历史回溯能力。一个新的 StorageOS 卷插件能从本地的和连接的节点存储中提供高可用的、集群范围的持久性卷。

    可扩展性:

    运行时的 API 聚合是这次发布中最强大的特性,可以让高级用户向集群中添加预先构建的、第三方的或者用户自制的具有Kubernetes风格的API。容器运行时接口(CRI)通过新的从运行时获取容器指标的 RPC 调用得到增强。CRI 的验证测试已经发布,和containerd 1.0的整合处于 alpha 状态,现在支持基本的 Pod 生命周期和镜像管理。可以阅读我们之前深入介绍 CRI 的文章()。

    其他特性:

    引入了对于外部的准入控制器的支持,现在处于 alpha 状态,提供了两种选项来向 API 服务器添加自定义业务逻辑在对象创建的时候进行更改,以及验证策略。对于联合的集群,引入了基于策略的联合资源放置(Policy-based Federated Resource Placement),处于alpha状态,其基于自定义的要求如规则、定价或者性能。

    废弃:

    第三方资源(Third Party Resource,TPR)已经被自定义资源定义(Custom Resource Definition,CRD)取代,后者的API更加简洁,并且解决了 TPR beta 测试时出现的问题和边缘场景。鼓励从 TPR 迁移到 CRD,因为Kubernetes 1.9中社区会去掉TRP。

    上面就是 Kuberenetes 1.7 关键特性的一部分。完整的列表可以查看发布说明()。

    采用

    感谢庞大的开放社区让这次发布成为可能。仅仅在三年时间内就完成了超过5万次提交,这还只是 Kubernetes 主要仓库的数量。 其他对于 Kubernetes 贡献到相关的仓库的扩展,提升了项目整体的稳定性。是速度让 Kubernetes 成为史上发展最快的开源项目之一。

    世界的每一个角落都能发现 Kubernetes 的采用案例。从社区收集到的近期案例有:

    GolfNow,一个 NBC Sports Group 成员,在把应用迁移到 Kubernetes 后,获得了更好的资源利用率,基础设施的开销砍掉一半()。

    Bitmovin,一个视频基础设施解决方案提供商,向我们展示了他们在云环境和就地部署环境中如何实施多阶段金丝雀部署()。

    Ocado,世界最大的在线超市,使用 Kubernetes 为他们的智能仓库打造分布式数据中心。可以这里查看他们完整的实施方案()。

    是否 Kubernetes 也帮助了你们的团队?欢迎同社区分享你们的故事。同时可以翻阅我们不断增加的用户场景分析,并从伟大的公司如 Box 学习如何在机构中采用 Kubernetes。

    获取

    Kubernetes 1.7 可以在 Github上下载()。要开始上手Kubernetes,可以尝试使用互动式教程(-basics/)。

    原文链接:-1.7-security-hardening-stateful-application-extensibility-updates.html

    本文由澳门新葡4473网站发布于热门贴子,转载请注明出处:Kubernetes 翻船事故汇总

    关键词:

上一篇:没有了

下一篇:没有了