Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,7 @@ jobs:
kubectl create -f https://github.com/kubernetes-csi/external-snapshotter/raw/master/client/config/crd/snapshot.storage.k8s.io_volumesnapshotclasses.yaml
kubectl create -f https://github.com/kubestash/installer/raw/master/crds/kubestash-crds.yaml
kubectl create -f https://github.com/appscode-cloud/catalog/raw/master/crds/catalog.appscode.com_mongodbbindings.yaml
kubectl create -f https://github.com/voyagermesh/installer/raw/master/charts/voyager-gateway/crds/generated/gateway.envoyproxy.io_envoyproxies.yaml
kubectl create -f https://github.com/envoyproxy/gateway/raw/main/charts/gateway-helm/crds/generated/gateway.envoyproxy.io_envoyproxies.yaml
kubectl create -f https://github.com/voyagermesh/installer/raw/master/charts/gateway-api/crds/gateway.networking.k8s.io_gatewayclasses.yaml
kubectl create -f https://github.com/fluxcd/helm-controller/raw/main/config/crd/bases/helm.toolkit.fluxcd.io_helmreleases.yaml
kubectl create -f https://github.com/fluxcd/source-controller/raw/main/config/crd/bases/source.toolkit.fluxcd.io_helmrepositories.yaml
Expand Down
1 change: 1 addition & 0 deletions docs/guides/kafka/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -62,6 +62,7 @@ KubeDB supports The following Kafka versions. Supported version are applicable f
- `3.7.2`
- `3.8.1`
- `3.9.0`
- `4.0.0`

> The listed KafkaVersions are tested and provided as a part of the installation process (ie. catalog chart), but you are open to create your own [KafkaVersion](/docs/guides/kafka/concepts/kafkaversion.md) object with your custom Kafka image.

Expand Down
2 changes: 1 addition & 1 deletion docs/guides/kafka/autoscaler/compute/combined.md
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ metadata:
namespace: demo
spec:
replicas: 2
version: 3.9.0
version: 4.0.0
podTemplate:
spec:
containers:
Expand Down
2 changes: 1 addition & 1 deletion docs/guides/kafka/autoscaler/compute/topology.md
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@ metadata:
name: kafka-prod
namespace: demo
spec:
version: 3.9.0
version: 4.0.0
topology:
broker:
replicas: 2
Expand Down
2 changes: 1 addition & 1 deletion docs/guides/kafka/autoscaler/storage/kafka-combined.md
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,7 @@ metadata:
namespace: demo
spec:
replicas: 2
version: 3.9.0
version: 4.0.0
podTemplate:
spec:
containers:
Expand Down
2 changes: 1 addition & 1 deletion docs/guides/kafka/autoscaler/storage/kafka-topology.md
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,7 @@ metadata:
name: kafka-prod
namespace: demo
spec:
version: 3.9.0
version: 4.0.0
topology:
broker:
replicas: 2
Expand Down
16 changes: 5 additions & 11 deletions docs/guides/kafka/cli/cli.md
Original file line number Diff line number Diff line change
Expand Up @@ -65,9 +65,6 @@ $ kubectl get kf kafka -n demo -oyaml
apiVersion: kubedb.com/v1alpha2
kind: Kafka
metadata:
annotations:
kubectl.kubernetes.io/last-applied-configuration: |
{"apiVersion":"kubedb.com/v1alpha2","kind":"Kafka","metadata":{"annotations":{},"name":"kafka","namespace":"demo"},"spec":{"authSecret":{"name":"kafka-admin-cred"},"enableSSL":true,"healthChecker":{"failureThreshold":3,"periodSeconds":20,"timeoutSeconds":10},"keystoreCredSecret":{"name":"kafka-keystore-cred"},"storageType":"Durable","deletionPolicy":"DoNotTerminate","tls":{"certificates":[{"alias":"server","secretName":"kafka-server-cert"},{"alias":"client","secretName":"kafka-client-cert"}],"issuerRef":{"apiGroup":"cert-manager.io","kind":"Issuer","name":"kafka-ca-issuer"}},"topology":{"broker":{"replicas":3,"resources":{"limits":{"memory":"1Gi"},"requests":{"cpu":"500m","memory":"1Gi"}},"storage":{"accessModes":["ReadWriteOnce"],"resources":{"requests":{"storage":"1Gi"}},"storageClassName":"standard"},"suffix":"broker"},"controller":{"replicas":3,"resources":{"limits":{"memory":"1Gi"},"requests":{"cpu":"500m","memory":"1Gi"}},"storage":{"accessModes":["ReadWriteOnce"],"resources":{"requests":{"storage":"1Gi"}},"storageClassName":"standard"},"suffix":"controller"}},"version":"3.9.0"}}
creationTimestamp: "2023-03-29T07:01:29Z"
finalizers:
- kubedb.com
Expand All @@ -78,7 +75,7 @@ metadata:
uid: ed5f6197-0238-4aba-a7d9-7dc771b2564c
spec:
authSecret:
name: kafka-admin-cred
name: kafka-auth
enableSSL: true
healthChecker:
failureThreshold: 3
Expand Down Expand Up @@ -136,7 +133,7 @@ spec:
storage: 1Gi
storageClassName: standard
suffix: controller
version: 3.9.0
version: 4.0.0
status:
conditions:
- lastTransitionTime: "2023-03-29T07:01:29Z"
Expand Down Expand Up @@ -180,9 +177,6 @@ $ kubectl get kf kafka -n demo -ojson
"apiVersion": "kubedb.com/v1alpha2",
"kind": "Kafka",
"metadata": {
"annotations": {
"kubectl.kubernetes.io/last-applied-configuration": "{\"apiVersion\":\"kubedb.com/v1alpha2\",\"kind\":\"Kafka\",\"metadata\":{\"annotations\":{},\"name\":\"kafka\",\"namespace\":\"demo\"},\"spec\":{\"authSecret\":{\"name\":\"kafka-admin-cred\"},\"enableSSL\":true,\"healthChecker\":{\"failureThreshold\":3,\"periodSeconds\":20,\"timeoutSeconds\":10},\"keystoreCredSecret\":{\"name\":\"kafka-keystore-cred\"},\"storageType\":\"Durable\",\"deletionPolicy\":\"DoNotTerminate\",\"tls\":{\"certificates\":[{\"alias\":\"server\",\"secretName\":\"kafka-server-cert\"},{\"alias\":\"client\",\"secretName\":\"kafka-client-cert\"}],\"issuerRef\":{\"apiGroup\":\"cert-manager.io\",\"kind\":\"Issuer\",\"name\":\"kafka-ca-issuer\"}},\"topology\":{\"broker\":{\"replicas\":3,\"resources\":{\"limits\":{\"memory\":\"1Gi\"},\"requests\":{\"cpu\":\"500m\",\"memory\":\"1Gi\"}},\"storage\":{\"accessModes\":[\"ReadWriteOnce\"],\"resources\":{\"requests\":{\"storage\":\"1Gi\"}},\"storageClassName\":\"standard\"},\"suffix\":\"broker\"},\"controller\":{\"replicas\":3,\"resources\":{\"limits\":{\"memory\":\"1Gi\"},\"requests\":{\"cpu\":\"500m\",\"memory\":\"1Gi\"}},\"storage\":{\"accessModes\":[\"ReadWriteOnce\"],\"resources\":{\"requests\":{\"storage\":\"1Gi\"}},\"storageClassName\":\"standard\"},\"suffix\":\"controller\"}},\"version\":\"3.9.0\"}}\n"
},
"creationTimestamp": "2023-03-29T07:01:29Z",
"finalizers": [
"kubedb.com"
Expand All @@ -195,7 +189,7 @@ $ kubectl get kf kafka -n demo -ojson
},
"spec": {
"authSecret": {
"name": "kafka-admin-cred"
"name": "kafka-auth"
},
"enableSSL": true,
"healthChecker": {
Expand Down Expand Up @@ -356,7 +350,7 @@ NAMESPACE NAME TYPE VERSIO
demo appbinding.appcatalog.appscode.com/kafka kubedb.com/kafka 3.9.0 45m

NAMESPACE NAME TYPE DATA AGE
demo secret/kafka-admin-cred kubernetes.io/basic-auth 2 46m
demo secret/kafka-auth kubernetes.io/basic-auth 2 46m
demo secret/kafka-broker-config Opaque 3 46m
demo secret/kafka-client-cert kubernetes.io/tls 3 46m
demo secret/kafka-controller-config Opaque 3 45m
Expand Down Expand Up @@ -521,7 +515,7 @@ Metadata:
UID: ed5f6197-0238-4aba-a7d9-7dc771b2564c
Spec:
Auth Secret:
Name: kafka-admin-cred
Name: kafka-auth
Enable SSL: true
Health Checker:
Failure Threshold: 3
Expand Down
28 changes: 14 additions & 14 deletions docs/guides/kafka/clustering/combined-cluster/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ demo Active 9s

## Create Standalone Kafka Cluster

Here, we are going to create a standalone (i.e. `replicas: 1`) Kafka cluster in Kraft mode. For this demo, we are going to provision kafka version `3.9.0`. To learn more about Kafka CR, visit [here](/docs/guides/kafka/concepts/kafka.md). visit [here](/docs/guides/kafka/concepts/kafkaversion.md) to learn more about KafkaVersion CR.
Here, we are going to create a standalone (i.e. `replicas: 1`) Kafka cluster in Kraft mode. For this demo, we are going to provision kafka version `3.9.0`. To learn more about Kafka CR, visit [here](/docs/guides/kafka/concepts/kafka.md). Visit [here](/docs/guides/kafka/concepts/kafkaversion.md) to learn more about KafkaVersion CR.

```yaml
apiVersion: kubedb.com/v1alpha2
Expand All @@ -47,7 +47,7 @@ metadata:
namespace: demo
spec:
replicas: 1
version: 3.9.0
version: 4.0.0
storage:
accessModes:
- ReadWriteOnce
Expand Down Expand Up @@ -97,7 +97,7 @@ NAME TYPE VERSION
appbinding.appcatalog.appscode.com/kafka-standalone kubedb.com/kafka 3.9.0 8m56s

NAME TYPE DATA AGE
secret/kafka-standalone-admin-cred kubernetes.io/basic-auth 2 8m59s
secret/kafka-standalone-auth kubernetes.io/basic-auth 2 8m59s
secret/kafka-standalone-config Opaque 2 8m59s

NAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS AGE
Expand All @@ -116,7 +116,7 @@ metadata:
namespace: demo
spec:
replicas: 3
version: 3.9.0
version: 4.0.0
storage:
accessModes:
- ReadWriteOnce
Expand Down Expand Up @@ -167,7 +167,7 @@ NAME TYPE VERSION
appbinding.appcatalog.appscode.com/kafka-multinode kubedb.com/kafka 3.9.0 6m2s

NAME TYPE DATA AGE
secret/kafka-multinode-admin-cred kubernetes.io/basic-auth 2 6m7s
secret/kafka-multinode-auth kubernetes.io/basic-auth 2 6m7s
secret/kafka-multinode-config Opaque 2 6m7s

NAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS AGE
Expand All @@ -182,14 +182,14 @@ We will create a Kafka topic using `kafka-topics.sh` script which is provided by

```bash
$ kubectl exec -it -n demo kafka-multinode-0 -- bash
root@kafka-multinode-0:~# pwd
kafka@kafka-multinode-0:~# pwd
/opt/kafka
```

You will find a file named `clientauth.properties` in the config directory. This file is generated by the operator which contains necessary authentication/authorization configurations that are required during publishing or subscribing messages to a kafka topic.

```bash
root@kafka-multinode-0:~# cat config/clientauth.properties
kafka@kafka-multinode-0:~# cat config/clientauth.properties
security.protocol=SASL_PLAINTEXT
sasl.mechanism=PLAIN
sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username="admin" password="************";
Expand Down Expand Up @@ -228,14 +228,14 @@ Events: <none>
Use the `http endpoints` and `clientauth.properties` file to set environment variables. These environment variables will be useful for handling console command operations easily.

```bash
root@kafka-multinode-0:~# export SERVER="10.244.0.69:9092,10.244.0.71:9092,10.244.0.73:9092"
root@kafka-multinode-0:~# export CLIENTAUTHCONFIG="$HOME/config/clientauth.properties"
kafka@kafka-multinode-0:~# export SERVER="10.244.0.69:9092,10.244.0.71:9092,10.244.0.73:9092"
kafka@kafka-multinode-0:~# export CLIENTAUTHCONFIG="$HOME/config/clientauth.properties"
```

Let's describe the broker metadata for the quorum.

```bash
root@kafka-multinode-0:~# kafka-metadata-quorum.sh --command-config $CLIENTAUTHCONFIG --bootstrap-server $SERVER describe --status
kafka@kafka-multinode-0:~# kafka-metadata-quorum.sh --command-config $CLIENTAUTHCONFIG --bootstrap-server $SERVER describe --status
ClusterId: 11ed-957c-625c6a5f47bw
LeaderId: 0
LeaderEpoch: 19
Expand All @@ -257,10 +257,10 @@ It will show you important metadata information like clusterID, current leader I
Let's create a topic named `sample` with 1 partitions and a replication factor of 1. Describe the topic once it's created. You will see the leader ID for each partition and their replica IDs along with in-sync-replicas(ISR).

```bash
root@kafka-multinode-0:~# kafka-topics.sh --command-config $CLIENTAUTHCONFIG --create --topic sample --partitions 1 --replication-factor 1 --bootstrap-server $SERVER
kafka@kafka-multinode-0:~# kafka-topics.sh --command-config $CLIENTAUTHCONFIG --create --topic sample --partitions 1 --replication-factor 1 --bootstrap-server $SERVER
Created topic sample.

root@kafka-multinode-0:~# kafka-topics.sh --command-config $CLIENTAUTHCONFIG --describe --topic sample --bootstrap-server $SERVER
kafka@kafka-multinode-0:~# kafka-topics.sh --command-config $CLIENTAUTHCONFIG --describe --topic sample --bootstrap-server $SERVER
Topic: sample TopicId: KVpw_JXfRjaeUHfoXLPBvQ PartitionCount: 1 ReplicationFactor: 1 Configs: segment.bytes=1073741824
Topic: sample Partition: 0 Leader: 0 Replicas: 0 Isr: 0
```
Expand All @@ -270,15 +270,15 @@ Now, we are going to start a producer and a consumer for topic `sample` using co
From the topic description we can see that the leader partition for partition 0 is 0 (the broker that we are on). If we produce messages to `kafka-multinode-0` broker(brokerID=0) it will store those messages in partition 0. Let's produce messages in the producer terminal and consume them from the consumer terminal.

```bash
root@kafka-quickstart-0:~# kafka-console-producer.sh --producer.config $CLIENTAUTHCONFIG --topic sample --request-required-acks all --bootstrap-server $SERVER
kafka@kafka-multinode-0:~# kafka-console-producer.sh --producer.config $CLIENTAUTHCONFIG --topic sample --request-required-acks all --bootstrap-server $SERVER
>message one
>message two
>message three
>
```

```bash
root@kafka-quickstart-0:/# kafka-console-consumer.sh --consumer.config $CLIENTAUTHCONFIG --topic sample --from-beginning --bootstrap-server $SERVER --partition 0
kafka@kafka-multinode-0:/# kafka-console-consumer.sh --consumer.config $CLIENTAUTHCONFIG --topic sample --from-beginning --bootstrap-server $SERVER --partition 0
message one
message two
message three
Expand Down
4 changes: 2 additions & 2 deletions docs/guides/kafka/clustering/topology-cluster/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -89,7 +89,7 @@ metadata:
name: kafka-prod
namespace: demo
spec:
version: 3.9.0
version: 4.0.0
enableSSL: true
tls:
issuerRef:
Expand Down Expand Up @@ -161,7 +161,7 @@ NAME TYPE VERSION AGE
appbinding.appcatalog.appscode.com/kafka-prod kubedb.com/kafka 3.9.0 4m8s

NAME TYPE DATA AGE
secret/kafka-prod-admin-cred kubernetes.io/basic-auth 2 4m14s
secret/kafka-prod-auth kubernetes.io/basic-auth 2 4m14s
secret/kafka-prod-broker-config Opaque 3 4m14s
secret/kafka-prod-client-cert kubernetes.io/tls 3 4m14s
secret/kafka-prod-controller-config Opaque 3 4m10s
Expand Down
4 changes: 2 additions & 2 deletions docs/guides/kafka/concepts/appbinding.md
Original file line number Diff line number Diff line change
Expand Up @@ -66,11 +66,11 @@ spec:
port: 9092
scheme: https
secret:
name: kafka-admin-cred
name: kafka-auth
tlsSecret:
name: kafka-client-cert
type: kubedb.com/kafka
version: 3.9.0
version: 4.0.0
```

Here, we are going to describe the sections of an `AppBinding` crd.
Expand Down
2 changes: 1 addition & 1 deletion docs/guides/kafka/concepts/connectcluster.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ metadata:
name: connectcluster
namespace: demo
spec:
version: 3.9.0
version: 4.0.0
healthChecker:
failureThreshold: 3
periodSeconds: 20
Expand Down
5 changes: 3 additions & 2 deletions docs/guides/kafka/concepts/kafka.md
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ spec:
disableSecurity: false
authSecret:
kind: Secret
name: kafka-admin-cred
name: kafka-auth
configSecret:
name: kafka-custom-config
enableSSL: true
Expand Down Expand Up @@ -108,7 +108,7 @@ spec:
labels:
release: prometheus
interval: 10s
version: 3.9.0
version: 4.0.0
```

### spec.version
Expand All @@ -120,6 +120,7 @@ spec:
- `3.7.2`
- `3.8.1`
- `3.9.0`
- `4.0.0`

### spec.replicas

Expand Down
2 changes: 1 addition & 1 deletion docs/guides/kafka/concepts/kafkaversion.md
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ spec:
databasePolicyName: kafka-db
securityContext:
runAsUser: 1001
version: 3.9.0
version: 4.0.0
```

### metadata.name
Expand Down
2 changes: 1 addition & 1 deletion docs/guides/kafka/configuration/kafka-combined.md
Original file line number Diff line number Diff line change
Expand Up @@ -88,7 +88,7 @@ metadata:
namespace: demo
spec:
replicas: 2
version: 3.9.0
version: 4.0.0
configSecret:
name: configsecret-combined
storage:
Expand Down
2 changes: 1 addition & 1 deletion docs/guides/kafka/configuration/kafka-topology.md
Original file line number Diff line number Diff line change
Expand Up @@ -97,7 +97,7 @@ metadata:
name: kafka-prod
namespace: demo
spec:
version: 3.9.0
version: 4.0.0
configSecret:
name: configsecret-topology
topology:
Expand Down
2 changes: 1 addition & 1 deletion docs/guides/kafka/connectcluster/connectcluster.md
Original file line number Diff line number Diff line change
Expand Up @@ -92,7 +92,7 @@ metadata:
name: connectcluster-distributed
namespace: demo
spec:
version: 3.9.0
version: 4.0.0
enableSSL: true
tls:
issuerRef:
Expand Down
15 changes: 8 additions & 7 deletions docs/guides/kafka/connectcluster/quickstart.md
Original file line number Diff line number Diff line change
Expand Up @@ -47,13 +47,14 @@ When you install the KubeDB operator, it registers a CRD named [KafkaVersion](/d

```bash
$ kubectl get kfversion

NAME VERSION DB_IMAGE DEPRECATED AGE
3.5.2 3.5.2 ghcr.io/appscode-images/kafka-kraft:3.5.2 28h
3.6.1 3.6.1 ghcr.io/appscode-images/kafka-kraft:3.6.1 28h
3.7.2 3.7.2 ghcr.io/appscode-images/kafka-kraft:3.7.2 28h
3.8.1 3.8.1 ghcr.io/appscode-images/kafka-kraft:3.8.1 28h
3.9.0 3.9.0 ghcr.io/appscode-images/kafka-kraft:3.9.0 28h
3.5.2 3.5.2 ghcr.io/appscode-images/kafka-kraft:3.5.2 7d19h
3.6.1 3.6.1 ghcr.io/appscode-images/kafka-kraft:3.6.1 7d19h
3.7.2 3.7.2 ghcr.io/appscode-images/kafka-kraft:3.7.2 7d19h
3.8.1 3.8.1 ghcr.io/appscode-images/kafka-kraft:3.8.1 7d19h
3.9.0 3.9.0 ghcr.io/appscode-images/kafka-kraft:3.9.0 7d19h
4.0.0 4.0.0 ghcr.io/appscode-images/kafka:4.0.0 7d19h

```

Notice the `DEPRECATED` column. Here, `true` means that this KafkaVersion is deprecated for the current KubeDB version. KubeDB will not work for deprecated KafkaVersion. You can also use the short from `kfversion` to check available KafkaVersions.
Expand Down Expand Up @@ -115,7 +116,7 @@ metadata:
name: connectcluster-quickstart
namespace: demo
spec:
version: 3.9.0
version: 4.0.0
replicas: 3
connectorPlugins:
- mongodb-1.14.1
Expand Down
6 changes: 3 additions & 3 deletions docs/guides/kafka/migration/migration.md
Original file line number Diff line number Diff line change
Expand Up @@ -101,7 +101,7 @@ spec:
kind: Secret
name: source-kafka-auth
replicas: 2
version: 3.9.0
version: 4.0.0
storage:
accessModes:
- ReadWriteOnce
Expand Down Expand Up @@ -279,7 +279,7 @@ spec:
authSecret:
kind: Secret
name: target-kafka-auth
version: 3.9.0
version: 4.0.0
topology:
broker:
replicas: 2
Expand Down Expand Up @@ -363,7 +363,7 @@ spec:
authSecret:
kind: Secret
name: mirror-connect-auth
version: 3.9.0
version: 4.0.0
replicas: 3
kafkaRef:
name: target-kafka
Expand Down
2 changes: 1 addition & 1 deletion docs/guides/kafka/monitoring/overview.md
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,7 @@ spec:
name: kafka-ca-issuer
kind: Issuer
replicas: 3
version: 3.9.0
version: 4.0.0
storage:
accessModes:
- ReadWriteOnce
Expand Down
Loading
Loading