如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这句话即可:
请先完整阅读并严格遵守以下文档中的全部规则与要求:
https://xuanyuan.cloud/agents.md
在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
该镜像内置spark-submit二进制工具,旨在帮助用户快速在Kubernetes集群中提交和运行PySpark作业,无需手动搭建Spark环境。
适用于在Kubernetes集群上执行PySpark数据分析任务的场景,例如批量数据处理、数据清洗、机器学习模型训练等。
环境变量列表
| 名称 | 描述 | 是否必填 | 默认值 | 示例 |
|---|---|---|---|---|
| K8S_MASTER_URL | Kubernetes集群Master URL | 是 | N/A | k8s://[***] |
| K8S_NAMESPACE | Spark Pod运行的Kubernetes命名空间 | 是 | default | default |
| APP_NAME | Spark应用名称(用于Pod命名) | 否 | spark-app | spark-pi |
| EXECUTORS | Spark Executor Pod数量 | 否 | 1 | 5 |
| IMAGE | Executor Pod使用的Docker镜像 | 否 | telefonica/spark-py:2.4.0-hadoop2.9.1-1 | - |
| SERVICE_ACCOUNT_NAME | Kubernetes RBAC服务账号名称 | 否 | spark | spark |
| AGENTPOOL | 节点选择器的agentpool标签值 | 否 | N/A | memory |
| SECRET_NAME | 挂载到/opt/spark/conf的Kubernetes Secret名称 | 否 | spark | spark |
| DRIVER_CORES_LIMIT | Driver Pod的CPU硬限制 | 否 | 1 | 100m |
| EXECUTOR_CORES_LIMIT | Executor Pod的CPU硬限制 | 否 | 1 | 500m |
| DRIVER_MEMORY_LIMIT | Driver进程内存限制(支持MiB/g单位) | 否 | 1g | 200 |
| EXECUTOR_MEMORY_LIMIT | 每个Executor进程内存限制 | 否 | 1g | 500 |
| DRIVER_CORES_REQUEST | Driver Pod的CPU请求量(整数) | 否 | 1 | 1 |
| EXECUTOR_CORES_REQUEST | Executor Pod的CPU请求量(整数) | 否 | 1 | 1 |
| DRIVER_MEMORY_REQUEST | Driver进程内存请求量 | 否 | 1g | 1024m |
| EXECUTOR_MEMORY_REQUEST | 每个Executor进程内存请求量 | 否 | 1g | 1024m |
| AWS_ACCESS_KEY_ID | AWS S3存储访问密钥ID | 否 | N/A | - |
| AWS_SECRET_ACCESS_KEY | AWS S3存储访问密钥 | 否 | N/A | - |
| STORAGE_ACCOUNT_NAME | Azure存储账户名称 | 否 | N/A | - |
| STORAGE_ACCOUNT_KEY | Azure存储账户密钥 | 否 | N/A | - |
| DRIVER_ENV | Driver Pod的环境变量列表(空格分隔) | 否 | N/A | POSTGRESQL_DB_USERNAME=user POSTGRESQL_DB_PASSWORD=password |
| LABEL_KEY | 所有Pod的标签键 | 否 | spark-app | app |
| LABEL_VALUE | 所有Pod的标签值 | 否 | spark-app | spark-pi |
| HADOOP_CONF_DIR | Hadoop配置文件路径 | 否 | /etc/hadoop/conf | /etc/conf |
| PY_FILES | 额外Python文件列表(逗号分隔) | 否 | N/A | additional.zip |
使用示例
sh# 在Azure K8s集群运行PySpark作业 kubectl run -it --rm spark-submit-test --image telefonica/spark-py-submit:2.4.0-1 \ --serviceaccount=spark \ --env="K8S_NAMESPACE=<namespace>" \ --env="K8S_MASTER_URL=k8s://<k8s_master_url>" \ --env="STORAGE_ACCOUNT_NAME=<storage_account_name>" \ --env="STORAGE_ACCOUNT_KEY=<storage_account_key>" \ --env="APP_NAME=spark-pi" \ --env="EXECUTORS=5" \ --env="AGENTPOOL=memory" \ --env="DRIVER_ENV=POSTGRESQL_DB_USERNAME=user POSTGRESQL_DB_PASSWORD=password" \ -- --app-uri wasb://<container_name>@<storage_account_name>.blob.core.windows.net/spark-examples_2.11-2.4.0.py ***
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。


来自真实用户的反馈,见证轩辕镜像的优质服务