首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

k8s集群5个故障案例分析

这个由社区驱动的项目全面介绍了Kubernetes反模式以及为何导致Kubernetes运行错误的原因。...k8s.af上的案例由工程师和实施者编写,描述了许多糟糕的经历:比如导致高延迟的CPU限制、阻止自动扩展的IP上限、应用程序日志丢失、pod被终止、502 错误、部署缓慢和生产环境故障等。...结果查明,默认情况下,谷歌Kubernetes引擎(GKE)使用的IP地址比预期的要多得多。...Lerko说:“GKE为每个节点分配256个IP地址,这意味着如果运行256个节点,就连像/16这样的大型子网也会很快耗尽地址资源。”...为DevOps Hof撰稿的Marcel Juhnke描述了在GKE中将工作负载从一个节点池迁移到另一个节点池时,错误配置如何导致某个集群中的入站(ingress)完全中断。

2.2K40
您找到你想要的搜索结果了吗?
是的
没有找到

GKE使用eBPF提高容器安全性和可视性

Kubernetes 真正的超级功能之一是其开发者优先的网络模式,它提供了易于使用的功能,如 L3/L4 服务和 L7 入口,将流量引入集群,以及用于隔离多租户工作负载的网络策略。...今天要介绍的是 GKE Dataplane V2,这是一个充分利用 eBPF 和 Cilium 的强大功能的数据平面,Cilium 是一个开源项目,使用 eBPF 使 Linux 内核具有Kubernetes...现在处于测试阶段,我们也在使用 Dataplane V2 将Kubernetes 网络策略日志引入 GKE。 什么是 eBPF 和 Cilium?...除了网络策略,Kubernetes 负载均衡还可以使用 eBPF 实现直接服务器返回(DSR)模式。...要试用 Kubernetes 网络策略日志功能,可以使用以下命令使用 Dataplane V2 创建一个新的 GKE 群集。

1.3K20

Kubernetes网络揭秘:一个HTTP请求的旅程

我们将使用带有两个Linux节点的标准谷歌Kubernetes引擎(GKE)集群作为示例,并说明在其他平台上细节可能有所不同。 一个HTTP请求的旅程 以浏览网页的人为例。...负载均衡器 虽然Kubernetes通过原生控制器和通过入口控制器提供了多种暴露服务的方法,但我们将使用LoadBalancer类型的标准Service资源。...IPVS(IP虚拟服务器):基于Netfilter框架,IPVS在Linux内核中实现第4层负载均衡,支持多种负载均衡算法,包括最少的连接和最短的预期延迟。...Kubernetes入口控制器可以通过多种方式更改边缘服务路由。 诸如Istio之类的服务网格可能会绕过kube-proxy,并直接连接服务容器之间的内部路由。...请注意,我们没有通过在GKE集群中启用Kubernetes网络策略支持来安装Calico CNI,因为Calico创建了大量其他iptables规则,在视觉上跟踪到Pod的虚拟路由时增加了额外的步骤。

2.7K31

每个人都必须遵循的九项Kubernetes安全最佳实践

该漏洞(CVE-2018-1002105)使攻击者能够通过Kubernetes API服务器破坏集群,允许他们运行代码来安装恶意软件等恶意活动。...今年早些时候,Tesla遭遇了复杂的加密货币挖掘恶意软件感染,由Kubernetes控制台错误配置引起。...要使用它们,你需要确保拥有支持此资源的网络提供程序,对于一些托管的Kubernetes供应商,例如Google Kubernetes Engine(GKE),你需要选择启用。...考虑除了可信网络以外限制对Kubernetes API服务器的访问。恶意用户滥用对这些端口的访问权限,在未配置为需要在kubelet API服务器上进行身份验证和授权的集群中运行加密货币挖掘。...托管Kubernetes供应商(包括GKE),在其云控制台中提供此数据,并允许你设置授权失败警报。 下一步 遵循这些建议以获得更安全的Kubernetes集群。

1.4K10

对比Kubernetes的Nodeport、Loadbalancer和Ingress,什么时候该用哪种

因为你可以使用 Kubernetes Proxy 来访问它! ?...启动 Kubernetes Proxy: $ kubectl proxy --port=8080 现在,你可以使用如下的 Kubernetes API 访问服务: http://localhost:8080...在 GKE 上,这将启动一个网络负载平衡器,它将为您提供一个将所有流量转发到您的服务的IP地址。 ? 什么时候用? 如果你想直接暴露一个服务,这是默认的方法(GKE上)。...相反,它位于多个服务之前,充当集群中的“智能路由器”或入口点。 您可以使用 Ingress 做很多不同的事情,并且有许多类型的 Ingress 控制器,具有不同的功能。...GKE 默认的 Ingress 控制器将为您启动一个 HTTP(S)负载均衡器。 这将使您可以执行基于路径和基于子域名的路由到后端服务。

5.3K31

Kubernetes 中的渐进式交付:蓝绿部署和金丝雀部署

Shipper shipper 是来自 booking.com 的一个项目, 它对 Kubernetes 进行了扩展,添加了复杂的部署策略和多集群编排(文档)。...请注意这个与 GKE 上下文相关的问题。 Shipper 使用 Helm 包来部署,但是它们没有随着 Helm 一起安装,它们不会在 helm list 的输出显示。...但是我们可以有两个应用对象: myapp-staging 部署到 "staging" 区域 myapp 部署到其它区域 在 GKE 中,你可以轻松地配置多集群 ingress , 该入口将公开在多个集群中运行的服务...在 GKE 中,只需在集群配置中选中复选框即可启用 Istio 。在其它集群中,可以通过 Helm 手动安装。...自动部署 否,操作者必须手动完成这些步骤 是,每分钟增加 10% 的流量,可配置的 自动回滚 否,操作者必须发现错误并手动完成这些步骤 是,基于 Prometheus 指标 必需品 无 Istio,Prometheus

1.5K30

GitLab CI CD管道的5个优势

例如,如果您在本地部署GitLab,则已经管理了托管平台的服务器服务器以及代码所在的位置。遵循高安全性标准的IT组织(例如政府机构)更喜欢这种方式。...为了获得Auto DevOps的好处,用户必须将Kubernetes集群集成到GitLab中。这是在GitLab中实现Kubernetes的两种方法: 带上自己的集群。...通过GitLab UI,从Amazon Elastic Kubernetes服务(EKS)或Google Kubernetes Engine(GKE)创建Kubernetes集群。...要使用EKS或GKE,请从GitLab向所选的云服务提供商进行身份验证。 ? ❖ DevOps成熟度反馈 DevOps的实现在现实世界中迅速引起混乱。...当开发团队将这些开发板用于CI / CD管道时,可以确保该团队在流程开始之前就交付了正确的软件,修复了错误并说明了正确的实施。

4.2K20

k8s Ingress nginx错误页面的深度定制

1、错误页面状态码 2、在k8s中模拟错误页面 3、默认后端错误页面 3.1 部署默认后端 3.2 配置启动参数 3.3 修改configmap 3.4 测试 4、自定义错误页面 4.1 剖析请求与关键...这些设置可以在服务器上更改。 许多服务器提供了可用于生成自定义错误页面的实用程序。...,常见的错误页面包含403、404、500、502、503、504状态码,这些常见的错误页面状态码的含义如下 403 Forbidden 404 Not Found 500 Internal Server...Eroor 502 Bad Gateway 503 Service Unavailable 504 Gateway Timeout 2、在k8s中模拟错误页面 本文中涉及到的的k8s集群版本、Ingress...域名通过A记录解析到LB或者真实服务器 如果网站域名通过A记录解析到LB或者真实服务器,而LB或者真实服务器不做任何处理,那么将返回上面所示的错误状态码页面。

2.7K31

JFrog助力Google Anthos混合云Devops实践,实现安全高质量的容器镜像管理

自Google Anthos推出以来在混合云领域受到极大关注,作为Google进入ToB混合云市场的战略级产品,Anthos集成了如GKE (Google Kubernetes Engine...)、GKE On-Prem、Istio on GKE等……引起业界的关注。...JFrog融合Anthos平台实现混合云下的应用镜像同步 11111.png Google Kubernetes Engine,这是Anthos进行中心指挥的控制中心。...GKE On-prem提供了一个与GKE一致的基于kubernetes的软件平台负责用户私有资产部分的基础设施管理。...成功验证构建后,CI服务器会将构建提升(复制或移动)到Artifactory中的下一阶段制品库 5 JFrog Xray - 扫描构建映像是否存在安全漏洞,以及组件是否符合组织的许可策略。

1.6K40

Kubestriker:一款针对Kubernetes的快速安全审计工具

基本概述 Kubestriker是一款针对Kubernetes的快速安全审计工具,Kubestriker可以对Kubernetes的infra容器执行大量深入检测,以帮助研究人员识别其中存在的安全错误配置以及其他安全问题...Kubestriker不依赖于特定平台运行,它可以在多个平台上工作,比如说自托管的Kubernetes、Amazon EKS、Azure AKS和Google GKE等。...IAM错误配置; 扫描各种包含错误配置的容器; 扫描各种包含错误配置的Pod安全策略; 扫描各种错误配置的网络策略; 扫描群集中某个主题的权限; 在容器上运行命令并返回输出; 提供包含错误配置的服务的终端节点...请使用下面提供的链接创建只读用户: Amazon EKS只读权限用户创建:点击底部【阅读原文】获取 Azure AKS只读权限用户创建:点击底部【阅读原文】获取 Google GKE只读权限用户创建:点击底部...ap-southeast-2 从AKS集群获取一个令牌: $ az aks get-credentials --resource-group myResourceGroup --name myAKSCluster 从GKE

1.6K40

Kubernetes安全加固的几点建议

对于使用托管Kubernetes服务(比如GKE、EKS或AKS)的用户而言,由相应的云提供商管理主节点安全,并为集群实施各种默认安全设置。...GKE Autopilot采取了额外措施,实施GKE加固准则和GCP安全最佳实践。...但即使对于GKE Standard或EKS/AKS用户而言,云提供商也有一套准则,以保护用户对Kubernetes API服务器的访问、对云资源的容器访问以及Kubernetes升级。...准则如下: GKE加固指南 EKS安全最佳实践指南 AKS集群安全 至于自我管理的Kubernetes集群(比如kube-adm或kops),kube-bench可用于测试集群是否符合CIS Kubernetes...选择为运行容器而优化的专用操作系统,如AWS Bottlerocket或GKE COS,而不是选择通用的Linux节点。

91430

Ingress 的继任者 —— Gateway API?

Kubernetes 集群边缘对外提供网络服务的时候,通常需要借助 Ingress 对象,这个对象提供了暴露 Service 所必须的核心要素,例如基于主机名的路由、对 URL 路径的适配以及 TLS...例如要移除路径前缀,Nginx Ingress 控制器需要使用 nginx.ingress.kubernetes.io/rewrite-target 注解,而 Traefik 1.7 中则需要使用 traefik.ingress.kubernetes.io...例如对流量进行复制、分流;更重要的是其中还提供了 Filter 能力,这是一个扩展点,除了自带的核心处理能力之外,底层设施还可以在这里接入自己的 CRD,对流量进行处理,从而为流量处理能力的扩展提供了一个统一入口...使用如下命令部署网关资源: $ kubectl kustomize "github.com/kubernetes-sigs/gateway-api/config/crd?...-gxlb networking.gke.io/gateway 1s gke-l7-rilb networking.gke.io/gateway 1s 不难发现,我们使用的是 HTTP

1.8K60

外部访问 kubernetes,知道这 3 种模式就够了

因为你可以使用 Kubernetes proxy 来访问它! ?...在 GKE 上,这将启动一个网络LoadBalancer,该网络LoadBalancer将为你提供一个 IP 地址,用来将所有流量转发到你的 service 上。 ?...相反,它位于多个 service 之前,充当集群中的“智能路由器”或入口点。您可以使用 Ingress 做很多不同的事情。现在市面上有许多不同类型的 Ingress 控制器,他们具有不同的功能。...默认的 GKE ingress 控制器将为你启动一个 HTTP(S)LoadBalancer。帮助你用来执行基于路径和子域的路由到后端服务。...GKE 上 Ingress 对象的 YAML 如下所示(带有 L7 HTTPLoadBalancer): ? 适用情况 Ingress 可能是暴露 service 最强大的方式,但也可能是最复杂的。

97810

IT人士需要了解的云中容器的术语

因为组织可以创建容器的速度比基于虚拟机管理程序的实例创建得更快,容器也会鼓励更灵活的环境,促进持续交付方法以及使用微服务器。...Docker容器可以在多个位置运行,包括虚拟机,裸机服务器和公共云实例。主要云计算提供商(包括AWS,Azure和Google)都支持Docker容器。...4.Google KubernetesKubernetes是Google的公共云,私有云和混合云的容器管理系统。...像他们支持Docker一样,AWS,Google和Azure支持Kubernetes系统。开发人员可以通过云平台移动Kubernetes容器工作负载,而无需更改代码。...5.Google容器引擎(GKE):GKE是云计算中Docker容器的编排和集群管理系统。这些群组由一组运行Kubernetes的谷歌计算引擎实例组成。

1.8K110
领券