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.