1

我一直在尝试在 Kubernetes 中容器化的 pod 内运行 android 开源操作系统并尝试访问它。我要解决的问题是 android 应该在一个 pod 内运行,我们应该能够运行多个 pod,其中每个 android 系统都是独立的,我们可以远程访问它们。

4

1 回答 1

0

你所说的听起来像是一个有状态的工作负载,你应该使用StatefulSet而不是Deployment。正如您在文档中看到的那样,它保证了每个 pod 的唯一性:

StatefulSet 是用于管理有状态应用程序的工作负载 API 对象。

管理一组 Pod的部署和扩展, 并保证 这些 Pod 的顺序和唯一性。

Deployment类似,StatefulSet 管理基于相同容器规范的 Pod。与 Deployment 不同,StatefulSet 为其每个 Pod 维护一个粘性标识。这些 pod 是根据相同的规范创建的,但不可互换:每个 pod 都有一个持久标识符,它在任何重新调度时都会维护该标识符。

如果您想使用存储卷为您的工作负载提供持久性,您可以使用 StatefulSet 作为解决方案的一部分。尽管 StatefulSet 中的单个 Pod 容易发生故障,但持久性 Pod 标识符可以更轻松地将现有卷与替换任何失败的新 Pod 匹配。

如果您在某个云环境中运行它,您可以通过LoadBalancer服务类型公开它,以便您可以远程访问它。

于 2021-06-24T19:07:44.337 回答