Saltar para o conteúdo principal
Versão 3.0

Integrações — ClickHouse

ChartVersion3.0.1TypeapplicationAppVersion25.8.11.66
CompatibilidadeKubernetes1.32+OpenShift4.19+Rancher2.10.x+

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:

  1. Integração do chart com o bucket via TDP-Settings.s3Connection.
  2. 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 o bucket; o segundo ensina o ClickHouse a usar S3 como disco de armazenamento.

Bucket via TDP-Settings.s3Connection​

Quando s3Connection.enabled: true, o chart executa um Job que:

  • tenta criar o bucket, se ainda não existir;
  • usa as credenciais configuradas durante a execução do Job de preparação do bucket;
  • cria um Secret (tdp-clickhouse-s3-connection) com os detalhes da conexão.
TDP-Settings:
s3Connection:
enabled: true
bucket: "<S3_BUCKET>"
accessKey: "<S3_ACCESS_KEY>"
secretKey: "<S3_SECRET_KEY>"
uri: "https://<S3_ENDPOINT>"
selfSigned: false
Credenciais

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>/</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></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';
TLS e certificados

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âmetroDescriçãoPadrão
TDP-Settings.s3Connection.enabledAtivar integração S3false
TDP-Settings.s3Connection.bucketNome do bucket—
TDP-Settings.s3Connection.accessKeyChave de acesso—
TDP-Settings.s3Connection.secretKeyChave secreta—
TDP-Settings.s3Connection.uriEndpoint S3—
TDP-Settings.s3Connection.selfSignedAceitar certificado autoassinadofalse

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​

Terminal input
helm upgrade --install <RELEASE_NAME> \
oci://registry.tecnisys.com.br/tdp/charts/tdp-clickhouse \
-n <NAMESPACE> \
-f meu-values.yaml \
-f values-integracao.yaml