Apache Spark是一个流行的执行框架,用于执行数据工程和机器学习方面的工作负载。他提供 Databricks 平台的支持,可用于内部部署的或者公有云的 Hadoop 服务,例如 Azure HDInsight、Amazon EMR、以及 Google Cloud Dataproc,也可以在 Mesos 集群上运行。
嗨,在当今动态的环境中,在 450 多家经过 Kubernetes 认证的服务提供商和众多经过 Kubernetes 认证的发行版中进行导航可能是一项艰巨的挑战。本博客旨在通过展示精心整理的2023 年最常用和最流行的 Kubernetes 工具列表来简化此过程。
作者:Jorge Castro、Duffie Cooley、Kat Cosgrove、Justin Garrison、Noah Kantrowitz、Bob Killen、Rey Lejano、Dan "POP" Papandrea、Jeffrey Sica、Davanum "Dims" Srinivas
CI/CD 同 DevOps、Agile、Scrum、Kanban、自动化以及其他术语一样,是一个一起被经常提及的专用术语。有时候,它被当做工作流的一部分,但是并没有搞清楚这是什么或者为什么它会被采用。对于年轻的 DevOps 工程师来说,使用 CI/CD 理所当然已经成为了常态,可能他们并没有看到“传统”的软件发布流程而因此不欣赏 CI/CD。
随着软件供应链攻击的增加,保护我们的软件供应链变得更加重要。此外,在过去几年中,容器的采用也有所增加。有鉴于此,对容器镜像进行签名以帮助防止供应链攻击的需求日益增长。此外,我们今天使用的大多数容器,即使我们在生产环境中使用它们,也容易受到供应链攻击。在传统的 CI/CD 工作流中,我们构建镜像并将其推入注册中心。供应链安全的一个重要部分是我们构建的镜像的完整性,这意味着我们必须确保我们构建的镜像没有被篡改,这意味着保证我们从注册中心中提取的镜像与我们将要部署到生产系统中的镜像相同。证明镜像没有被篡改的最简单和最好的方法之一(多亏了 Sigstore)是在构建之后立即签名,并在允许它们部署到生产系统之前验证它。这就是 Cosign 和 Kyverno 发挥作用的地方。
随着更多的组织开始拥抱云原生技术,Kubernetes已成为容器编排领域的行业标准。向 Kubernetes转变的这股潮流,很大程度上简化了容器化应用程序的部署、扩展和管理,并实现了自动化,为传统的单体式系统提供了胜于传统管理协议的众多优势。
在谷歌发明 Kubernetes 后的几年中,它彻底改变了 IT 运维的方式,并逐渐成为了事实标准,可以帮助组织寻求高级容器编排。那些需要为其应用程序提供 最高级别可靠性、安全性和可扩展性 的组织选择了谷歌 Kubernetes 引擎(Google Kubernetes Engine, GKE)。光是 2020 年二季度,就有 10 多万家公司使用谷歌的应用现代化平台和服务(包括 GKE)来开发和运行他们的应用。到目前为止, Kubernetes 还需要手工装配和修补程序来优化它才能满足用户需求。如今,谷歌推出了 GKE Autopilot,这是一个管理 Kubernetes 的革命性运营模式,让用户专注于软件开发,而 GKE Autopilot 则负责基础架构。
你可能已经听过很多遍这个不算秘密的秘密了--Kubernetes Secrets 不是加密的!Secret 的值是存储在 etcd 中的 base64 encoded(编码)[1] 字符串。这意味着,任何可以访问你的集群的人,都可以轻松解码你的敏感数据。任何人?是的,几乎任何人都可以,尤其是在集群的 RBAC 设置不正确的情况下。任何人都可以访问 API 或访问 etcd。也可能是任何被授权在 Namespace 中创建 pod 或 Deploy,然后使用该权限检索该 Namespace 中所有 Secrets 的人。 如何确保集群上的 Secrets 和其他敏感信息(如 token)不被泄露?在本篇博文中,我们将讨论在 K8s 上构建、部署和运行应用程序时加密应用程序 Secrets 的几种方法。
Kubernetes 的稳健性、可靠性使它成为现阶段最流行的云原生技术之一,但也有不少用户反映, Kubernetes 技术学习起来十分复杂,只适用于大集群且成本较高。这篇文章将打破你的观念,教你在小型项目中部署 Kubernetes 集群。
Google 声明[2]将选择 Cilium[3] 作为 GKE 网络的数据面 V2 以便增加其容器安全性和可观测性。
Kubespray是Google开源的一个部署生产级别的Kubernetes服务器集群的开源项目,它整合了Ansible作为部署的工具。项目地址:https://github.com/kubernetes-incubator/kubespray
Kubernetes 真正的超级功能之一是其开发者优先的网络模式,它提供了易于使用的功能,如 L3/L4 服务和 L7 入口,将流量引入集群,以及用于隔离多租户工作负载的网络策略。随着越来越多的企业采用 Kubernetes,围绕多云、安全、可视性和可扩展性的新要求,用例的范围也在扩大。此外,服务网格和 serverless 等新技术对 Kubernetes 底层的定制化提出了更多要求。这些新需求都有一些共同点:它们需要一个更加可编程的数据平面,能够在不牺牲性能的情况下执行 Kubernetes 感知的数据包操作。
自Google Anthos推出以来在混合云领域受到极大关注,作为Google进入ToB混合云市场的战略级产品,Anthos集成了如GKE (Google Kubernetes Engine)、GKE On-Prem、Istio on GKE等……引起业界的关注。可以说这又是Google又一大利器。那么混合云作为企业数字化转型的重要基础设施建设,既留了核心数据,降低了迁移风险,又能在原来资源的基础上增加公共云的弹性,一举多得,成为当前云计算发展的热门话题。而作为数字化转型的另外一个风向标DevOps如何与当前的混合云发展进行协作,带向企业进入云原生时代,将会成日今后数字化建设的一个重要主题。
Operator 是 Kubernetes 的重要扩展机制,本文从 Operator 概念开始,解释并实践了 Operator 的创建,希望可以帮助大家进一步了解其概念和作用。
最近我们构建和部署服务的方式与原来相比简直就是突飞猛进,像那种笨拙的、单一的、用于构建单体式应用程序的方式已经是过去式了。我们努力了这么久,终于达到了现在的效果。现在的应用为了提供更好的拓展性和可维护性,都会去拆解成各种相互依赖小、解耦性强的微服务,这些服务有各自的依赖和进度。如果你想去构建你所负责的服务,那么从一开始,就应该使用 CI/CD 的方式;当然,如果你走上了这条路, Jenkins 就是你的良师益友。
Kubernetes是当前最为流行的开源容器编排平台,成为众多企业构建基础架构的首选。在本文中,我们将探讨针对你的用例构建基础设施的最佳方式,以及你可能要根据各种限制条件做出的各种决定。
Kubernetes 大规模使用过的都说简单,没有用过清一色的都是使用复杂、概念晦涩难懂,因此即使是那些具有一定服务器端知识的人也可能会感到困惑。让我在这里尝试一些不同的东西。与其解释一个不熟悉的问题(如何在 Kubernetes 中运行 Web 服务?)和另一个(你只需要一个清单,三个 sidecar 和一堆 gobbledygook),我将尝试揭示 Kubernetes 技术发展趋势。
在 DevOps 生态系统中,拥有出色的 DevOps 工具来减轻人为操作非常重要。每个 DevOps 阶段都可以使用大量的 DevOps 工具。
容器技术所提供的解耦能力,让应用程序及其依赖程序不用再和操作系统耦合在一起。和处理虚拟机镜像方式不同,容器技术并不会将操作系统同应用程序打包在一起,这给我们节约了相当多的硬件资源,不管是cpu、内存,还是磁盘空间。同时,容器的下载,更新,部署和迭代的速度,也远比虚拟机镜像要快。因此,容器技术已经在技术圈中引起不小的变革。类似谷歌、微软和亚马逊这样子的公司都已经开始使用这项技术。
Operator Framework[1]是由CoreOS开发,后被RedHat收购的一个开源工具包,它可以有效的、自动化的和可扩展的方式管理 Kubernetes原生应用程序。该框架下包含Operator SDK,可协助开发人员利用自己的专业知识来引导和构建Operator,而无需了解 Kubernetes API复杂性。今天我们就学习它,用于创建一个基于Ansible的Operator应用(之前小白在《Loki Operator简明教程》中也简单聊到过),它可以利用现有 Ansible playbook和模块来部署和管理Kubernetes资源作为统一应用程序的生命周期,而无需编写任何Go代码。
Kubernetes 入门指南 零、前言 一、Kubernetes 和容器操作 二、Kubernetes——核心概念和结构 三、核心概念——网络、存储和高级服务 四、更新和扩展 五、持续交付 六、监控和记录 七、OCI、CNCF、CoreOS 和 Tectonic 八、为生产做准备 Kubernetes Windows 实用指南 零、前言 第一部分:创建和使用容器 一、创建容器 二、管理容器中的状态 三、使用容器映像 第二部分:理解 Kubernetes 的基本原理 四、Kubernetes 概念和
Kubernetes在容器编排市场中占主导地位,通常用于托管微服务。但是,微服务的每个实例都会生成大量日志事件,这些日志事件很快就会变得难以管理。更糟糕的是,当出现问题时,由于服务间的复杂交互以及不可预知的故障模式,很难找到根本原因。
Jenkins X 在 kubernetes 上自动执行 CI/CD,这将帮助你提升:
互联网后台架构技术的发展一日千里。身处技术变革浪潮的后台同学,应该都深切地感受到了云原生技术在公司内外的蓬勃发展。云原生技术正在逐渐成为后台工程师与架构师们的必修课,而 kubernetes 正是云原生的基石,聚光灯下的焦点。
Rancher是一套容器管理平台,它可以帮助组织在生产环境中轻松快捷的部署和管理容器。
本文介绍了部署 Kubernetes 的三种主要方式:作为 Kubernetes-as-a-Service,使用公共云提供商,以及本地部署。作者还讨论了每种方法的优缺点,并提供了相关示例和部署指南。最后,文章介绍了 Kubernetes 的终极指南,包括沙箱和集群管理。
Kubernetes 1.7已经发布,该版本聚焦于安全、存储和扩展性等交付特性,其中包括Network Policy API、StatefulSets自动升级策略以及可扩展的API聚合层。Kubernetes的上一个发布版1.6版侧重于解决规模化和自动化上的问题,显然最新的1.7发布版力图为Kubernetes在企业组织中的进一步采用夯实基础。需注意的是,虽然1.7版的核心集群编排功能是以稳定版提供,但是其中给出的一些头条发布特性在文档中被标为Alpha版或Beta版。
早在 2020 年 12 月,Kubernetes 就宣布弃用 Dockershim。在 Kubernetes 中,dockershim 是一个软件 shim,它允许您将Docker引擎用作 Kubernetes 中的容器运行时。在即将发布的 v1.24 版本中,我们将移除 Dockershim,弃用和移除之间的间隔,符合项目在弃用后至少一年支持功能的政策。如果您是集群操作员,则本指南包含您在此版本中需要了解的实际情况。此外,您需要做些什么来确保您的集群不会倒塌!
我们知道 Kubernetes 是一个分布式的容器集群管理系统,它把集群中的管理资源抽象化成一个个 API 对象,并且推荐使用声明式的方式创建,修改,删除这些对象,每个 API 对象都通过一个 yaml 格式或者 json 格式的文本来声明。这带来的一个问题就是这些 API 对象声明文本的管理成本,每当我需要创建一个应用,都需要去编写一堆这样的声明文件。
本文档介绍了一些用于创建具有弹性和可扩展性的应用程序的模式和实践,这是许多现代架构练习的两个基本目标。设计良好的应用程序会随着需求的增加和减少而上下扩展,并且具有足够的弹性以承受服务中断。构建和运行满足这些要求的应用程序需要仔细规划和设计。
2018 年 7 月份,青云在 Cloud Insight 云计算峰会上推出了一款全新的容器平台——KubeSphere,旨在帮助企业快速低成本管理容器。并且 KubeSphere 本身是开源的,它是基于 Kubernetes 构建的分布式、多租户、企业级开源容器平台,具有强大且完善的网络与存储能力,并通过极简的人机交互提供完善的多集群管理、CI / CD 、微服务治理、应用管理等功能,帮助企业在云、虚拟化及物理机等异构基础设施上快速构建、部署及运维容器架构,实现应用的敏捷开发与全生命周期管理。
Kubernetes是用于构建高度可扩展系统的强大工具。结果,许多公司已经开始或正在计划使用它来协调生产服务。不幸的是,像大多数强大的技术一样,Kubernetes也很复杂。我们整理了以下清单,以帮助你生产环境最佳实践Kubernetes。
容器化是开发和部署应用的热门趋势,因为它们是加速开发的有效方式。容器的使用量在过去几年呈指数增长。
数字化时代下,企业的发展与数据库的建设息息相关。如果搭建云下数据库,不仅要通过大量的运维投入保证数据库稳定运行,随着企业规模与数据量的发展,还要应对数据库扩容、弹性、运维、备份等各种各样的问题,云下数据库对企业提出的要求日益增长。此时有两种应对之法,一是凭借扩充技术团队解决问题,但这无疑将会带来不菲的运维与人员成本,二则是把一切交给云服务。
在如今,在讨论云时是很难不提及容器技术的。无论你是刚刚入门的技术新人或者经验丰富的专业人士,一定都应当知道这些与云中容器技术相关的重要术语。 随着云计算中容器技术的普及,越来越多的企业都不选择考虑其他选项了。 虽然容器技术已经面世一段较长时间了,但最近是Docker帮助它们进入了企业应用的焦点。随着云的发展,更多的企业了解了采用混合云和多云模式的好处,但是确保软件在不同环境之间迁移时能够稳定运行则成为了一大挑战。容器技术是通过将应用程序机器所有组件打包成为单个可便携的包来解决这一难题的。 此外,随着云计
开源改变了企业在云计算领域的面貌。它不仅推动了基础设施的创新,也推动了应用研发的创新。Sysdig能够自动发现容器内的进程,这让我们能够即时了解客户在生产中,运行云原生服务的解决方案。以下是Sysdig客户部署的十大开源技术:
在本文中,我想讨论一种在云环境中为 Kubernetes 工作负载实现自动化端到端 CI/CD 的方法。 这里可能有其它解决方案,而像 AWS、Microsoft Azure 和 GCP 这样的云提供商也提供了自己的一套框架,以实现与 Kubernetes 相同的目标。
kubernetes 已经成为容器时代的分布式操作系统内核,目前也是所有公有云提供商的标配,在国内,阿里云、腾讯云、华为云这样的公有云大厂商都支持一键部署 kubernetes 集群,而 kubernetes 集群自动化管理则是迫切需要解决的问题。对于大部分不熟悉 kubernetes 而要上云的小白用户就强烈需要一个被托管及能自动化运维的集群,他们平时只是进行业务的部署与变更,只需要对 kubernetes 中部分概念了解即可。同样在私有云场景下,笔者所待过的几个大小公司一般都会维护多套集群,集群的运维工作就是一个很大的挑战,反观各大厂同样要有效可靠的管理大规模集群,kube-on-kube-operator 是一个很好的解决方案。
当你有两个数据中心,数千个物理机、虚拟机以及数十万个站点需要托管的时候,通过Kubernetes就可以很简单的实现上述需求。然而,使用Kubernetes,不仅可以声明式的描述应用,还可以声明式的描述基础设施。我在捷克最大的托管服务提供商 WEDOS Internet a.s工作,今天我将向您展示我的两个项目——Kubernetes-in-Kubernetes【1】 和 Kubefarm【2】。
近日,Kubernetes 官方发布公告,宣布自 v1.20 起放弃对 Docker 的支持,届时用户将收到 Docker 弃用警告,并需要改用其他容器运行时。
其中,PWK 是试验性质的免费的 Kubernetes 集群,只要有 Docker 或者 Github 账号就可以在浏览器上一键生成 Kubernetes 集群。但是它有诸多限制,例如一次只能使用 4 个小时,并且有扩展性和性能等问题。所以 PWK 一般只用于教学或者试验。
使用 PGO 在 Kubernetes 上运行 Cloud Native PostgreSQL:来自 Crunchy Data 的 Postgres Operator!
重磅消息,Jenkins X 已经正式发布啦!(文末有福利) Jenkins X is a CI / CD platform for Kubernetes 早在2月,在比利时举办的Cloud Native Jenkins大会上,这个神秘项目就已经在社区内部进行过演示,当时我在现场和项目负责人James进行了深入交流。 Jenkins X 的设计不禁令人感叹开源社区的创新能力和对技术的执着。 3月20日,项目正式发布,我们确信CI与CD的新大门已经打开,小伙伴们快快上车啦! Jenkins X是什么?
容器是 Kubernetes 中应用程序的核心载体。当创建 Kubernetes 工作负载,例如创建用于调度、扩容或者升级应用程序的规则时,首先需要创建一个容器镜像,然后通过该镜像来运行服务或 Kubernetes 工作负载。在完成对镜像的测试并与应用程序其余代码整合后,用户通常会将镜像推送到容器注册中心。但在推送之前,仍然有很多实战技巧可以帮助构建和管理容器。
最近我接到一个问题:“你是如何管理这么多 Kubernetes 的?”。本文试图揭示 Zalando 在 AWS 管理 140 多个 Kubernetes 集群的秘密。
本文教你如何用一条命令构建 k8s 高可用集群且不依赖 haproxy 和 keepalived,也无需 ansible。通过内核 ipvs 对 apiserver 进行负载均衡,并且带 apiserver 健康检测。架构如下图所示:
为了帮助应对这一挑战,今天Red Hat与AWS、Google Cloud和Microsoft合作推出OperatorHub.io。OperatorHub.io使开发者和Kubernetes管理员能够查找和安装策划好的、Operator支持的服务,其中包括基础文档、社区或供应商的主动维护、基本测试以及Kubernetes优化生命周期管理的打包。
本文介绍了如何通过Kubespray来进行部署高可用k8s集群,k8s版本为1.12.5。
领取专属 10元无门槛券
手把手带您无忧上云