Add kafka-resources for core, connect & schema-registry
This commit is contained in:
parent
a9ec608b3b
commit
bedfb56ba4
25 changed files with 588 additions and 0 deletions
|
@ -0,0 +1,13 @@
|
|||
apiVersion: kafka.strimzi.io/v1beta2
|
||||
kind: KafkaTopic
|
||||
metadata:
|
||||
name: kafka-connect-cluster-configs
|
||||
namespace: kafka
|
||||
labels:
|
||||
strimzi.io/cluster: kafka-cluster
|
||||
spec:
|
||||
partitions: 1
|
||||
replicas: 1
|
||||
config:
|
||||
# http://kafka.apache.org/documentation/#topicconfigs
|
||||
cleanup.policy: compact
|
|
@ -0,0 +1,13 @@
|
|||
apiVersion: kafka.strimzi.io/v1beta2
|
||||
kind: KafkaTopic
|
||||
metadata:
|
||||
name: kafka-connect-cluster-offsets
|
||||
namespace: kafka
|
||||
labels:
|
||||
strimzi.io/cluster: kafka-cluster
|
||||
spec:
|
||||
partitions: 1
|
||||
replicas: 1
|
||||
config:
|
||||
# http://kafka.apache.org/documentation/#topicconfigs
|
||||
cleanup.policy: compact
|
13
kafka-resources/base/kafka-connect/connect-status-topic.yaml
Normal file
13
kafka-resources/base/kafka-connect/connect-status-topic.yaml
Normal file
|
@ -0,0 +1,13 @@
|
|||
apiVersion: kafka.strimzi.io/v1beta2
|
||||
kind: KafkaTopic
|
||||
metadata:
|
||||
name: kafka-connect-cluster-status
|
||||
namespace: kafka
|
||||
labels:
|
||||
strimzi.io/cluster: kafka-cluster
|
||||
spec:
|
||||
partitions: 1
|
||||
replicas: 1
|
||||
config:
|
||||
# http://kafka.apache.org/documentation/#topicconfigs
|
||||
cleanup.policy: compact
|
8
kafka-resources/base/kafka-connect/kustomization.yaml
Normal file
8
kafka-resources/base/kafka-connect/kustomization.yaml
Normal file
|
@ -0,0 +1,8 @@
|
|||
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||
kind: Kustomization
|
||||
resources:
|
||||
- connect-configs-topic.yaml
|
||||
- connect-offsets-topic.yaml
|
||||
- connect-status-topic.yaml
|
||||
- s3-kafka-connect.yaml
|
||||
- s3-kafka-connector.yaml
|
69
kafka-resources/base/kafka-connect/s3-kafka-connect.yaml
Normal file
69
kafka-resources/base/kafka-connect/s3-kafka-connect.yaml
Normal file
|
@ -0,0 +1,69 @@
|
|||
apiVersion: kafka.strimzi.io/v1beta2
|
||||
kind: KafkaConnect
|
||||
metadata:
|
||||
name: kafka-connect-cluster
|
||||
namespace: kafka
|
||||
annotations:
|
||||
strimzi.io/use-connector-resources: "true"
|
||||
spec:
|
||||
replicas: 1
|
||||
bootstrapServers: kafka-cluster-kafka-plainext-bootstrap:9092
|
||||
# tls:
|
||||
# trustedCertificates:
|
||||
# - secretName: my-cluster-cluster-ca-cert
|
||||
# certificate: ca.crt
|
||||
config:
|
||||
group.id: kafka-connect-cluster
|
||||
offset.storage.topic: kafka-connect-cluster-offsets
|
||||
config.storage.topic: kafka-connect-cluster-configs
|
||||
status.storage.topic: kafka-connect-cluster-status
|
||||
key.converter: org.apache.kafka.connect.storage.StringConverter
|
||||
value.converter: io.confluent.connect.avro.AvroConverter
|
||||
key.converter.schema.registry.url: http://89.47.191.210:30081
|
||||
value.converter.schema.registry.url: http://89.47.191.210:30081
|
||||
config.storage.replication.factor: 1
|
||||
offset.storage.replication.factor: 1
|
||||
status.storage.replication.factor: 1
|
||||
resources:
|
||||
requests:
|
||||
cpu: "1"
|
||||
memory: 1Gi
|
||||
limits:
|
||||
cpu: "2"
|
||||
memory: 1Gi
|
||||
externalConfiguration:
|
||||
env:
|
||||
- name: AWS_ACCESS_KEY_ID
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: s3-minio-creds
|
||||
key: AWS_ACCESS_KEY_ID
|
||||
- name: AWS_SECRET_ACCESS_KEY
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: s3-minio-creds
|
||||
key: AWS_SECRET_ACCESS_KEY
|
||||
build:
|
||||
output:
|
||||
type: docker
|
||||
image: platform.sunet.se/benedith/das-kafka-connect-cluster:latest
|
||||
pushSecret: docker-platform-creds
|
||||
plugins:
|
||||
- name: kafka-connect-s3
|
||||
artifacts:
|
||||
- type: zip
|
||||
url: https://platform.sunet.se/benedith/strimzi-kafka-connectors/raw/branch/main/jars/confluentinc-kafka-connect-s3-10.5.17.zip
|
||||
sha512sum: 51dc4eb5e618a7743b3d29c7c5586f5bda00a254a9f105ee816cad7c8e9509a7c1a1ea43351e77dcf97847900c21895962716ed6a1bfb2de4a2b4695233d8804
|
||||
- type: zip
|
||||
url: https://platform.sunet.se/benedith/strimzi-kafka-connectors/raw/branch/main/jars/confluentinc-kafka-connect-avro-converter-7.7.1.zip
|
||||
sha512sum: cebc6fece5c5551d3cff5f1cc8f4660e83da6292a9d695c1f8851af880661b2882e59ef0eeb3df395c3fc314e483cc26961d6a6df271237aab7ef2d8732af3f4
|
||||
- type: zip
|
||||
url: https://platform.sunet.se/benedith/strimzi-kafka-connectors/raw/branch/main/jars/jcustenborder-kafka-connect-transform-common-0.1.0.58.zip
|
||||
sha512sum: 17b80dcf0944baf3024af28a81d61140dcad3e75af4b08807d31349ba0d51cb871dca5f123174973150dd8dace4cf72511c02e4f8c1ec94ac6206d7ccf9431a9
|
||||
- type: jar
|
||||
url: https://platform.sunet.se/benedith/strimzi-kafka-connectors/raw/branch/main/jars/kafka-clients-3.8.0.jar
|
||||
sha512sum: e61c2ab5e7d3daa1e546904512815ee9b3e3ac1cd887aa44ce920bc1597f13cc5f097dfc0c011b4dea23650a5394ba8e060104f0064d1ad37b589b11dcb0fa3c
|
||||
template:
|
||||
pod:
|
||||
imagePullSecrets:
|
||||
- name: docker-platform-creds
|
59
kafka-resources/base/kafka-connect/s3-kafka-connector.yaml
Normal file
59
kafka-resources/base/kafka-connect/s3-kafka-connector.yaml
Normal file
|
@ -0,0 +1,59 @@
|
|||
apiVersion: kafka.strimzi.io/v1beta2
|
||||
kind: KafkaConnector
|
||||
metadata:
|
||||
name: kafka-connect-s3-connector
|
||||
namespace: kafka
|
||||
labels:
|
||||
strimzi.io/cluster: kafka-connect-cluster
|
||||
spec:
|
||||
class: io.confluent.connect.s3.S3SinkConnector
|
||||
tasksMax: 2
|
||||
config:
|
||||
# Core Connector Configuration
|
||||
topics: test-topic
|
||||
|
||||
# S3 Configuration
|
||||
s3.region: us-east-1
|
||||
s3.bucket.name: delta-lake-test
|
||||
s3.part.size: '134217728' # Part size for upload (1 GB/ 128mb)
|
||||
|
||||
# Performance tuning
|
||||
flush.size: 500
|
||||
|
||||
# MinIO (or S3) store URL (use environment variable for security)
|
||||
store.url: https://s3.dco1.safedc.net
|
||||
|
||||
# Storage and Format Configuration
|
||||
storage.class: io.confluent.connect.s3.storage.S3Storage
|
||||
format.class: io.confluent.connect.s3.format.parquet.ParquetFormat
|
||||
partitioner.class: io.confluent.connect.storage.partitioner.TimeBasedPartitioner
|
||||
path.format: "'year'=YYYY/'month'=MM/'day'=dd/'hour'=HH" # Added explicit path format
|
||||
partition.duration.ms: 3600000 # Ensures hourly partitions for manageability
|
||||
|
||||
# Behavior settings
|
||||
behavior.on.null.values: ignore
|
||||
|
||||
# Use Swedish locale
|
||||
locale: sv_SE
|
||||
timezone: Europe/Stockholm
|
||||
# # Serialization
|
||||
# # * Key
|
||||
# key.converter: org.apache.kafka.connect.storage.StringConverter
|
||||
# key.converter.schemas.enable: false # Avro schemas usually not needed for keys
|
||||
# key.converter.schema.registry.url: http://89.47.191.210:30081
|
||||
# # * Value
|
||||
# value.converter: io.confluent.connect.avro.AvroConverter
|
||||
# value.converter.schema.registry.url: http://89.47.191.210:30081
|
||||
# value.converter.schemas.enable: true
|
||||
# schema.compatibility: BACKWARD # Allow schema evolution
|
||||
|
||||
# # Rotation and Batch Handling
|
||||
# rotate.interval.ms: 600000 # reduce overhead in high-throughput scenarios
|
||||
# key.converter.use.latest.version: true
|
||||
# value.converter.use.latest.version: true
|
||||
# # Optional:
|
||||
# # s3.compression.type: gzip
|
||||
# # store.kafka.keys: true
|
||||
# # logging.level: debug
|
||||
|
||||
|
14
kafka-resources/base/kafka-core/kafka-das-topic.yaml
Normal file
14
kafka-resources/base/kafka-core/kafka-das-topic.yaml
Normal file
|
@ -0,0 +1,14 @@
|
|||
apiVersion: kafka.strimzi.io/v1beta2
|
||||
kind: KafkaTopic
|
||||
metadata:
|
||||
name: kafka-das-topic
|
||||
namespace: kafka
|
||||
labels:
|
||||
strimzi.io/cluster: kafka-cluster
|
||||
app.kubernetes.io/part-of: kafka
|
||||
spec:
|
||||
partitions: 1
|
||||
replicas: 1
|
||||
config:
|
||||
# http://kafka.apache.org/documentation/#topicconfigs
|
||||
cleanup.policy: compact
|
|
@ -0,0 +1,59 @@
|
|||
apiVersion: kafka.strimzi.io/v1beta2
|
||||
kind: Kafka
|
||||
metadata:
|
||||
name: kafka-cluster
|
||||
namespace: kafka
|
||||
labels:
|
||||
app.kubernetes.io/part-of: kafka
|
||||
spec:
|
||||
kafka:
|
||||
version: 3.8.0
|
||||
replicas: 1
|
||||
listeners:
|
||||
- name: plainext
|
||||
port: 9092
|
||||
type: nodeport
|
||||
tls: false
|
||||
configuration:
|
||||
brokers:
|
||||
- broker: 0
|
||||
nodePort: 31542
|
||||
- name: tls
|
||||
port: 9093
|
||||
type: internal
|
||||
tls: true
|
||||
- name: external
|
||||
port: 9094
|
||||
tls: false
|
||||
type: nodeport
|
||||
configuration:
|
||||
bootstrap:
|
||||
nodePort: 32100
|
||||
brokers:
|
||||
- broker: 0
|
||||
nodePort: 32700
|
||||
config:
|
||||
offsets.topic.replication.factor: 1
|
||||
transaction.state.log.replication.factor: 1
|
||||
transaction.state.log.min.isr: 1
|
||||
default.replication.factor: 1
|
||||
min.insync.replicas: 1
|
||||
inter.broker.protocol.version: "3.8"
|
||||
storage:
|
||||
type: jbod
|
||||
volumes:
|
||||
- id: 0
|
||||
type: persistent-claim
|
||||
size: 1Gi
|
||||
deleteClaim: false
|
||||
class: csi-sc-cinderplugin
|
||||
zookeeper:
|
||||
replicas: 1
|
||||
storage:
|
||||
type: persistent-claim
|
||||
size: 1Gi
|
||||
deleteClaim: false
|
||||
class: csi-sc-cinderplugin
|
||||
entityOperator:
|
||||
topicOperator: {}
|
||||
userOperator: {}
|
13
kafka-resources/base/kafka-core/kafka-test-topic.yaml
Normal file
13
kafka-resources/base/kafka-core/kafka-test-topic.yaml
Normal file
|
@ -0,0 +1,13 @@
|
|||
apiVersion: kafka.strimzi.io/v1beta2
|
||||
kind: KafkaTopic
|
||||
metadata:
|
||||
name: test-topic
|
||||
labels:
|
||||
strimzi.io/cluster: kafka-cluster
|
||||
app.kubernetes.io/part-of: kafka
|
||||
spec:
|
||||
partitions: 1
|
||||
replicas: 1
|
||||
config:
|
||||
# http://kafka.apache.org/documentation/#topicconfigs
|
||||
cleanup.policy: compact
|
10
kafka-resources/base/kafka-core/kustomization.yaml
Normal file
10
kafka-resources/base/kafka-core/kustomization.yaml
Normal file
|
@ -0,0 +1,10 @@
|
|||
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||
kind: Kustomization
|
||||
|
||||
namespace: kafka
|
||||
commonLabels:
|
||||
app.kubernetes.io/name: core
|
||||
resources:
|
||||
- kafka-persistent-cluster.yaml
|
||||
- kafka-das-topic.yaml
|
||||
- kafka-test-topic.yaml
|
|
@ -0,0 +1,12 @@
|
|||
apiVersion: kafka.strimzi.io/v1beta2
|
||||
kind: KafkaTopic
|
||||
metadata:
|
||||
name: registry-schemas
|
||||
labels:
|
||||
strimzi.io/cluster: kafka-cluster
|
||||
spec:
|
||||
partitions: 1
|
||||
replicas: 1
|
||||
config:
|
||||
# http://kafka.apache.org/documentation/#topicconfigs
|
||||
cleanup.policy: compact
|
|
@ -0,0 +1,36 @@
|
|||
apiVersion: kafka.strimzi.io/v1beta2
|
||||
kind: KafkaUser
|
||||
metadata:
|
||||
name: confluent-schema-registry
|
||||
labels:
|
||||
strimzi.io/cluster: kafka-cluster
|
||||
spec:
|
||||
authentication:
|
||||
type: tls
|
||||
authorization:
|
||||
# Official docs on authorizations required for the Schema Registry:
|
||||
# https://docs.confluent.io/current/schema-registry/security/index.html#authorizing-access-to-the-schemas-topic
|
||||
type: simple
|
||||
acls:
|
||||
# Allow all operations on the registry-schemas topic
|
||||
# Read, Write, and DescribeConfigs are known to be required
|
||||
- resource:
|
||||
type: topic
|
||||
name: registry-schemas
|
||||
patternType: literal
|
||||
operation: All
|
||||
type: allow
|
||||
# Allow all operations on the schema-registry* group
|
||||
- resource:
|
||||
type: group
|
||||
name: schema-registry
|
||||
patternType: prefix
|
||||
operation: All
|
||||
type: allow
|
||||
# Allow Describe on the __consumer_offsets topic
|
||||
- resource:
|
||||
type: topic
|
||||
name: __consumer_offsets
|
||||
patternType: literal
|
||||
operation: Describe
|
||||
type: allow
|
|
@ -0,0 +1,9 @@
|
|||
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||
kind: Kustomization
|
||||
|
||||
namespace: kafka
|
||||
resources:
|
||||
- schema-registry-deployment.yaml
|
||||
- schema-registry-service.yaml
|
||||
- kafka-registry-topic.yaml
|
||||
# - kafka-user-registry.yaml
|
|
@ -0,0 +1,38 @@
|
|||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
annotations:
|
||||
kompose.cmd: kompose --file docker-compose.yml convert
|
||||
kompose.version: 1.34.0 (cbf2835db)
|
||||
labels:
|
||||
app: schema-registry
|
||||
name: schema-registry
|
||||
namespace: kafka
|
||||
spec:
|
||||
replicas: 1
|
||||
selector:
|
||||
matchLabels:
|
||||
app: schema-registry
|
||||
template:
|
||||
metadata:
|
||||
annotations:
|
||||
kompose.cmd: kompose --file docker-compose.yml convert
|
||||
kompose.version: 1.34.0 (cbf2835db)
|
||||
labels:
|
||||
app: schema-registry
|
||||
spec:
|
||||
containers:
|
||||
- name: schema-registry
|
||||
image: confluentinc/cp-schema-registry:6.1.1
|
||||
ports:
|
||||
- containerPort: 8081
|
||||
protocol: TCP
|
||||
env:
|
||||
- name: SCHEMA_REGISTRY_HOST_NAME
|
||||
value: schema-registry
|
||||
- name: SCHEMA_REGISTRY_KAFKASTORE_BOOTSTRAP_SERVERS
|
||||
value: kafka-cluster-kafka-plainext-bootstrap:9092
|
||||
- name: SCHEMA_REGISTRY_LISTENERS
|
||||
value: http://0.0.0.0:8081
|
||||
#hostname: schema-registry
|
||||
#restartPolicy: Always
|
|
@ -0,0 +1,18 @@
|
|||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
annotations:
|
||||
kompose.cmd: kompose --file docker-compose.yml convert
|
||||
kompose.version: 1.34.0 (cbf2835db)
|
||||
labels:
|
||||
app: schema-registry
|
||||
name: schema-registry
|
||||
namespace: kafka
|
||||
spec:
|
||||
type: NodePort
|
||||
ports:
|
||||
- port: 8081
|
||||
targetPort: 8081
|
||||
nodePort: 30081
|
||||
selector:
|
||||
app: schema-registry
|
|
@ -0,0 +1,31 @@
|
|||
apiVersion: kafka.strimzi.io/v1beta2
|
||||
kind: Kafka
|
||||
metadata:
|
||||
name: kafka-cluster
|
||||
namespace: kafka
|
||||
spec:
|
||||
kafka:
|
||||
replicas: 2
|
||||
config:
|
||||
offsets.topic.replication.factor: 1
|
||||
transaction.state.log.replication.factor: 1
|
||||
transaction.state.log.min.isr: 1
|
||||
default.replication.factor: 1
|
||||
min.insync.replicas: 1
|
||||
inter.broker.protocol.version: "3.8"
|
||||
storage:
|
||||
type: jbod
|
||||
volumes:
|
||||
- id: 0
|
||||
type: persistent-claim
|
||||
size: 10Gi
|
||||
deleteClaim: false
|
||||
class: csi-sc-cinderplugin
|
||||
zookeeper:
|
||||
replicas: 1
|
||||
storage:
|
||||
type: persistent-claim
|
||||
size: 10Gi
|
||||
deleteClaim: false
|
||||
class: csi-sc-cinderplugin
|
||||
|
|
@ -0,0 +1,7 @@
|
|||
---
|
||||
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||
kind: Kustomization
|
||||
resources:
|
||||
- ../../../base/kafka-core/
|
||||
patchesStrategicMerge:
|
||||
- kafka-persistent-cluster.yaml
|
8
kafka-resources/overlay/dev/kustomization.yaml
Normal file
8
kafka-resources/overlay/dev/kustomization.yaml
Normal file
|
@ -0,0 +1,8 @@
|
|||
---
|
||||
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||
kind: Kustomization
|
||||
namespace: kafka
|
||||
commonLabels:
|
||||
env: dev
|
||||
resources:
|
||||
- kafka-core/
|
|
@ -0,0 +1,31 @@
|
|||
apiVersion: kafka.strimzi.io/v1beta2
|
||||
kind: Kafka
|
||||
metadata:
|
||||
name: kafka-cluster
|
||||
namespace: kafka
|
||||
spec:
|
||||
kafka:
|
||||
replicas: 3
|
||||
config:
|
||||
offsets.topic.replication.factor: 3
|
||||
transaction.state.log.replication.factor: 3
|
||||
transaction.state.log.min.isr: 2
|
||||
default.replication.factor: 3
|
||||
min.insync.replicas: 2
|
||||
inter.broker.protocol.version: "3.8"
|
||||
storage:
|
||||
type: jbod
|
||||
volumes:
|
||||
- id: 0
|
||||
type: persistent-claim
|
||||
size: 112Gi
|
||||
deleteClaim: false
|
||||
class: csi-sc-cinderplugin
|
||||
zookeeper:
|
||||
replicas: 3
|
||||
storage:
|
||||
type: persistent-claim
|
||||
size: 112Gi
|
||||
deleteClaim: false
|
||||
class: csi-sc-cinderplugin
|
||||
|
|
@ -0,0 +1,7 @@
|
|||
---
|
||||
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||
kind: Kustomization
|
||||
resources:
|
||||
- ../../../base/kafka-core/
|
||||
patchesStrategicMerge:
|
||||
- kafka-persistent-cluster.yaml
|
8
kafka-resources/overlay/prod/kustomization.yaml
Normal file
8
kafka-resources/overlay/prod/kustomization.yaml
Normal file
|
@ -0,0 +1,8 @@
|
|||
---
|
||||
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||
kind: Kustomization
|
||||
namespace: kafka
|
||||
commonLabels:
|
||||
env: prod
|
||||
resources:
|
||||
- kafka-core/
|
|
@ -0,0 +1,31 @@
|
|||
apiVersion: kafka.strimzi.io/v1beta2
|
||||
kind: Kafka
|
||||
metadata:
|
||||
name: kafka-cluster
|
||||
namespace: kafka
|
||||
spec:
|
||||
kafka:
|
||||
replicas: 2
|
||||
config:
|
||||
offsets.topic.replication.factor: 2
|
||||
transaction.state.log.replication.factor: 2
|
||||
transaction.state.log.min.isr: 1
|
||||
default.replication.factor: 2
|
||||
min.insync.replicas: 1
|
||||
inter.broker.protocol.version: "3.8"
|
||||
storage:
|
||||
type: jbod
|
||||
volumes:
|
||||
- id: 0
|
||||
type: persistent-claim
|
||||
size: 20Gi
|
||||
deleteClaim: false
|
||||
class: csi-sc-cinderplugin
|
||||
zookeeper:
|
||||
replicas: 2
|
||||
storage:
|
||||
type: persistent-claim
|
||||
size: 20Gi
|
||||
deleteClaim: false
|
||||
class: csi-sc-cinderplugin
|
||||
|
|
@ -0,0 +1,7 @@
|
|||
---
|
||||
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||
kind: Kustomization
|
||||
resources:
|
||||
- ../../../base/kafka-core/
|
||||
patchesStrategicMerge:
|
||||
- kafka-persistent-cluster.yaml
|
8
kafka-resources/overlay/test/kustomization.yaml
Normal file
8
kafka-resources/overlay/test/kustomization.yaml
Normal file
|
@ -0,0 +1,8 @@
|
|||
---
|
||||
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||
kind: Kustomization
|
||||
namespace: kafka
|
||||
commonLabels:
|
||||
env: test
|
||||
resources:
|
||||
- kafka-core/
|
66
kafka-resources/readme.md
Normal file
66
kafka-resources/readme.md
Normal file
|
@ -0,0 +1,66 @@
|
|||
# Kustomize and Kubernetes Commands
|
||||
|
||||
## Generate and Apply Manifests
|
||||
|
||||
To build a Kubernetes manifest using Kustomize and apply it to the `kafka` namespace:
|
||||
|
||||
```bash
|
||||
kustomize build overlay/test/ > manifest.yaml | kubectl kustomize overlay/test/ > manifest.yaml
|
||||
kubectl -n kafka apply -f manifest.yaml
|
||||
```
|
||||
|
||||
## Viewing the Kustomize Directory
|
||||
|
||||
You can view the configuration for a Kustomize directory as follows:
|
||||
|
||||
```bash
|
||||
kubectl kustomize argo-cd-work/base/kafka-core
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Kustomize Documentation
|
||||
|
||||
For detailed documentation on Kustomization, visit: [Kustomize Documentation](https://kubectl.docs.kubernetes.io/references/kustomize/kustomization/)
|
||||
|
||||
---
|
||||
|
||||
# Applying Overlays
|
||||
|
||||
To apply a specific overlay (e.g., `dev`), first build the configuration and apply it to the `kafka` namespace:
|
||||
|
||||
```bash
|
||||
kustomize build overlay/dev/ > dev.yml
|
||||
kubectl -n kafka apply -f dev.yml
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
# Preparing for Kafka Connect
|
||||
|
||||
Before setting up Kafka Connect, ensure the following steps are completed:
|
||||
|
||||
1. **Create a Docker Image**
|
||||
Build and push the Docker image required for Kafka Connect.
|
||||
|
||||
2. **Create Docker Secrets for Authentication**
|
||||
Generate secrets for S3 login or other credentials.
|
||||
|
||||
3. **Create Platform and S3 Credentials**
|
||||
Create the following Kubernetes secrets for authentication:
|
||||
- `docker-platform-creds`
|
||||
- `s3-minio-creds`
|
||||
|
||||
Verify the secrets are present in the `kafka` namespace:
|
||||
|
||||
```bash
|
||||
kubectl -n kafka get secrets
|
||||
```
|
||||
|
||||
Example output:
|
||||
|
||||
```plaintext
|
||||
NAME TYPE DATA AGE
|
||||
docker-platform-creds kubernetes.io/dockerconfigjson 1 15d
|
||||
s3-minio-creds Opaque 2 13d
|
||||
```
|
Loading…
Add table
Reference in a new issue