Helm
This page describes installing Standalone K2K in Kubernetes via Helm.
Last updated
Was this helpful?
Was this helpful?
k2k:
replicationConfig:
name: "k2k-demo-env"
features:
exactlyOnce: disabled
headerReplication: disabled
schemaMapping: disabled
optimizeOffsetCommitPartition: enabled
tracingHeaders: disabled
autoCreateControlTopics: enabled
autoCreateTopics: enabled
coordination:
kafka:
assignment:
topic: "__k2k-app-eot-assignment"
commit:
topic: "__k2k-app-eot-consumer-offsets"
group: "k2k.eot"
source:
kafka:
common:
"bootstrap.servers": "source-kafka:9092"
consumer:
"group.id": "k2k.eot"
target:
kafka:
common:
servers: "target-kafka:9092"
producer:
replication:
- source:
name: source
topic:
- "topic1"
- "topic2"
- sink:
name: sink-source-topic
topic:
prefix: "k2k.eot."
partition: sourceserviceAccount:
create: true
name: msk-serverless-sa
annotations:
eks.amazonaws.com/role-arn: arn:aws:iam::<AccountId>:role/MSKAccessRole
k2k:
replicationConfig:
name: "aws-k2k"
coordination:
kafka:
commit:
group: "k2k.prod-to-dr.coordination" #required
topic: "__k2k_consumer-offsets" #optional
syncTimeout: "10 seconds" #optional
batchSize: 100 #optional
batchTimeout: "5 seconds" #optional
consumer:
group.id: "demo-k2k-coordination"
client.id: "test-coordination"
security.protocol: "SASL_SSL"
sasl.mechanism: "AWS_MSK_IAM"
sasl.jaas.config: "software.amazon.msk.auth.iam.IAMLoginModule required;"
sasl.client.callback.handler.class: "software.amazon.msk.auth.iam.IAMClientCallbackHandler"
connection:
servers: "boot.c1.kafka.eu-west-3.amazonaws.com:9098"
source:
kafka:
consumer:
client.id: "demo-k2k"
security.protocol: "SASL_SSL"
sasl.mechanism: "AWS_MSK_IAM"
sasl.jaas.config: "software.amazon.msk.auth.iam.IAMLoginModule required;"
sasl.client.callback.handler.class: "software.amazon.msk.auth.iam.IAMClientCallbackHandler"
connection:
servers: "boot.c1.kafka.eu-west-3.amazonaws.com:9098"
target:
kafka:
producer:
security.protocol: "SASL_SSL"
sasl.mechanism: "AWS_MSK_IAM"
sasl.jaas.config: "software.amazon.msk.auth.iam.IAMLoginModule required;"
sasl.client.callback.handler.class: "software.amazon.msk.auth.iam.IAMClientCallbackHandler"
connection:
servers: "boot.c2.kafka.eu-west-3.amazonaws.com:9098"
replication:
- source:
name: source #required
topic: #required
- "mysource-topic-1"
- sink:
name: sink #required
partition: source #required
topic:
prefix: "aws."
suffix: ".copy"k2k:
additionalEnv:
- name: SASL_JAAS_CONFIG
valueFrom:
secretKeyRef:
name: kafka-jaas-secret
key: sasl-jaas.conf
replicationConfig:
name: "demo-k2k"
features:
exactlyOnce: disabled
headerReplication: disabled
schemaMapping: disabled
offsetCommitOptimizePartition: enabled
tracingHeaders: disabled
autoCreateControlTopics: enabled
autoCreateTopics: enabled
coordination:
kafka:
commit:
group: "k2k.prod-to-dr.coordination" #required
topic: "__k2k_consumer-offsets" #optional
syncTimeout: "10 seconds" #optional
batchSize: 100 #optional
batchTimeout: "5 seconds" #optional
consumer:
group.id: "demo-k2k-coordination"
client.id: "demo-k2k"
security.protocol: "SASL_PLAINTEXT"
sasl.mechanism: "SCRAM-SHA-512"
sasl.jaas.config: ${env:string:SASL_JAAS_CONFIG}
connection:
servers: "kafka-us-dev-1.domain.io:9093"
source:
kafka:
consumer:
group.id: "demo-k2k-consumer"
client.id: "demo-k2k"
security.protocol: "SASL_PLAINTEXT"
sasl.mechanism: "SCRAM-SHA-512"
sasl.jaas.config: ${env:string:SASL_JAAS_CONFIG}
connection:
servers: "kafka-us-dev-1.domain.io:9093"
target:
kafka:
producer:
group.id: "demo-k2k-producer"
client.id: "demo-k2k"
security.protocol: "SASL_PLAINTEXT"
sasl.mechanism: "SCRAM-SHA-512"
sasl.jaas.config: ${env:string:SASL_JAAS_CONFIG}
connection:
servers: "kafka-us-dev-2.domain.io:9093"
replication:
- source:
name: source #required
topic: #required
- "airline-customers"
- sink:
name: sink #required
partition: source #required
topic:
prefix: "demo."
suffix: ".copy"
additionalVolumeMounts:
- name: external-kafka-ca-cert
mountPath: "/etc/cacert/caroot.pem"
subPath: "caroot.pem"
- name: external-kafka-certs-all
mountPath: "/etc/clientcert/all.pem"
subPath: "all.pem"
additionalVolumes:
- name: external-kafka-ca-cert
secret:
secretName: external-kafka-ca-cert
- name: external-kafka-certs-all
secret:
secretName: external-kafka-certs-all
k2k:
acceptEULA: true
otelConfig:
serviceName: "k2k"
metricsExporter: "prometheus"
tracesExporter: "none"
logsExporter: "none"
prometheusHost: "0.0.0.0"
prometheusPort: "9090"
replicationConfig:
name: "k2k-demo-env"
features:
exactlyOnce: disabled
headerReplication: disabled
schemaMapping: disabled
offsetCommitOptimizePartition: enabled
tracingHeaders: disabled
autoCreateControlTopics: enabled
autoCreateTopics: enabled
coordination:
kafka:
assignment:
topic: "__k2k-app-eot-assignment"
commit:
topic: "__k2k-app-eot-consumer-offsets"
group: "k2k.eot"
source:
kafka:
consumer:
"group.id": "k2k.eot"
"security.protocol": "SSL"
"ssl.truststore.type": "PEM"
"ssl.keystore.type": "PEM"
"ssl.truststore.location": "/etc/cacert/caroot.pem"
"ssl.keystore.location": "/etc/clientcert/all.pem"
connection:
servers: "kafka-us-dev-1.domain.io:9093"
target:
kafka:
producer:
"security.protocol": "SSL"
"ssl.truststore.type": "PEM"
"ssl.keystore.type": "PEM"
"ssl.truststore.location": "/etc/cacert/caroot.pem"
"ssl.keystore.location": "/etc/clientcert/all.pem"
connection:
servers: "kafka-us-dev-1.domain.io:9093"
replication:
- source:
name: source
topic:
- "airline-customers"
- "airline-customers-name"
- sink:
name: sink-source-topic
topic:
prefix: "k2k.eot."
partition: source# serviceAccount is the Service account to be used by Lenses to deploy apps
serviceAccount:
create: true
annotations: {}
name: lenses-k2khelm repo add lensesio https://helm.repo.lenses.io/
helm repo updatehelm install lenses-k2k lensesio/lenses-k2k \
--values values.yaml \
--create-namespace --namespace lenses-k2k \
--version 1.0.0