【问题标题】:kuberetes hostPort declaration not working for pods in StatefulSet, any extra config needed?kubernetes hostPort 声明不适用于 StatefulSet 中的 pod,需要任何额外的配置吗?
【发布时间】:2018-10-27 03:26:02
【问题描述】:

我正在部署 helm chart mongodb-replicaset。我在 StatefulSet 容器规范中添加了 hostPort 27017。但是,该端口并未暴露。它默默地忽略了这一点。如果我在同一个 kube 中部署一个带有 hostPort 的 pod 规范,它就可以工作。 StatefulSet 中是否有一些不兼容的东西,或者我缺少一些配置?我的用例是我需要数据库可以从外部访问。鉴于 mongo 的工作方式,负载平衡在这里毫无意义,hostPort 是最直接的路径。感谢您提供任何信息。

【问题讨论】:

    标签: mongodb kubernetes kubernetes-helm


    【解决方案1】:

    不,NodePort 不需要为 StatefulSet 进行其他设置。

    但是,您的 NodePort 值应该在可用范围内(默认值:30000-32767)。

    修复它的最简单方法是将NodePort 值设置为可用范围内的端口之一。

    【讨论】:

    • 我查看了 NodePort 服务选项,但不想从标准 27017 移动端口。所以我一直在努力使用 hostPort 来解决这个问题。同样从我所看到的情况来看,设置 NodePort 服务会给服务带来负载平衡行为......
    • 不,负载均衡是一个独立的东西,与Service更相关。您有 2 个选项来运行 NodePort: 27017 - 使用 hostNetwork: true 运行您的 pod,或者通过 --service-node-port-range= Kubelet 标志扩展服务的可用端口范围。
    猜你喜欢
    • 2020-04-05
    • 2018-06-24
    • 2021-09-08
    • 2020-05-05
    • 2016-08-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-08-25
    相关资源
    最近更新 更多