本文介绍了部署 Kubernetes 的三种主要方式:作为 Kubernetes-as-a-Service,使用公共云提供商,以及本地部署。作者还讨论了每种方法的优缺点,并提供了相关示例和部署指南。最后,文章介绍了 Kubernetes 的终极指南,包括沙箱和集群管理。
上个月,Kubernetes(世界上最受欢迎的容器编排器)生态系统因发现Kubernetes的第一个主要安全漏洞而动摇。该漏洞(CVE-2018-1002105)使攻击者能够通过Kubernetes API服务器破坏集群,允许他们运行代码来安装恶意软件等恶意活动。
数字化时代下,企业的发展与数据库的建设息息相关。如果搭建云下数据库,不仅要通过大量的运维投入保证数据库稳定运行,随着企业规模与数据量的发展,还要应对数据库扩容、弹性、运维、备份等各种各样的问题,云下数据库对企业提出的要求日益增长。此时有两种应对之法,一是凭借扩充技术团队解决问题,但这无疑将会带来不菲的运维与人员成本,二则是把一切交给云服务。
docker毫无疑问是一个优秀的开源工具。但是,仅靠docker引擎和容器就不能进行复杂的应用程序部署。对于部署复杂的应用程序体系结构的容器群集,必须进行适当的配置。容器化的应用程序应该能够根据应用程序资源需求进行扩展和缩小。
随着软件供应链攻击的增加,保护我们的软件供应链变得更加重要。此外,在过去几年中,容器的采用也有所增加。有鉴于此,对容器镜像进行签名以帮助防止供应链攻击的需求日益增长。此外,我们今天使用的大多数容器,即使我们在生产环境中使用它们,也容易受到供应链攻击。在传统的 CI/CD 工作流中,我们构建镜像并将其推入注册中心。供应链安全的一个重要部分是我们构建的镜像的完整性,这意味着我们必须确保我们构建的镜像没有被篡改,这意味着保证我们从注册中心中提取的镜像与我们将要部署到生产系统中的镜像相同。证明镜像没有被篡改的最简单和最好的方法之一(多亏了 Sigstore)是在构建之后立即签名,并在允许它们部署到生产系统之前验证它。这就是 Cosign 和 Kyverno 发挥作用的地方。
Network policy(下文简称为np)的本质是通过Kubernetes(下文简称k8s)的网络插件,创建一系列的网络规则,实现细粒度控制出入口流量,从而解决应用访问隔离的问题。因此选用哪种k8s网络方案很重要,如果这个方案没有实现np,那么k8s就不具备应用访问隔离的能力了,具体可以参见官方文档。
嗨,在当今动态的环境中,在 450 多家经过 Kubernetes 认证的服务提供商和众多经过 Kubernetes 认证的发行版中进行导航可能是一项艰巨的挑战。本博客旨在通过展示精心整理的2023 年最常用和最流行的 Kubernetes 工具列表来简化此过程。
自Google Anthos推出以来在混合云领域受到极大关注,作为Google进入ToB混合云市场的战略级产品,Anthos集成了如GKE (Google Kubernetes Engine)、GKE On-Prem、Istio on GKE等……引起业界的关注。可以说这又是Google又一大利器。那么混合云作为企业数字化转型的重要基础设施建设,既留了核心数据,降低了迁移风险,又能在原来资源的基础上增加公共云的弹性,一举多得,成为当前云计算发展的热门话题。而作为数字化转型的另外一个风向标DevOps如何与当前的混合云发展进行协作,带向企业进入云原生时代,将会成日今后数字化建设的一个重要主题。
容器技术所提供的解耦能力,让应用程序及其依赖程序不用再和操作系统耦合在一起。和处理虚拟机镜像方式不同,容器技术并不会将操作系统同应用程序打包在一起,这给我们节约了相当多的硬件资源,不管是cpu、内存,还是磁盘空间。同时,容器的下载,更新,部署和迭代的速度,也远比虚拟机镜像要快。因此,容器技术已经在技术圈中引起不小的变革。类似谷歌、微软和亚马逊这样子的公司都已经开始使用这项技术。
你可能已经听过很多遍这个不算秘密的秘密了--Kubernetes Secrets 不是加密的!Secret 的值是存储在 etcd 中的 base64 encoded(编码)[1] 字符串。这意味着,任何可以访问你的集群的人,都可以轻松解码你的敏感数据。任何人?是的,几乎任何人都可以,尤其是在集群的 RBAC 设置不正确的情况下。任何人都可以访问 API 或访问 etcd。也可能是任何被授权在 Namespace 中创建 pod 或 Deploy,然后使用该权限检索该 Namespace 中所有 Secrets 的人。 如何确保集群上的 Secrets 和其他敏感信息(如 token)不被泄露?在本篇博文中,我们将讨论在 K8s 上构建、部署和运行应用程序时加密应用程序 Secrets 的几种方法。
关注容器圈的朋友一定会注意到最近一年的高频词:Service Mesh。这么绕口的词,到底是什么意思?引用一篇文章里对其的解释:
我们将为搜索工程师介绍在Kubernetes(k8s)上运行Solr的基础知识。 具体来说,我们涵盖以下主题:
KubeArmor是一个支持容器的运行时安全实施系统,它可以从系统级别限制容器的行为(如进程执行、文件访问、网络操作和资源利用率)。
在Kubernetes集群上运行多个服务和应用程序时,统一的日志收集不可或缺,Elasticsearch、Filebeat和Kibana(EFK)堆栈是目前较受欢迎的日志收集解决方案。在本教程中,我们将为部署在集群中的应用和集群本身设置生产级Kubernetes日志记录。将使用Elasticsearch作为日志后端,同时Elasticsearch的设置将具有极高的可扩展性和容错性。本教程一共有两篇,这是第一篇。
Google Next18 活动中,Google 宣称将会把 GKE 上的无服务器插件以 Knative 的名称进行开源。当时它被描述为无服务器平台的构建块,由此推断,Knative 可能需要 Google、Pivotal 或者 RedHat 的协助才能使用。这可能是开源的古怪时机。从我最初的摸索来看,Knative 能工作;当我把 Heroku/Cloud Foundry buildpacks 加入进来之后,整个系统变得越来越像 Heroku/Cloud Foundry,相对于原始 Kubernetes,我更加了解和喜爱这一系统。
Kubernetes实施的容器存储接口(CSI)已在Kubernetes v1.13版本中升级为GA。CSI的支持在Kubernetes v1.9版本中作为alpha引入,并在Kubernetes v1.10版本中升级为beta。
Serverless 平台的主要优点是,它们使您可以专注于编写代码,而不必关心管理基础结构,自动扩容或为所用资源支付更多费用。
Kubernetes 的稳健性、可靠性使它成为现阶段最流行的云原生技术之一,但也有不少用户反映, Kubernetes 技术学习起来十分复杂,只适用于大集群且成本较高。这篇文章将打破你的观念,教你在小型项目中部署 Kubernetes 集群。
Prometheus 是为 Kubernetes 这样的动态环境而生的。它的服务发现能力和查询语言非常强大,Kubernetes 运维过程中,用户可以借 Prometheus 解决监控问题。
Kubernetes 1.7已经发布,该版本聚焦于安全、存储和扩展性等交付特性,其中包括Network Policy API、StatefulSets自动升级策略以及可扩展的API聚合层。Kubernetes的上一个发布版1.6版侧重于解决规模化和自动化上的问题,显然最新的1.7发布版力图为Kubernetes在企业组织中的进一步采用夯实基础。需注意的是,虽然1.7版的核心集群编排功能是以稳定版提供,但是其中给出的一些头条发布特性在文档中被标为Alpha版或Beta版。
容器编排是一种自动化管理容器化应用程序的技术,它涉及在大规模的分布式系统中部署、管理、扩展和协调容器的整个生命周期。容器编排工具让开发者和运维团队能够更高效地在集群环境中操作容器,确保服务的高可用性、负载均衡、自我修复及资源优化。 容器编排的核心价值在于: 1. 自动化部署:自动化的部署流程使得应用能够快速且一致地部署到生产环境,减少了手动干预带来的错误和时间消耗。 2. 资源管理:有效管理和分配计算、存储、网络等资源,确保容器按需获取资源,同时优化整体基础设施的利用率。 3. 扩展性:根据实际需求自动扩展或缩减容器数量,实现水平扩展,以应对流量高峰或低谷,保证服务的稳定性和响应速度。 4. 健康监测与自愈:持续监控容器和服务的运行状态,当检测到故障时自动重启容器或重新调度服务,保证应用的高可用性。 5. 服务发现与负载均衡:帮助容器发现和通信,自动实现请求的负载均衡,提高服务的稳定性和效率。 6.配置管理:集中管理和分发配置信息给容器应用,支持应用的动态配置更新,而不影响服务运行。 容器编排工具是用于自动化容器化应用程序的部署、管理和扩展的技术解决方案,它们在现代软件开发和运维中扮演着关键角色。 1. Kubernetes (K8s): Kubernetes 是目前最流行和广泛采用的容器编排平台,由 Google 开源并得到了 Cloud Native Computing Foundation (CNCF) 的支持。Kubernetes 提供了一整套强大的功能,包括部署管理、自动扩展、负载均衡、存储编排、网络管理以及故障恢复等。其设计目标是为了解决大规模容器化应用的自动化部署、扩展和运维问题。 2. Docker Swarm: Docker Swarm 是 Docker 自带的容器编排工具,它允许用户将一群Docker主机转变为一个单一的虚拟系统,进行容器化的应用部署和管理。Swarm 提供了服务发现、负载均衡、加密网络和滚动更新等功能,适合那些希望在Docker生态系统内工作且对易用性有较高要求的用户。 3. Apache Mesos: Mesos 是一个分布式系统内核,最初由UC Berkeley开发,旨在提供有效的资源隔离和共享跨分布式应用或框架。虽然Mesos本身不是一个专门针对容器的编排工具,但它可以通过集成如Marathon这样的框架来管理容器。Mesos擅长于跨数据中心的大规模资源管理和调度,适用于需要高度定制化和灵活性的大型企业环境。 4. OpenShift OpenShift 是由 Red Hat 开发的一个容器应用平台,它建立在 Kubernetes 之上,并增加了额外的功能,如内置的CI/CD流水线、应用商店、开发者工具和增强的安全策略等。OpenShift 提供了企业级的容器解决方案,既有开源版本(OpenShift Origin),也有商业支持的企业版(OpenShift Container Platform)。 5. Docker Compose: 虽然严格来说 Docker Compose 更多被用于单机容器编排,但在较小规模的部署或开发环境中也常被提及。它允许用户通过YAML文件定义多容器应用的服务及其依赖关系,简化了在单个Docker主机上部署和管理复杂应用的过程。 除了上述工具,市场上还存在其他一些编排解决方案,例如HashiCorp的Nomad,它以简洁和轻量级著称;以及云服务商提供的托管容器服务,如Google Kubernetes Engine (GKE)、Amazon Elastic Kubernetes Service (EKS) 和 Azure Kubernetes Service (AKS),这些服务在Kubernetes的基础上提供了额外的管理便利性和云原生集成。
在 Kubernetes 集群边缘对外提供网络服务的时候,通常需要借助 Ingress 对象,这个对象提供了暴露 Service 所必须的核心要素,例如基于主机名的路由、对 URL 路径的适配以及 TLS 配置等。但是在实际开放服务的时候,往往会有更多的具体需求,这时 Ingress 对象所提供的核心功能就有些力不从心了,各种 Ingress 控制器往往会使用 metadata.annotations 中的特定注解,来完成对 Ingress 特定行为的控制,完成各自的个性化功能,例如认证、路径变更、黑白名单等,这就让 Ingress 对象变成了一个奇怪的东西:结构化的核心结构,和非结构化的标注结合起来形成各种 Ingress 方言,并且后期还出现了 Traefik Middleware 这样的 CRD 配置,这给 Ingress 功能的集中管理造成了一个较大的困扰;另外 Ingress 中可以随意定制主机名、路径以及后端服务,也给共享集群的用户造成了一定的安全隐患。包括 Cotour、Traefik 在内的 Ingress 控制器后期都提供了各自的基于 CRD 的功能表达,客观上也让 Ingress 世界更为分裂。 例如要移除路径前缀,Nginx Ingress 控制器需要使用 nginx.ingress.kubernetes.io/rewrite-target 注解,而 Traefik 1.7 中则需要使用 traefik.ingress.kubernetes.io/rule-type: PathPrefixStrip 注解。
使用 PGO 在 Kubernetes 上运行 Cloud Native PostgreSQL:来自 Crunchy Data 的 Postgres Operator!
互联网后台架构技术的发展一日千里。身处技术变革浪潮的后台同学,应该都深切地感受到了云原生技术在公司内外的蓬勃发展。云原生技术正在逐渐成为后台工程师与架构师们的必修课,而 kubernetes 正是云原生的基石,聚光灯下的焦点。
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/aixiaoyang168/article/details/88664263
Rancher是一套容器管理平台,它可以帮助组织在生产环境中轻松快捷的部署和管理容器。 Rancher可以轻松地管理各种环境的Kubernetes,满足IT需求并为DevOps团队提供支持。
Kubernetes v1.12引入了卷快照(volume snapshot)支持作为alpha功能。在Kubernetes v1.13,它仍然是alpha功能,但增加了一些强化和一些重大更改。这篇文章总结了这些变化。
Kubernetes在容器编排市场中占主导地位,通常用于托管微服务。但是,微服务的每个实例都会生成大量日志事件,这些日志事件很快就会变得难以管理。更糟糕的是,当出现问题时,由于服务间的复杂交互以及不可预知的故障模式,很难找到根本原因。
Kubestriker是一款针对Kubernetes的快速安全审计工具,Kubestriker可以对Kubernetes的infra容器执行大量深入检测,以帮助研究人员识别其中存在的安全错误配置以及其他安全问题。这些安全问题可能是工程师或开发人员在使用Kubernetes会遇到的,尤其是在大规模生成环境之中,一个小小的安全问题可能会带来严重的安全风险。
安装 Longhorn 的 Kubernetes 集群中的每个节点都必须满足以下要求:
Hello folks,我是 Luga,今天我们来介绍另一款开源容器平台安全扫描工具 - Kube-bench。作为 Aqua Security 一款出色的开源产品,其能够基于 Internet 安全中心指南分析 Kubernetes Cluster 运行行为,并为其进行安全评估。
如今如果没有提及容器,就很难谈论云计算。无论技术新手还是经验丰富的专家,都需要了解与云中容器相关的这些关键术语。 随着云计算中容器的普及,更多的组织选择不考虑采用外部的容器。 容器已经存在了一段时间,但Docker最近帮助他们成为企业使用的焦点。随着云计算的发展,越来越多的企业看到采用混合和多云模型的好处,但确保软件在从一个环境转移到另一个环境时可靠运行是所面临的一个挑战。容器已经通过将应用程序及其所有组件包装到一个更便携的软件包来解决问题。 而且,随着云计算中容器的日益普及,包括亚马逊网络服务(AWS)
变化是 Kubernetes 生命周期不可或缺的一部分:随着 Kubernetes 的成长和成熟,功能可能会被弃用、删除或替换为项目健康的改进。对于 Kubernetes v1.26,有几个计划:本文根据 v1.26 发布过程中这个周期中期点可用的信息确定并描述了其中的一部分,该过程仍在进行中,并且可能会引入其他更改。
过去五年中的变化,如迁移到公有云以及从虚拟机向容器的转变,已经彻底改变了构建和部署软件的意义。
随着更多的组织开始拥抱云原生技术,Kubernetes已成为容器编排领域的行业标准。向 Kubernetes转变的这股潮流,很大程度上简化了容器化应用程序的部署、扩展和管理,并实现了自动化,为传统的单体式系统提供了胜于传统管理协议的众多优势。
我们知道 Kubernetes 是一个分布式的容器集群管理系统,它把集群中的管理资源抽象化成一个个 API 对象,并且推荐使用声明式的方式创建,修改,删除这些对象,每个 API 对象都通过一个 yaml 格式或者 json 格式的文本来声明。这带来的一个问题就是这些 API 对象声明文本的管理成本,每当我需要创建一个应用,都需要去编写一堆这样的声明文件。
本文档介绍了一些用于创建具有弹性和可扩展性的应用程序的模式和实践,这是许多现代架构练习的两个基本目标。设计良好的应用程序会随着需求的增加和减少而上下扩展,并且具有足够的弹性以承受服务中断。构建和运行满足这些要求的应用程序需要仔细规划和设计。
一直以来,谷歌已经构建了业界领先的 AI 能力,比如引领新一代人工智能发展的 Transformer 架构、利用 AI 进行优化的基础设施等。其中谷歌云则致力于提供先进的 AI 基础设施服务,包括 GPU 和 TPU。
云安全资讯 CLOUD SECURITY 01 如何找到 AWS 环境下应用程序中易于得手的漏洞? 链接:https://c1n.cn/LYel9 本文作者介绍如何从AWS环境下的应用程序中找到易于发现的漏洞。 02 gVisor 一款Google 为容器应用开发的一套内核层,限制容器内应用的内核访问能力 链接:https://c1n.cn/gAv5j gVisor是一个用Go编写的内核,它在应用程序和主机内核之间提供隔离边界。在runsc运行时集成了Docker和Kubernetes,使得它很容
Kubernetes是市场上最实用的最受欢迎的容器编排引擎。最初作为一个Google项目开始,成千上万的团队使用它来部署生产中的容器。谷歌声称它每周使用Kubernetes运行数十亿个容器。
毛艳清,富士康工业互联网科技服务事业群运维中心主管,现负责公有云和私有云的运维工作,聚焦在云计算和云原生领域,主要关注企业迁云的策略与业务价值、云计算解决方案、云计算实施与运维管理,以及云原生技术的布道和落地实践。
随着Google发布了其混合云服务:云服务平台(Cloud Service Platform,以下简称CSP)测试版,正式进军混合云领域,公有云三巨头全部拥有了混合云相关产品,云巨头角力混合云的时代正式开启。早在2015年,微软率先推出Auzre Stack混合云产品;2018年年底,AWS则跟进推出了其混合云产品OutPosts。
最近,很多人问我 NodePorts,LoadBalancer和 Ingress 之间的区别是什么?它们是将外部流量引入集群的不同方式,而且它们的运行形式各不相同。接下来,请你跟我一起,来看看他们是如何工作的,以及它们各自的适用情况。
Cilium 1.11测试版(Beta)为你带来了一系列引人注目的功能和增强功能,包括OpenTelemetry支持、感知拓扑的负载均衡、Kubernetes APIServer策略匹配,以及更多功能。本文将为您详细介绍这个令人振奋的版本,以及它为现代应用程序网络安全和性能带来的突破。
如果将服务器应用程序通过容器移动到云平台中,则需要进行一些容器编排,Kubernetes在此将发挥重要作用。
最近看到了一份收集Kubernetes故障案例的资料,资料由ZalandoTech的高级首席工程师Henning Jacobs加以维护。这个由社区驱动的项目全面介绍了Kubernetes反模式以及为何导致Kubernetes运行错误的原因。
Cluster API是一个Kubernetes项目,它将声明式Kubernetes风格的API用于集群的创建、配置和管理。它在核心Kubernetes之上,提供可选的附加功能来管理Kubernetes集群的生命周期。
领取专属 10元无门槛券
手把手带您无忧上云