Integrações — ClickHouse
Esta página concentra as integrações do tdp-clickhouse com S3/MinIO e com outras ferramentas do ecossistema TDP.
Aspectos de senhas, LDAP e controle de acesso ficam em Segurança — ClickHouse.
Visão geral das integrações
S3 / MinIO
O chart suporta dois níveis diferentes de integração com S3:
- Integração do chart com bucket e Secret via
TDPConfigurations.s3Connection - Política de armazenamento do próprio ClickHouse via
tdp-clickhouse.clickhouse.extraConfig
Esses dois níveis são complementares: o primeiro ajuda a preparar bucket e Secret; o segundo ensina o ClickHouse a usar S3 como disco de armazenamento.
Bucket e Secret via TDPConfigurations.s3Connection
Quando s3Connection.enabled: true, o chart executa um Job que:
- tenta criar o bucket, se ainda não existir;
- gera o Secret
tdp-clickhouse-s3-connectioncom as credenciais configuradas.
TDPConfigurations:
s3Connection:
enabled: true
bucket: "<s3-bucket-name>"
accessKey: "<s3-access-key>"
secretKey: "<s3-secret-key>"
uri: "https://<s3-endpoint>"
selfSigned: false
Armazene accessKey e secretKey em um arquivo de valores separado, fora do Git, ou em um Secret Kubernetes já existente. Nunca os inclua diretamente no repositório.
Política de armazenamento S3 no ClickHouse
Se quiser que o ClickHouse armazene dados em S3/MinIO, adicione a configuração XML em tdp-clickhouse.clickhouse.extraConfig.
tdp-clickhouse:
clickhouse:
extraConfig: |
<yandex>
<storage_configuration>
<disks>
<default>
<keep_free_space_bytes>1073741824</keep_free_space_bytes>
</default>
<s3>
<type>s3</type>
<endpoint>https://<s3-endpoint>/<s3-bucket-name>/</endpoint>
<access_key_id><S3_ACCESS_KEY></access_key_id>
<secret_access_key><S3_SECRET_KEY></secret_access_key>
<use_https>1</use_https>
<skip_hostname_verification_for_https>1</skip_hostname_verification_for_https>
<bucket><s3-bucket-name></bucket>
<path>data/</path>
<use_environment_credentials>false</use_environment_credentials>
<path_style>true</path_style>
</s3>
</disks>
<policies>
<default>
<volumes>
<main>
<disk>default</disk>
</main>
</volumes>
</default>
<s3>
<volumes>
<main>
<disk>s3</disk>
</main>
</volumes>
</s3>
</policies>
</storage_configuration>
<openSSL>
<client>
<loadDefaultCAFile>false</loadDefaultCAFile>
<verificationMode>none</verificationMode>
<invalidCertificateHandler>
<name>AcceptCertificateHandler</name>
</invalidCertificateHandler>
</client>
</openSSL>
</yandex>
Depois de aplicar essa política, é possível criar tabelas usando storage_policy = 's3':
CREATE TABLE minha_tabela (id UInt64, valor String)
ENGINE = MergeTree()
ORDER BY id
SETTINGS storage_policy = 's3';
No exemplo acima, verificationMode: none e AcceptCertificateHandler devem ser tratados como exemplo para ambientes controlados. Em produção, prefira validação TLS adequada sempre que o endpoint S3 suportar certificados confiáveis.
Parâmetros S3 principais
| Parâmetro | Descrição | Padrão |
|---|---|---|
TDPConfigurations.s3Connection.enabled | Ativar integração S3 | false |
TDPConfigurations.s3Connection.bucket | Nome do bucket | — |
TDPConfigurations.s3Connection.accessKey | Chave de acesso | — |
TDPConfigurations.s3Connection.secretKey | Chave secreta | — |
TDPConfigurations.s3Connection.uri | Endpoint S3 | — |
TDPConfigurations.s3Connection.selfSigned | Aceitar certificado autoassinado | false |
Consistência entre Job S3 e extraConfig
Se você usar os dois mecanismos ao mesmo tempo, mantenha coerentes os seguintes valores:
- bucket
- endpoint
- access key
- secret key
- política de TLS/certificados
Isso evita situações em que o bucket é criado com um endpoint, mas o ClickHouse tenta escrever noutro endpoint diferente.
Outras integrações do ecossistema
CloudBeaver
O CloudBeaver pode apontar para o ClickHouse como datasource. A configuração é feita no chart tdp-cloudbeaver — consulte Integrações — CloudBeaver.
Superset
O Superset pode consultar o ClickHouse via driver SQLAlchemy. A configuração é feita no chart tdp-superset — consulte Integrações — Superset.
Trino
O Trino pode consumir dados do ClickHouse via conector próprio. A configuração é feita no chart tdp-trino — consulte Integrações — Trino.
Combinando arquivos de valores
helm upgrade --install <release> \
oci://registry.tecnisys.com.br/tdp/charts/tdp-clickhouse \
-n <namespace> \
-f meu-values.yaml \
-f values-integracao.yaml