【问题标题】:Where to store SparkApplication YAML files on Kubernetes cluster?Kubernetes 集群上的 SparkApplication YAML 文件存储在哪里?
【发布时间】:2020-06-02 18:22:31
【问题描述】:

我正在使用 Helm Chart 将 Spark Operator 部署到 GKE。然后我在 YAML 文件中定义了一个 SparkApplication 规范。但是看了User Guide还是不明白:

  1. SparkApplication YAML 文件存储在 Kubernetes 集群或 Google 存储的什么位置?
  2. 是否可以/可以将它们与 Spark Operator Helm 图表一起部署到 Spark Master 容器?
  3. SparkApplication 配置加载到谷歌存储然后运行kubectl apply -f <YAML GS file path> 是不是一个好方法

在我可能遗漏的 Kubernetes 集群或 GS 上存储 SparkApplication 配置的最佳做法是什么?

【问题讨论】:

    标签: apache-spark kubernetes google-cloud-platform kubernetes-helm


    【解决方案1】:

    解决您的问题:

    1. 有很多方法可以存储您的 YAML 文件。您可以将其本地存储在您的 PC、笔记本电脑上,也可以将其存储在云中。在该主题中更进一步,将您的 YAML 文件同步到版本控制系统(例如 Git)将是更好的选择之一,因为您将拥有完整的更改历史记录,并能够检查您所做的更改并在出现故障时回滚. 主要是kubectl 需要访问这些文件。

    2. 在 Kubernetes 中没有 master 容器这样的东西。有主节点。主节点是控制和管理一组工作节点(工作负载运行时)的机器 请查看Kubernetes components的官方文档。

    3. 您可以将 YAML 文件放入您的 Google 存储(存储桶)中。但是您将无法以kubectl apply -f FILE 的方式运行命令。 kubectl 将无法正确解释像 gs://NAME_OF_THE_BUCKET/magical-deployment.yaml 这样的文件位置。

      运行kubectl apply -f FILE_NAME.yaml 的一种方法是将其存储在本地并在外部同步。

      您可以通过gsutil 访问存储桶内的数据。您可以尝试修补 gsutil cat gs://NAME_OF_THE_BUCKET/magical-deployment.yaml 并尝试将其通过管道传输到 kubectl 但我不推荐这种方法。

      在这种情况下请参考gsutil工具documentation并注意:

      gsutil cat 命令不会计算下载数据的校验和。因此,我们建议用户自己验证 gsutil cat 的输出,或者使用 gsutil cp 或 rsync(两者都会自动执行完整性检查)。

      -- https://cloud.google.com/storage/docs/gsutil/commands/cat

    如果您对此有任何疑问,请告诉我。

    【讨论】:

      猜你喜欢
      • 2021-07-15
      • 1970-01-01
      • 2015-02-19
      • 1970-01-01
      • 1970-01-01
      • 2010-11-15
      • 2023-03-25
      • 1970-01-01
      • 2019-07-22
      相关资源
      最近更新 更多