Saltar para o conteúdo principal
Versão 3.0.0

Segurança — Iceberg

O chart tdp-iceberg executa jobs de manutenção de tabelas Iceberg (expiração de snapshots, remoção de arquivos órfãos, reescrita de arquivos). Esses jobs acessam o armazenamento S3/MinIO via Spark e requerem o Secret Kubernetes s3-credentials com as credenciais de acesso ao bucket.

Secret de credenciais S3

Crie o Secret no namespace antes do deploy:

kubectl -n <namespace> create secret generic s3-credentials \
--from-literal=access-key="<ACCESS_KEY>" \
--from-literal=secret-key="<SECRET_KEY>"
ChaveDescrição
access-keyChave de acesso ao bucket S3/MinIO
secret-keyChave secreta para autenticação S3

O nome do Secret deve ser exatamente s3-credentials. Os CronJobs do chart referenciam esse nome diretamente via env.secretKeyRef.

Configuração do catálogo Iceberg

O acesso ao Hive Metastore (usado como catálogo Iceberg) e ao endpoint S3 são configurados em maintenance.spark.config:

maintenance:
spark:
config:
"spark.sql.catalog.iceberg": "org.apache.iceberg.spark.SparkCatalog"
"spark.sql.catalog.iceberg.type": "hive"
"spark.sql.catalog.iceberg.uri": "thrift://<release>-metastore.<namespace>.svc.cluster.local:9083"
"spark.hadoop.fs.s3a.endpoint": "http://<s3-endpoint>:<porta>"
"spark.hadoop.fs.s3a.path.style.access": "true"

Ajuste o endereço do Metastore (spark.sql.catalog.iceberg.uri) se o nome do release ou namespace do Hive Metastore diferirem dos valores padrão.

Boas práticas

AspectoRecomendação
CredenciaisNão versionar access-key e secret-key em repositório Git
RotaçãoRecriar o Secret e aguardar o próximo ciclo dos CronJobs
Acesso mínimoCredenciais com permissão apenas nos buckets das tabelas Iceberg

Resolução de Problemas

ProblemaCausa provávelSolução
CronJob falha com erro 403 no S3Secret ausente ou chaves com nome incorretoVerificar Secret s3-credentials no namespace
Erro de conexão ao MetastoreURI do Hive Metastore incorretoVerificar endereço e porta 9083 acessíveis
Tabela não encontrada no catálogoNamespace do catálogo Iceberg incorreto na queryVerificar configuração de spark.sql.catalog.iceberg

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