Kubernetes Pod 预热以实现负载均衡

2024-06-18

我们有一个 Kubernetes 服务,其 Pod 需要一些时间来预热第一个请求。基本上,第一个传入请求将从 Redis 读取一些缓存值,并且这些请求可能需要更长的时间来处理。当这些新创建的 Pod 准备就绪并接收完整流量时,在从 Redis 正确加载所有内容并进行缓存之前,它们可能会在长达 30 秒的时间内变得响应不灵敏。

我知道,我们绝对应该重组应用程序以防止这种情况发生,不幸的是,这在不久的将来是不可行的(我们正在努力)。

如果能够减少新创建的 Pod 的重量,那就太好了,这样它们一开始就会收到 1/10 的流量,随着时间的推移,重量会不断增加。这对于我们的应用程序的新部署版本来说也非常有用,可以查看它的行为是否正确。


为什么您需要在第一次调用时加载缓存,而不是在连接到就绪探针的心跳中加载缓存?另一种选择是利用初始化容器 https://kubernetes.io/docs/concepts/workloads/pods/init-containers/#using-init-containers在 Kubernetes 中

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Kubernetes Pod 预热以实现负载均衡 的相关文章

  • Docker For Windows CE:Kubernetes:无法连接到服务器 eof

    我根本找不到 无法连接到服务器 eof 的解决方案 希望我们能解决这个问题 并在将来搜索解决此问题时对某人有所帮助 我试图在屏幕截图中包含所有信息 如果需要更多信息 请告诉我 我已尝试添加所需的信息 如果您还需要或希望我尝试其他内容 请告诉
  • Kubernetes 集群中的 Websocket 连接与 nginx-ingress

    我正在尝试在 Kubernetes 集群中运行的服务器上建立一个简单的 Websocket 连接 Websocket 连接能够在我的本地测试计算机上建立 但在使用 nginx ingress 部署到 GKE 后 我无法将客户端连接到服务器
  • 如何在 minikube VM 中挂载 Host 文件夹

    我有一个用例 我需要 kubernetes 下的 Docker 容器来访问主机路径 我使用的是 minikube 容器能够访问 minikube VirtualBox VM 中的文件夹 但我不知道如何让它访问主机本身上的文件夹 我在主机上执
  • Kubernetes:没有定义端口的服务

    我想确认我们是否可以在 pod 中没有容器端口的情况下公开服务 在下面的示例中 pod 没有容器端口 但服务已定义端口 apiVersion v1 metadata name mypod namespace ggckad s8 labels
  • Kubernetes NetworkPolicy 限制服务的出口流量

    是否可以仅允许特定服务的出口流量 这是我天真的尝试 kind NetworkPolicy metadata name default deny all egress namespace default spec podSelector eg
  • 为什么不推荐多区域 Kubernetes 部署?

    Kubernetes 文档说支持多区域集群 但不支持多区域集群 同时 Kubernetes 都支持failure domain zone and failure domain region 让我的 Kubernetes 集群同时成为多专区和
  • 启动 pods-kubernetes 时出错。 Pod 仍处于 ContainerCreating 状态

    我已经在运行 ubuntu 的桌面上安装了带有 minikube 的 kubernetes 试用版 然而 启动 Pod 似乎存在一些问题 Kubectl get pods all namespaces 显示所有处于 ContainerCre
  • 通过 https 负载均衡器的 WCF http 服务

    我有一个可以通过 http 端点访问的 WCF Web 服务 现在 该服务应通过 https 与负载均衡器一起发布 客户端是通过 svcutil exe 在 Net 中创建的 但 Java 客户端也需要 WSDL 我的理解是 Web 服务在
  • Kubernetes,无法访问其他节点服务

    我正在 3 个带有 CentOS 7 的 VirtualBox 虚拟机 1 个 master 和 2 个 minions 中使用 Kubernetes 不幸的是安装手册说的是这样的every service will be accessib
  • 如何从 Pod 中的容器内部获知 Pod 自己的 IP 地址?

    Kubernetes为每个容器分配一个IP地址 那么如何从Pod中的容器获取IP地址呢 我无法从文档中找到方法 编辑 我将在 Kubernetes 中运行 Aerospike 集群 并且配置文件需要有自己的IP地址 我正在尝试使用 conf
  • 将conf文件嵌入到helm图表中

    我是新掌舵者 我正在构建一个包含大量conf文件的splunk helm图表 我目前在 configmap 中使用类似的东西 apiVersion v1 kind ConfigMap metadata name splunk master
  • 如何在不手动修改文件的情况下编辑部署?

    我已经为我的应用程序定义了一个部署 apiVersion extensions v1beta1 kind Deployment metadata name myapp deployment spec replicas 2 template
  • Kubernetes Pod 预热以实现负载均衡

    我们有一个 Kubernetes 服务 其 Pod 需要一些时间来预热第一个请求 基本上 第一个传入请求将从 Redis 读取一些缓存值 并且这些请求可能需要更长的时间来处理 当这些新创建的 Pod 准备就绪并接收完整流量时 在从 Redi
  • 如何在 kubernetes 上设置 hostPath 卷权限?

    似乎默认情况下 Kubernetes 创建一个 hostPath 卷755对目录的权限 是否可以通过 a 将这个值设置为其他值volume规格 与手动执行操作相反chmod在相关主机目录上 initContainers name volum
  • 无法访问通过 NodePort 暴露的 Kubernetes 服务

    我正在使用 minikube 在最新的 MacOS 上测试 kubernetes 这是我的相关 YAML 命名空间 yml apiVersion v1 kind Namespace metadata name micro labels na
  • 如何在 Nextflow 的 Kubernetes 执行器中禁用特权容器执行?

    我正在共享集群中使用 Kubernetes 执行器运行 Nextflow 工作流程 出于安全原因 该集群不允许特权容器 当我运行 nextflow 工作流程时 我收到错误 清楚地表明它正在尝试在特权模式下运行我的作业 job control
  • kubernetes:无法从其他机器访问 NodePort

    我正在尝试安装 kubernetes 检查kubernetes上执行的容器时出现问题 我将服务类型设置为 Nodeport 但无法从运行容器的节点以外的节点进行访问 想要从其他计算机访问它 请告诉我哪里不同 我尝试了externalIPs和
  • hostPath PersistentVolume 和 spec.capacity.storage 属性

    我在虚拟机中运行单个主 节点 Kubernetes 使用hostPath作为已部署的 Postgres 数据库的持久卷 My PersistentVolume有以下配置 apiVersion v1 kind PersistentVolume
  • 在 kubernetes pod 中安装卷时如何更改 umask

    Update Using fsGroup in a SecurityContext允许设置最终安装点的 组 权限 因此 参考下面的示例 mydata storage sample one one 的权限将允许 fsGroup ID 写入访问
  • 通过ELB访问AWS EC2实例

    我试图在弹性负载均衡器下设置两个实例 但无法弄清楚应该如何通过负载均衡器访问这些实例 我已经使用安全组设置了实例 以允许从任何地方访问某些端口 我可以使用 公共 DNS publicdns 主机名和端口 PORT 直接访问实例 http p

随机推荐