我们可以在 kubernetes pod 中运行 android 操作系统吗?

问题描述

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

解决方法

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

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

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

就像一个 Deployment, StatefulSet 管理基于相同容器的 Pod 规格与 Deployment 不同,StatefulSet 维护一个粘性标识 对于他们的每个 Pod。这些 Pod 是根据相同的规范创建的,但是 不可互换:每个都有一个持久标识符,它 在任何重新安排期间保持不变。

如果您想使用存储卷为您的设备提供持久性 工作负载,您可以使用 StatefulSet 作为解决方案的一部分。虽然 StatefulSet 中的单个 Pod 容易出现故障, 持久的 Pod 标识符使匹配现有卷更容易 替换任何失败的新 Pod。

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