apache-spark - Kubernetes 集群上的 SparkApplication YAML 文件存储在哪里?
问题描述
我正在使用Helm Chart将 Spark Operator 部署到 GKE。然后我SparkApplication
在 YAML 文件中定义一个规范。但是在阅读了用户指南后,我仍然不明白:
SparkApplication
在Kubernetes 集群或 Google 存储上存储YAML 文件的位置?- 是否可以/可以将它们与 Spark Operator Helm 图表一起部署到 Spark Master 容器?
SparkApplication
将配置加载到谷歌存储然后运行的好方法吗kubectl apply -f <YAML GS file path>
SparkApplication
在我可能遗漏的 Kubernetes 集群或 GS 上存储配置的最佳实践是什么?
解决方案
为了解决您的问题:
有很多可能性来存储您的
YAML
文件。您可以将其本地存储在您的 PC、笔记本电脑上,也可以将其存储在云中。在该主题中更进一步,将YAML
文件同步到版本控制系统(例如 Git)将是更好的选择之一,因为您将拥有更改的完整历史记录,并且能够检查您所做的更改并在出现故障时回滚。主要的是kubectl
需要访问这些文件。Kubernetes 中没有主容器之类的东西。有主节点。主节点是控制和管理一组工作节点(工作负载运行时)的机器,请查看有关Kubernetes 组件的官方文档。
您可以将
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
工具文档并注意:gsutil cat 命令不计算下载数据的校验和。因此,我们建议用户自己验证 gsutil cat 的输出,或者使用 gsutil cp 或 rsync(两者都会自动执行完整性检查)。
-- https://cloud.google.com/storage/docs/gsutil/commands/cat
如果您对此有任何疑问,请告诉我。
推荐阅读
- kotlin - 为什么 Kotlin 协程需要更长的时间
- sql - 如何在 PostgreSQL 中将一个范围分成同质的子范围?
- java - 致命异常:主进程:com.example.todoapp,PID:14053 java.lang.NullPointerException
- java - 需要从字符串中提取 3 个值
- vsix - “vsix”包未正确加载
- terraform - Terraform Datadog 查询不起作用,因为它包含一些 datadog 方法
- r - 错误:未为此 S4 类定义 $ 运算符,具有 abline 函数
- json - Jq tsv - 从键创建标题
- c# - OpenQA.Selenium.WebDriverException : 对远程 WebDriver 服务器的 HTTP 请求 URL 超时
- dask - 带有上下文管理器的 dask 集群