Saltar para o conteúdo principal
Versão 3.0

Segurança — Iceberg

ChartVersion3.0.1TypeapplicationAppVersion1.10.0
CompatibilidadeKubernetes1.32+OpenShift4.19+Rancher2.10.x+
Suporte a recursosS3suportado

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

Credenciais e Secrets

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 exactamente s3-credentials. Os CronJobs do chart referenciam este nome directamente via env.secretKeyRef.

Configuração do catálogo Iceberg

O acesso ao Hive Metastore (utilizado como catálogo Iceberg) e ao endpoint S3 é configurado 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_NAME>-metastore.<NAMESPACE>.svc.cluster.local:9083"
"spark.hadoop.fs.s3a.endpoint": "http://<S3_ENDPOINT>:<S3_PORT>"
"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 por omissã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

Solução de problemas

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

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