问题标签 [kubernetes-statefulset]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
633 浏览

kubernetes - 立即将 Kubernetes Statefulset/Deployment 扩展到最大容量

目前,我们将其中一个 statefulset 扩展为拥有 11 个副本。我们当前的 updateStrategy 是

如果我们从头开始部署 statefulset,Kubernetes 会一个接一个地启动它们。要启动一个副本,它需要大约 5 分钟。因此,我们总共等待 55 分钟来填满容量。

从头开始有没有办法一次填满容量?那么所有 11 个副本将同时启动?

由于故障安全,应通过 RollingUpdate 处理现有 statefulset 的升级。

最好的祝愿,斯蒂芬

0 投票
2 回答
50499 浏览

kubernetes - Kubernetes - pod 具有未绑定的即时 PersistentVolumeClaims

我正在使用 mysql Kubernetes statefulset,我将 PV 映射到主机目录(CentOS 8 VM),但得到“pod has unbound immediate PersistentVolumeClaims”

存储类是默认的,PV 中没有事件

存储类是默认的一类

PVC 也没有显示任何事件:

Pod 处于待处理状态:

有人可以指出这里还应该做什么,谢谢

0 投票
2 回答
6714 浏览

kubernetes - 重启 Kubernetes 集群后 RabbitMQ 无法启动

我在 Kubernetes 上运行 RabbitMQ。这是我的 sts YAML 文件:

我用这个命令创建了 cookie:

我所有的 Kubernetes 集群节点都准备好​​了:

但是重启集群后,RabbitMQ 没有启动。我试图缩小和放大 sts,但问题已经存在。的输出kubectl describe pod rabbitmq-0

的输出kubectl get sts

这是我从 Kubernetes 仪表板复制的 pod 日志:

0 投票
3 回答
2186 浏览

kubernetes - 使用新的 PersistentVolume 重新创建由 StatefulSet 管理的 Pod

偶尔我需要对我的 StatefulSet 中的所有 Pod 执行滚动替换,以便所有 PV 也从头开始重新创建。这样做的原因是摆脱所有使用旧版本加密密钥的底层硬盘驱动器。此操作不应与常规滚动升级相混淆,我仍然希望卷能够在 Pod 终止后继续存在。到目前为止,我认为最好的例程如下:

  1. 删除 PV。
  2. 删除 PVC。
  3. 删除 Pod。
  4. 等到所有删除完成。
  5. 手动重新创建在步骤 2 中删除的 PVC。
  6. 等待新 Pod 完成来自 StatefulSet 中其他 Pod 的流数据。
  7. 从第 1 步开始重复下一个 Pod。

我对第 5 步不满意。我希望 StatefulSet 为我重新创建 PVC,但不幸的是它没有。我必须自己做,否则 Pod 创建失败并出现以下错误:

有没有更好的方法来做到这一点?

0 投票
0 回答
60 浏览

nginx - Kubernetes:具有共享服务的复制有状态 nginx 负载均衡器

我正在寻找一种可能性,即在 kubernetes 中镜像 nginx 负载均衡器部署的 pod,这些 pod 与一个外部 IP 共享相同的 kubernetes 服务。我用这个 statefulset 配置尝试了这个场景:

这个服务配置:

所有 4 个 pod 都能够成功请求并行加密 SSL 证书。

问题是通过外部 IPv4 地址从集群外部通过单一服务的连接会随机重置。

如何防止这种情况?

0 投票
1 回答
479 浏览

kubernetes - 按主机名动态路由到特定 StateFulSet POD

我有一个有 2 个副本的 StatefulSet。我想创建一个端点以能够访问此副本中的任何一个,将其传递主机名 ID,并且如果我将其扩展到更多副本,则新的 Pod 需要是可访问的。

我可以这样创建一个 Ingress:

有了这个,一个GETonappscode.example.com/0将被路由到web-0pod。但是,我怎样才能以动态的方式做到这一点?如果我将副本更改为 3,我将需要手动创建到 pod 的新路径路由才能web-2访问。

0 投票
1 回答
69 浏览

kubernetes - 将 POD_HOST + random_string 导出为 pod 中的环境变量

我正在编写一个有状态集,我需要将 POD_HOST+abc 作为环境变量导出。第二个环境变量的命名应与 POD_HOST 不同

我做了类似的事情

我可以看到它在环境中被导出为 $POD_HOST"abc"。有没有办法让 POD_HOST 在被导出到环境中之前在 kubernetes pod 中解析

0 投票
2 回答
1609 浏览

kubernetes - Kubernetes 中的 Redis 部署

我正在尝试在 Kubernetes 上运行 Redis 集群。我不打算将任何 Redis 数据保存到磁盘。是否可以将 Redis 集群作为 Kubernetes 部署而不是作为有状态集运行?

0 投票
2 回答
136 浏览

bash - 在文件 docker 容器中使用环境变量

我在一个 docker 容器中设置一个环境变量,我在运行时收到它的值。

我想在 XML 文件中使用这个值。有没有办法我可以做到这一点?

就像是

0 投票
1 回答
71 浏览

kubernetes - 为 statefulSet 提供标准类型的持久卷失败

使用 PVC 部署 statefulset (bitnami/redis) 后,我在云控制台中收到以下错误:

(结合类似事件):无法使用 StorageClass“标准”配置卷:googleapi:错误 503:内部错误。请重试或联系 Google 支持。(代码:'-295147017683364552'),后端错误

如何解决这个问题?我真的需要联系支持人员吗?