Saltar para o conteúdo principal
Versão 3.0.0

Segurança — Spark

O chart tdp-spark acessa armazenamento S3/MinIO via protocolo S3A. As credenciais de acesso são configuradas como placeholders no values.yaml e devem ser fornecidas através de arquivos de valores privados ou mecanismos de gestão de Secrets do seu ambiente.

Credenciais S3/S3A

As credenciais de acesso ao S3/MinIO são injetadas via spark.sparkConf ou hadoopConfig:

spark:
sparkConf:
"spark.hadoop.fs.s3a.access.key": "<ACCESS_KEY>"
"spark.hadoop.fs.s3a.secret.key": "<SECRET_KEY>"
"spark.hadoop.fs.s3a.endpoint": "http://<s3-endpoint>:<porta>"
"spark.hadoop.fs.s3a.path.style.access": "true"
"spark.hadoop.fs.s3a.connection.ssl.enabled": "false"

Alternativamente, as mesmas propriedades podem ser definidas em hadoopConfig (renderizado como core-site.xml):

hadoopConfig:
"fs.s3a.access.key": "<ACCESS_KEY>"
"fs.s3a.secret.key": "<SECRET_KEY>"
"fs.s3a.endpoint": "http://<s3-endpoint>:<porta>"
"fs.s3a.path.style.access": "true"

Ou via customSparkConfig.properties (renderizado como spark-defaults.conf):

customSparkConfig:
properties: |
spark.hadoop.fs.s3a.access.key=<ACCESS_KEY>
spark.hadoop.fs.s3a.secret.key=<SECRET_KEY>
spark.hadoop.fs.s3a.endpoint=http://<s3-endpoint>:<porta>
spark.hadoop.fs.s3a.path.style.access=true

Integração com Ozone (TDP)

Para o Ozone instalado junto ao TDP, o endpoint interno do S3 Gateway segue o padrão:

http://<release>-s3g-rest.<namespace>.svc.cluster.local:9878

As credenciais devem corresponder ao Secret ozone-s3-credentials configurado no Ozone. Consulte Segurança — Apache Ozone para detalhes sobre o Secret.

Integração com Jupyter e Airflow

O chart renderiza arquivos de configuração específicos para integração com outros serviços:

  • integration.jupyter.sparkConfigspark-defaults.conf para o ambiente JupyterLab
  • integration.airflow.sparkConfig → configurações padrão para submissão via Airflow

Essas configurações também herdam as propriedades S3A definidas acima quando presentes.

Boas práticas

AspectoRecomendação
CredenciaisNão versionar access.key e secret.key em repositório Git
Separação por ambienteUsar arquivos de valores distintos para dev e produção
RotaçãoAtualizar o values e fazer helm upgrade para aplicar novas credenciais

Resolução de Problemas

ProblemaCausa provávelSolução
Jobs Spark falham com erro de acesso S3Credenciais ausentes ou endpoint incorretoVerificar spark.hadoop.fs.s3a.* nos valores aplicados
Connection refused ao S3Endereço do serviço S3 incorretoVerificar nome e namespace do serviço Ozone no cluster
AccessDeniedExceptionCredenciais sem permissão no bucketRever permissões no MinIO/Ozone para o usuário configurado

Para a lista completa de parâmetros, use helm show values na versão do chart que instalou.