Deploy the Kafka Broker in your namespace by creating 2 Custom Resource Definitions (CRD).
First create a secret containing the Certificate Authority (CA).
To do so, connect to the OpenShift console, select the namespace of your team and click the + button in the top-right corner. Then, copy and paste the following content.
kind: Secret
apiVersion: v1
metadata:
name: warehouse-cluster-ca
labels:
strimzi.io/cluster: warehouse
strimzi.io/kind: Kafka
data:
ca.key: >-
LS0tLS1CRUdJTiBQUklWQVRFIEtFWS0tLS0tCk1JSUpRd0lCQURBTkJna3Foa2lHOXcwQkFRRUZBQVNDQ1Mwd2dna3BBZ0VBQW9JQ0FRRFFwaXhJOC9UZHNzZ0kKWkNPQXJHNU16ejlsRm00eDV6eFlhS09NdXh4cEg1Wkc2cHNuNkl1MEQramNGVFgrZkJvWGVVOTVSRXZGVHBYZQpzSHJEWXpaN3FHdmRmbkxocGJiQ2tGQ0R1aS92R1psMGFuQmwxWlE4NUptOC9Ra2crTWExQ3dIRUZmTDFsZjVsClg3S2tEaEN6VHp2YVVjL1VBeFJVMlBWbENZUXNuam9IMWhwTGVZMjBuVUNiUzlwdkVUWlltM0ViWUZKZG91QVMKT0kwQ0xYdjd6Vyt0di9JRmp3RFZSWThCZFlyRlhONGNtNnViMzNBUU8rMjNDU1hURkVaS2JRZUpXejdSQXRjTwpEd0hlUk5pN3lxYVNWYjdMYkhtR21xY3pacXFvelVXa0s3cXNZV1EvQ3drdEExRGY0by90eHY4K1E5aTMrbU56CnM0WTV5SmZwNnIzWUFxUkdUYnlwbGRjVU5KazE1MERjSlZiVE5Lb0pzdjhBTjE1TkJYeTRCazZzSDcwUWhoSjYKOFdkOVdqTWFNUWhBanpWWU96N0NDQ2l6WVN5N0F1bnhudFpZTm0rc3ZZeERHem5ITW5jMmF6TEtEMCtBVHhTQwprTi9JOC9NaVdQNHQwcndhbUxVenJJRHg1WFB3Y3l6MFpzTjJxQ2paWlpVN1RaLzVhRmRPNERiWHN1NkVCS0loCnVaMWpzSFdhZWJUTldreXh6TGZZNjVqbFNteGRBU0NPUnB0eGc2SWxQamorclRMbS9UUVE5cWlWUHJ2SnBaVmYKZ1U5MFJuQ09TZFdadi9rRk1rV1VTc01GRkJmbFFkVmI0bCszclRlaXo3TjJobWt4MXFFYUt4M0oySHNEQ0pDZwpyWGg2K1hvRnpJeXNmS2RqeWFYalM3SEdjWUE4QlFJREFRQUJBb0lDQVFDeStWZVRYRy8ybTV5cVZmdCtMR3FRCnlGV0F5TFROYWFTQjBZQTQvMmRuWlFqcTIrTXJZSFkxaGxBZ09MR1FFYlB2M3NjbEprZzRmeWhmVk5KNU4ybE0KdVRPTlV5SUlITFdnUDFwUkpDeHAxSE9sUUlnWlVoTk9DR2szaTNXQkt1U0g5MkVVYWg5Mk9hdDJHWmlLME9YUwphV3pWNE1kOC9RYzdvTDhlWkFOVW9vVDBvOXI2VXRJUzA3RFBoVWxoYkVwSngweEdSMkZmb0k3RUVtNGlLQkhwCjlGYVBtODVtcGp2NHRTbnQvbjJDdmg1b084QUFmTEVMdTl3MDNVdnN1Nzl2cUFhRzlCWDJBNUdsSllwY3RvR1MKMUVuOXpEOVZEejlQRHVuTlZZdWVNRFpFbEo0VHI1YmwzUG1KK3dZc2haTWdTMG8yaHN3blJFaDZ2c3VzVlR5NApoR0M0bTZxV0pTcHlycU9VRlFWenVQSHZGbkhXOVRLZXhnc2VLMkRKRVpDMy84dnoxbkZtdmdhZDJRQ1c4UVE5Ck5JeXloK1JyMC96YnlFaStoM3hzMkFhL1ZTVm5yWWVxMzMvMldZdzFRMTFuaEFoM2JUSGo3M05iR25uT3NiK0UKcnAxOFRHOTUyZDlVZE1FcXd3QkJualVxdFhKbUF4Z3ZFWGh5UkFSakJFRjUrdmRJdjlWQkxBeFFYR2Z3MTFvdApLN1NYLzNFbHpHZnExczBBNlZZME5JZVlUaURqQUplU3JkNmcxc00rck14azN4QkZJdEVYR21YYXhEMW53VklrCkhya085Nktidi9td1Q2VWZraS9CMmpRRmRqWTNGdTdrRVoxTFFnMFVid3A0VXFaUjJqaTFFSld2VVpoa2FTZEwKQmRRRTYraGttdnZ2M2p0S1RSUDBBUUtDQVFFQStRMTVEay9TQUlOTFc3TjkwZTg5bGVHRXdKeTgyVDNXT1p6MAplSm81UWx2eXhhODQvc3RDbmdPeERtT1NkMWVnZEVpVS9BRWgxNVk4aEJudFBYZVY3QmRjT1NUclpiU011T2hpCjdBWmVEUjR0NGZQRzVIRDVyOEx0RStIdE5wWFNjN3BNdXRXZDE1UEFPUUtGQmt6YjVVVVJXdFhhSFBHbnMxSVMKRFhsWmpFOG5LaSt6UHpzTGxiYzlJczhBejJ2d0JreUVFQU9BZUtjSHRZYzBzT2VidUFpcmd6STk4L1RJS1JVQQpjZVYvc3FSR0l6Wm1lZGF0d1ZiTCtPZ0Q0c3BPd2JlYVpDY1FocHRKZ1djZmlUYU1NT296am85dFZNMUNSUGhOClErV1Mwa2pob0czdTE1S2k4ZjhxaGZ3b1l5YWh5ck9oZFN6aFc2amxBcHdaWEt4TnBRS0NBUUVBMW5ncjk3UVQKd3Npd0hteEtpSlRmaEFXbCtTUm5rT1ZqZkxDSkNiV0ZZU2c3VXBvS21QWGx2Q0pWbWQ2QTFCYWNhbnFqU01mRwo4ZjJnRFBISHh4K0tNM28wZ24wRDlDNWtBSUt5YTVkMGxrN1J6M0xXZWpXeks5WC9xR1VaSldJRTBla1VobW9lCnVGaHV6a3BlSW5hV2dxZDVEcU1oaHk0VG1NeWlaa09Fd0lHTkNxYXhYdWg1Qy9JN1hUNTEwNHRwZ1ErWXVrVHgKWGVtVnB3ckU3NGsxOWhZZGRzRS84T1pLUzc2Y205TmZJV3JPckFFZVV5RWFGekJPN0lQeVBCejg5Kys5b2xmYwpRQVlHRzdSYXZtN2RGVERRb01hQXRwbEFBYjZpNTlZSTV5SEx4YXk5QkxpbmMwOE1aZ253U2lIQXMxZjBzb2l0CnhGME1jbjREQlN1bTRRS0NBUUVBcDlxbXZqaVo1dktXZGFXUnBVNURDYU5ISDdJRHJiNzVoVGI5cGRMN3lIZkUKTmV3VTA5VVdmdjBwOWZLeUluRVNtWXpack1idWtpaVZmTXNrbEFybkpvblFCRXVYdzZKZVBibVNBbFdBU2dNUApGWHlCampGK2R6RS9LK2xYUVRUVTlGNlpuRXFnNlV5UmYxcnRZUU9vS092VitJeXRSbGl3bURFMkxaS2VBZXpQCkRxVzdmMkJDUEpPVlJzS1JYenIyT0tpVlVWMnExcVpza2JJZ2x5SmlWelN3cytuR3k0Y3M2Rk5aUzJwTUdKQ1QKSE9SclNLNmh5TzdBNW04cFAwN3VxYTBmQjJVMHhDUWc5SEFXVnhwR2ZpazZ1bGg4YlcweHZ0NUM1UUh6WkhydQpabnZ4UDZWNjRQTURLKzU1SWVwRm5TSllMV3NrTCt5eS9JRk1ycU1LYVFLQ0FRQTErdE1lS2szYTljWVdNaTFrClNRd2szNE1SdlE3d0VqeERFdSs2Nk53a1F3c0RWRkFjaGErSDlhQlQ5UU81M2VNS2pjbHhOUThtc3k1SWM4WlQKb09XWTVVWTRIWjBVSldUNEYrMHVWVlY3eTJUVmNOTDR1WEZhTkNkL3k4cFRkV00vTGdvRGRzdzZtODl2enBuNAoxSjQzVGsyUzJJNUV4dDBaMVU5K3E3bks5aEI0d05IZDBHYy9FWDNOanozNnU1a1hhY1NJQlhnMnFlY0h2eGNvCkx3SE02VzRMQ01LK01FZzgza0h1bW5uVUlGemFRQUhRN0lEem15NFNLM2VabDdZMzlUaG1sdlNSakxLVzRJTUMKY1VibDRYNXhLT1VXa0dYaXlvZVlFRy8zTkxOa0VvRVVvaUZMVFhjU2E2ZjJFSjYreFFHS3VnbjZaVzBQbUJYTQpoRnNoQW9JQkFGak1UZlVNcC96QnBHWUpvY0Rxb0dzMGhIK2xWNXVvaU1oOEsxVytlUzZLU0Y1N2hXS3hmTjBUClRVSHNDcUFoYXpiamFDVXl0QnZvL3NQeVN6WmNGMDcwRVVicm91UVFSMUdQSWtRQnJUY3NubXNHTTV6LzBkZysKQkJ6eEZhQVJDcmhXRzRqNy9Nemg4Z3VHQXpnMENPRGNVUnpsUEFhcmE5U1RxTnU1MWZWWjZOaTJUNzRzTFdTbApRR1hUejl4QzZxKzVmQ1BkbVJBbi9HZWdMcXRxeG5MZnZ3M0pRYnlyUzRPRmtyWk1tV0hRemxDdGZtemtpZm5hClJFUnAwNElIQWFLeUp1SjlOOGxHdkd4ZmxCbFlvdEhuajhVcXF4R1g3eE5XeTRTT2lNR0d1c2F5anNBQTh3Z24KcDBmaEJxajZLSnQ5bFZaUUtaM3QxN3FGY003R1ROVT0KLS0tLS1FTkQgUFJJVkFURSBLRVktLS0tLQo=
type: Opaque
---
kind: Secret
apiVersion: v1
metadata:
name: warehouse-cluster-ca-cert
labels:
strimzi.io/cluster: warehouse
strimzi.io/kind: Kafka
data:
ca.crt: >-
LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUZMVENDQXhXZ0F3SUJBZ0lVYnp3RTJXaVVoT3BJMFgzUkRoRmx3aEZ3QzBVd0RRWUpLb1pJaHZjTkFRRU4KQlFBd0xURVRNQkVHQTFVRUNnd0thVzh1YzNSeWFXMTZhVEVXTUJRR0ExVUVBd3dOWTJ4MWMzUmxjaTFqWVNCMgpNREFlRncweU16QXhNRGt4TkRFMk5UVmFGdzB5TkRBeE1Ea3hOREUyTlRWYU1DMHhFekFSQmdOVkJBb01DbWx2CkxuTjBjbWx0ZW1reEZqQVVCZ05WQkFNTURXTnNkWE4wWlhJdFkyRWdkakF3Z2dJaU1BMEdDU3FHU0liM0RRRUIKQVFVQUE0SUNEd0F3Z2dJS0FvSUNBUURRcGl4STgvVGRzc2dJWkNPQXJHNU16ejlsRm00eDV6eFlhS09NdXh4cApINVpHNnBzbjZJdTBEK2pjRlRYK2ZCb1hlVTk1UkV2RlRwWGVzSHJEWXpaN3FHdmRmbkxocGJiQ2tGQ0R1aS92CkdabDBhbkJsMVpRODVKbTgvUWtnK01hMUN3SEVGZkwxbGY1bFg3S2tEaEN6VHp2YVVjL1VBeFJVMlBWbENZUXMKbmpvSDFocExlWTIwblVDYlM5cHZFVFpZbTNFYllGSmRvdUFTT0kwQ0xYdjd6Vyt0di9JRmp3RFZSWThCZFlyRgpYTjRjbTZ1YjMzQVFPKzIzQ1NYVEZFWktiUWVKV3o3UkF0Y09Ed0hlUk5pN3lxYVNWYjdMYkhtR21xY3pacXFvCnpVV2tLN3FzWVdRL0N3a3RBMURmNG8vdHh2OCtROWkzK21OenM0WTV5SmZwNnIzWUFxUkdUYnlwbGRjVU5KazEKNTBEY0pWYlROS29Kc3Y4QU4xNU5CWHk0Qms2c0g3MFFoaEo2OFdkOVdqTWFNUWhBanpWWU96N0NDQ2l6WVN5NwpBdW54bnRaWU5tK3N2WXhER3puSE1uYzJhekxLRDArQVR4U0NrTi9JOC9NaVdQNHQwcndhbUxVenJJRHg1WFB3CmN5ejBac04ycUNqWlpaVTdUWi81YUZkTzREYlhzdTZFQktJaHVaMWpzSFdhZWJUTldreXh6TGZZNjVqbFNteGQKQVNDT1JwdHhnNklsUGpqK3JUTG0vVFFROXFpVlBydkpwWlZmZ1U5MFJuQ09TZFdadi9rRk1rV1VTc01GRkJmbApRZFZiNGwrM3JUZWl6N04yaG1reDFxRWFLeDNKMkhzRENKQ2dyWGg2K1hvRnpJeXNmS2RqeWFYalM3SEdjWUE4CkJRSURBUUFCbzBVd1F6QWRCZ05WSFE0RUZnUVVRc2trSU05UFZSd2gyK1NvSUczdlZOTDhzem93RWdZRFZSMFQKQVFIL0JBZ3dCZ0VCL3dJQkFEQU9CZ05WSFE4QkFmOEVCQU1DQVFZd0RRWUpLb1pJaHZjTkFRRU5CUUFEZ2dJQgpBTCtJQzZTa3UxWXRuOXV0RFV0UzRjVitDSWp0VWN6dk9nUWdORDdZYTJHcGtBdzl4TUNUbmh6VFRiTVNvM1VHClluMU1WaVRlZWtFY1RwMlR2TXRibHoyWEtQZTJyS004eFpvNEJPUjNzYk5nRU5jdWxNaWdudDdINEFoRXZIWG8KbU9YTnFmRm80ZlZBNHY2YnlDdTJZUktsUHBTK1JxaFF5dVpVejlYMFMremhVN1E0Qzk2OFJnT3pvcWU2VzZPUgo1WmEzRGN2Zk9TMm5ST3MwSU42YzUzN0tQMlFuYkFlUTZRTk9sR1ZRT1ZINGtKVExPY294VFFMUi9wYnhlMkpaCmlVSHc2MWdvOWc1amdjOVVubXVGckdZMEEycVBHSlhORHliTU43L0UwR3c0WDZtM3I2SVBMNjZjY3REZ0JPM1AKUGpkaTZ6N29hSms1L3dhQ244ZUVIUE9vd1Y2dVZJK01MMU5xYnlKcFhVMHc3K3BVYmx0NC93NDJpL0VTdkMzTgo5QkswbU9yRHRIT2tEa1JCUGxEWWcwMFJIQ2ZUdUlmZ0ExV2FXQWtwOERIZUlBOTJBYVVqcWNDUjk4K0NxV3BpCmJYa2d6bDJBNXVjRGtqZUo4cnlTa0xNMXZGaUhIKzNxc1hNZ0k3djV0SHBTQW9WMmVuUVM2S3VWWXhhSU1jRlUKYlZGSmJrYnpSMzFuMTRWYTRKOUVvM1N6dC9XY2JrWGJmOVdIMi85SWczSTNTNUFYN2dkb3dLc2srZVViWTdyeQpJcjBoQVRrYVl3TEN6Rk4wcnN2dDcwMVFCb3ZURWJqRWxCc3BVdTNKR3dINXBxYnc4RHlaMkRDb1hpVnFYNTI0CjFQVzAyN3ZPemwreTA1TTNTbGFBdUNsa0JYNlFaVVpLYThkNk1mTUd3Q09wCi0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K
ca.p12: >-
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
ca.password: Q1NqSTlVMjFJb0ZK
type: Opaque
Then add the CRD that create the Kafka Cluster.
To do so, connect to the OpenShift console, select the namespace of your team and click the + button in the top-right corner. Then, copy and paste the following content.
apiVersion: kafka.strimzi.io/v1beta2
kind: Kafka
metadata:
name: warehouse
spec:
clusterCa:
generateCertificateAuthority: false
kafka:
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.2'
storage:
type: ephemeral
listeners:
- authentication:
type: scram-sha-512
name: plain
port: 9092
type: internal
tls: false
- authentication:
type: scram-sha-512
name: tls
port: 9093
type: route
tls: true
version: 3.2.3
replicas: 3
entityOperator:
topicOperator: {}
userOperator: {}
zookeeper:
storage:
type: ephemeral
replicas: 3