{"id":45907320,"url":"https://github.com/confluentinc/cp-helm-charts","last_synced_at":"2026-03-13T15:01:01.884Z","repository":{"id":38325797,"uuid":"128468477","full_name":"confluentinc/cp-helm-charts","owner":"confluentinc","description":"The Confluent Platform Helm charts enable you to deploy Confluent Platform services on Kubernetes for development, test, and proof of concept environments.","archived":true,"fork":false,"pushed_at":"2024-02-16T04:18:40.000Z","size":4165,"stargazers_count":784,"open_issues_count":275,"forks_count":841,"subscribers_count":280,"default_branch":"master","last_synced_at":"2024-06-20T11:59:52.753Z","etag":null,"topics":["apache-kafka","helm","helm-charts","kafka-connect","kafka-rest-proxy","ksql","ksql-server","kubernetes","statefulsets","zookeeper"],"latest_commit_sha":null,"homepage":"https://cnfl.io/getting-started-kafka-kubernetes","language":"Mustache","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/confluentinc.png","metadata":{"files":{"readme":"README.adoc","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-04-06T20:42:40.000Z","updated_at":"2024-05-12T17:06:38.000Z","dependencies_parsed_at":"2024-06-20T11:11:20.796Z","dependency_job_id":"b6772d7e-6e62-4837-94d8-6eef1449e70b","html_url":"https://github.com/confluentinc/cp-helm-charts","commit_stats":null,"previous_names":[],"tags_count":8,"template":false,"template_full_name":null,"purl":"pkg:github/confluentinc/cp-helm-charts","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/confluentinc%2Fcp-helm-charts","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/confluentinc%2Fcp-helm-charts/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/confluentinc%2Fcp-helm-charts/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/confluentinc%2Fcp-helm-charts/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/confluentinc","download_url":"https://codeload.github.com/confluentinc/cp-helm-charts/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/confluentinc%2Fcp-helm-charts/sbom","scorecard":{"id":302372,"data":{"date":"2023-12-11","repo":{"name":"github.com/confluentinc/cp-helm-charts","commit":"89e8c3665d01c5e9f0b20988fb02b022e5b92fc8"},"scorecard":{"version":"v4.13.1-89-g5dc03b72","commit":"5dc03b72e109d67afe4c91a0fbe52a3c1678a97f"},"score":4,"checks":[{"name":"Code-Review","score":7,"reason":"found 6 unreviewed changesets out of 21 -- score normalized to 7","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/5dc03b72e109d67afe4c91a0fbe52a3c1678a97f/docs/checks.md#code-review"}},{"name":"Maintained","score":0,"reason":"1 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/5dc03b72e109d67afe4c91a0fbe52a3c1678a97f/docs/checks.md#maintained"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/5dc03b72e109d67afe4c91a0fbe52a3c1678a97f/docs/checks.md#cii-best-practices"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: FSF or OSI recognized license: LICENSE:1","Info: License file found in expected location: LICENSE:1"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/5dc03b72e109d67afe4c91a0fbe52a3c1678a97f/docs/checks.md#license"}},{"name":"Signed-Releases","score":0,"reason":"0 out of 5 artifacts are signed or have provenance","details":["Warn: release artifact v6.0.1-1 does not have provenance: https://api.github.com/repos/confluentinc/cp-helm-charts/releases/35114632","Warn: release artifact v6.0.1-1 not signed: https://api.github.com/repos/confluentinc/cp-helm-charts/releases/35114632","Warn: release artifact v6.0.1 does not have provenance: https://api.github.com/repos/confluentinc/cp-helm-charts/releases/35068318","Warn: release artifact v6.0.1 not signed: https://api.github.com/repos/confluentinc/cp-helm-charts/releases/35068318","Warn: release artifact v5.5.0 does not have provenance: https://api.github.com/repos/confluentinc/cp-helm-charts/releases/26396406","Warn: release artifact v5.5.0 not signed: https://api.github.com/repos/confluentinc/cp-helm-charts/releases/26396406","Warn: release artifact v5.4.1 does not have provenance: https://api.github.com/repos/confluentinc/cp-helm-charts/releases/24308306","Warn: release artifact v5.4.1 not signed: https://api.github.com/repos/confluentinc/cp-helm-charts/releases/24308306","Warn: release artifact v5.4.0 does not have provenance: https://api.github.com/repos/confluentinc/cp-helm-charts/releases/22897093","Warn: release artifact v5.4.0 not signed: https://api.github.com/repos/confluentinc/cp-helm-charts/releases/22897093"],"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/5dc03b72e109d67afe4c91a0fbe52a3c1678a97f/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":-1,"reason":"internal error: error during branchesHandler.setup: internal error: githubv4.Query: Resource not accessible by integration","details":null,"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/5dc03b72e109d67afe4c91a0fbe52a3c1678a97f/docs/checks.md#branch-protection"}},{"name":"Token-Permissions","score":-1,"reason":"no github tokens found","details":null,"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/5dc03b72e109d67afe4c91a0fbe52a3c1678a97f/docs/checks.md#token-permissions"}},{"name":"Dangerous-Workflow","score":-1,"reason":"no workflows found","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/5dc03b72e109d67afe4c91a0fbe52a3c1678a97f/docs/checks.md#dangerous-workflow"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/5dc03b72e109d67afe4c91a0fbe52a3c1678a97f/docs/checks.md#packaging"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/5dc03b72e109d67afe4c91a0fbe52a3c1678a97f/docs/checks.md#binary-artifacts"}},{"name":"Pinned-Dependencies","score":-1,"reason":"no dependencies found","details":null,"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/5dc03b72e109d67afe4c91a0fbe52a3c1678a97f/docs/checks.md#pinned-dependencies"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/5dc03b72e109d67afe4c91a0fbe52a3c1678a97f/docs/checks.md#vulnerabilities"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no OSSFuzz integration found","Warn: no GoBuiltInFuzzer integration found","Warn: no PythonAtherisFuzzer integration found","Warn: no CLibFuzzer integration found","Warn: no CppLibFuzzer integration found","Warn: no SwiftLibFuzzer integration found","Warn: no RustCargoFuzzer integration found","Warn: no JavaJazzerFuzzer integration found","Warn: no ClusterFuzzLite integration found","Warn: no HaskellPropertyBasedTesting integration found","Warn: no TypeScriptPropertyBasedTesting integration found","Warn: no JavaScriptPropertyBasedTesting integration found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/5dc03b72e109d67afe4c91a0fbe52a3c1678a97f/docs/checks.md#fuzzing"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/5dc03b72e109d67afe4c91a0fbe52a3c1678a97f/docs/checks.md#security-policy"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: CodeQL tool not installed","Warn: 0 commits out of 29 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/5dc03b72e109d67afe4c91a0fbe52a3c1678a97f/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-17T21:01:03.505Z","repository_id":38325797,"created_at":"2025-08-17T21:01:03.505Z","updated_at":"2025-08-17T21:01:03.505Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30469100,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-13T11:00:43.441Z","status":"ssl_error","status_checked_at":"2026-03-13T11:00:23.173Z","response_time":60,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["apache-kafka","helm","helm-charts","kafka-connect","kafka-rest-proxy","ksql","ksql-server","kubernetes","statefulsets","zookeeper"],"created_at":"2026-02-28T04:00:15.226Z","updated_at":"2026-03-13T15:01:01.876Z","avatar_url":"https://github.com/confluentinc.png","language":"Mustache","funding_links":[],"categories":["Kafka on Kubernetes"],"sub_categories":["Helm Charts"],"readme":"= Confluent Platform Helm Charts [Deprecated]\n:icons: font\n:toc: auto\n:toc-placement: macro\n:toc-position: auto\n:toc-title: Table of content\n:toclevels: 3\n:idprefix:\n:idseparator: -\n:sectanchors:\n:icons: font\n:source-highlighter: rouge\n:experimental:\n\n*Deprecated*: The cp-helm-charts is deprecated in favor of [Confluent For Kubernetes](https://docs.confluent.io/operator/current/overview.html) .\n\nYou can use the Helm charts to deploy services on Kubernetes for development, test, and proof of concept environments.\n\nCAUTION: Open Source Helm charts are not supported by Confluent.\n\n*If you want to use Confluent Platform on Kubernetes in a test or production environment, follow these instructions to install https://docs.confluent.io/current/installation/operator/index.html#operator-about-intro[Confluent Operator].*\n\ntoc::[]\n\nThe https://github.com/confluentinc/cp-helm-charts[Confluent Platform Helm Charts] enable you to deploy Confluent Platform components on Kubernetes for development, test, and proof of concept environments.\n\n== Installation\n\n[source,bash]\n.Installing helm chart\n----\nhelm repo add confluentinc https://confluentinc.github.io/cp-helm-charts/   #\u003c1\u003e\nhelm repo update    #\u003c2\u003e\nhelm install confluentinc/cp-helm-charts --name my-confluent --version 0.6.0    #\u003c3\u003e\n----\n\u003c1\u003e Add `confluentinc` helm charts repo\n\u003c2\u003e Update repo information \n\u003c3\u003e Install Confluent Platform with release name «my-confluent» and version `0.6.0` \n\n== Contributing\n\nWe welcome any contributions:\n\nNOTE: It's not officially supported repo, hence support is on __\"best effort\"__ basis.\n\n* Report all enhancements, bugs, and tasks as https://github.com/confluentinc/cp-helm-charts/issues[GitHub issues]\n* Provide fixes or enhancements by opening pull requests in GitHub\n\n== Documentation\n\nhttps://helm.sh/[Helm] is an open-source packaging tool that helps you install applications and services on Kubernetes.\nHelm uses a packaging format called charts.\nCharts are a collection of YAML templates that describe a related set of Kubernetes resources.\n\nThis repository provides Helm charts for the following Confluent\nPlatform services:\n\n* ZooKeeper\n* Kafka brokers\n* Kafka Connect\n* Confluent Schema Registry\n* Confluent REST Proxy\n* ksqlDB\n* Confluent Control Center\n\n=== Environment Preparation\n\nYou must have a Kubernetes cluster that has Helm configured.\n\n==== Tested Software\n\nThese Helm charts have been tested with the following software versions:\n\n* https://kubernetes.io/[Kubernetes] 1.9.2+\n* https://helm.sh/[Helm] 2.8.2+\n* https://hub.docker.com/u/confluentinc/[Confluent Platform Docker Images]\n\nWARNING: This guide assumes that you're Helm 2 (tested with Helm `2.16`).\nYou can follow up on Helm 3 issues in https://github.com/confluentinc/cp-helm-charts/issues/480\n\nFor local Kubernetes installation with Minikube, see \u003c\u003ccreate-local-minikube\u003e\u003e.\n\n==== Install Helm on Kubernetes\n\nFollow the directions to https://docs.helm.sh/using_helm/#quickstart-guide[install and deploy Helm] to the Kubernetes cluster.\n\nView a list of all deployed releases in the local installation.\n\n[source,sh]\n----\nhelm init\nhelm repo update\nhelm list\n----\n\nIMPORTANT: For Helm versions prior to 2.9.1, you may see `\"connect: connection refused\"`, and will need to fix up the deployment before proceeding.\n\n[source,sh]\n----\nkubectl delete --namespace kube-system svc tiller-deploy\nkubectl delete --namespace kube-system deploy tiller-deploy\nkubectl create serviceaccount --namespace kube-system tiller\nkubectl create clusterrolebinding tiller-cluster-rule --clusterrole=cluster-admin --serviceaccount=kube-system:tiller\nkubectl patch deploy --namespace kube-system tiller-deploy -p '{\"spec\":{\"template\":{\"spec\":{\"serviceAccount\":\"tiller\"}}}}'\nhelm init --service-account tiller --upgrade\n----\n\n=== Persistence\n\nThe ZooKeeper and Kafka cluster deployed with `StatefulSets` that have a `volumeClaimTemplate` which provides the persistent volume for each replica.\nYou can define the size of the volumes by changing `dataDirSize` and `dataLogDirSize` under `cp-zookeeper` and `size` under `cp-kafka` in https://github.com/confluentinc/cp-helm-charts/blob/master/values.yaml[values.yaml].\n\nYou also could use the cloud provider's volumes by specifying https://kubernetes.io/docs/concepts/storage/storage-classes/[StorageClass].\nFor example, if you are on AWS your storage class will look like this:\n\n[source,yaml]\n----\napiVersion: storage.k8s.io/v1beta1\nkind: StorageClass\nmetadata:\n  name: ssd\nprovisioner: kubernetes.io/aws-ebs\nparameters:\n  type: gp2\n----\n\nNOTE: To adapt this example to your needs, read the Kubernetes https://kubernetes.io/docs/concepts/storage/storage-classes/#parameters[StorageClass] documentation.\n\nThe `StorageClass` that was created can be specified in `dataLogDirStorageClass` and `dataDirStorageClass` under `cp-zookeeper` and in `storageClass+` under `cp-kafka` in https://github.com/confluentinc/cp-helm-charts/blob/master/values.yaml[values.yaml].\n\nTo deploy non-persistent Kafka and ZooKeeper clusters, you must change  the value of `persistence.enabled` under `cp-kafka` and `cp-zookeeper` in https://github.com/confluentinc/cp-helm-charts/blob/master/values.yaml[values.yaml]\n\nWARNING: These type of clusters are suitable for *strictly* development and testing  purposes.\nThe `StatefulSets+` are going to use `emptyDir` volumes, this means that its content strictly related to the pod life cycle and is deleted when the pod goes down.\n\n=== Install Confluent Platform Charts\n\nClone the Confluent Helm Chart repo\n\n[source,sh]\n----\n\u003e helm repo add confluentinc https://confluentinc.github.io/cp-helm-charts/\n\"confluentinc\" has been added to your repositories\n\n\u003e helm repo update\nHang tight while we grab the latest from your chart repositories...\n...Skip local chart repository\n...Successfully got an update from the \"confluentinc\" chart repository\n...Successfully got an update from the \"stable\" chart repository\nUpdate Complete. ⎈ Happy Helming!⎈\n----\n\nInstall a 3 node Zookeeper ensemble, a Kafka cluster of 3 brokers, 1 Confluent  Schema Registry instance, 1 REST Proxy instance, and 1 Kafka Connect worker, 1 ksqlDB server in your Kubernetes environment.\n\nNOTE: Naming the chart `--name my-confluent-oss` is optional, but we assume this is the name in the remainder of the documentation.\nOtherwise, helm will generate release name.\n\n[source,sh]\n----\nhelm install confluentinc/cp-helm-charts --name my-confluent-oss\n----\n\nIf you want to install without the Confluent Schema Registry instance, the REST Proxy instance, and the Kafka Connect worker:\n\n[source,sh]\n----\nhelm install --set cp-schema-registry.enabled=false,cp-kafka-rest.enabled=false,cp-kafka-connect.enabled=false confluentinc/cp-helm-charts\n----\n\nView the installed Helm releases:\n\n[source,sh]\n----\nhelm list\nNAME                REVISION    UPDATED                     STATUS      CHART                   NAMESPACE\nmy-confluent-oss    1           Tue Jun 12 16:56:39 2018    DEPLOYED    cp-helm-charts-0.1.0    default\n----\n\n=== Verify Installation\n\n==== Using Helm\n\nNOTE: _This step is optional_\n\n[source,sh]\n.Run the embedded test pod in each sub-chart to  verify installation\n----\nhelm test my-confluent-oss\n----\n\n==== Verify Kafka cluster\n\nNOTE: _This step is optional_ - to verify that Kafka is working as expected, connect to one of the Kafka pods and produce some messages to a Kafka topic.\n[source,sh]\n.List your pods and wait until they are all in `+Running+` state.\n----\nkubectl get pods\n----\n\n.Connect to the container `cp-kafka-broker` in a Kafka broker pod to  produce messages to a Kafka topic.\nIf you specified a different release  name, substitute `my-confluent-oss` with whatever you named your  release.\n\n[source,sh]\n----\nkubectl exec -c cp-kafka-broker -it my-confluent-oss-cp-kafka-0 -- /bin/bash /usr/bin/kafka-console-producer --broker-list localhost:9092 --topic test\n----\n\nWait for a `\u003e` prompt, and enter some text.\n\n----\nm1\nm2\n----\n\nPress kbd:[Ctrl + C] to close the producer session.\n\n. Consume the messages from the same Kafka topic as above.\n[source,sh]\n----\nkubectl exec -c cp-kafka-broker -it my-confluent-oss-cp-kafka-0 -- /bin/bash  /usr/bin/kafka-console-consumer --bootstrap-server localhost:9092 --topic test --from-beginning\n----\n\nYou should see the messages which were published from the console producer. \nPress kbd:[Ctrl + C] to stop consuming.\n\n==== Manual Test\n\n===== Zookeepers\n\n----\ngit clone https://github.com/confluentinc/cp-helm-charts.git        #\u003c1\u003e\nkubectl apply -f cp-helm-charts/examples/zookeeper-client.yaml      #\u003c2\u003e\n...\nkubectl exec -it zookeeper-client -- /bin/bash zookeeper-shell \u003czookeeper service\u003e:\u003cport\u003e ls /brokers/ids       #\u003c3\u003e\nkubectl exec -it zookeeper-client -- /bin/bash zookeeper-shell \u003czookeeper service\u003e:\u003cport\u003e get /brokers/ids/0\nkubectl exec -it zookeeper-client -- /bin/bash zookeeper-shell \u003czookeeper service\u003e:\u003cport\u003e ls /brokers/topics    #\u003c4\u003e\n----\n\u003c1\u003e Clone Helm Chars git repository\n\u003c2\u003e Deploy a client pod.\n\u003c3\u003e Connect to the client pod and use the `+zookeeper-shell+` command to  explore brokers...\n\u003c4\u003e topics, etc.\n\n===== Kafka\n\n[source,bash]\n.Validate Kafka installation \n----\nkubectl apply -f cp-helm-charts/examples/kafka-client.yaml #\u003c1\u003e\nkubectl exec -it kafka-client -- /bin/bash      #\u003c2\u003e\n----\n\u003c1\u003e Deploy a Kafka client pod.\n\u003c2\u003e Log into the Pod\n\n[source,bash]\n.From within the kafka-client pod, explore with kafka commands:\n----\n## Setup\nexport RELEASE_NAME=\u003crelease name\u003e\nexport ZOOKEEPERS=${RELEASE_NAME}-cp-zookeeper:2181\nexport KAFKAS=${RELEASE_NAME}-cp-kafka-headless:9092\n\n## Create Topic\nkafka-topics --zookeeper $ZOOKEEPERS --create --topic test-rep-one --partitions 6 --replication-factor 1\n\n## Producer\nkafka-run-class org.apache.kafka.tools.ProducerPerformance --print-metrics --topic test-rep-one --num-records 6000000 --throughput 100000 --record-size 100 --producer-props bootstrap.servers=$KAFKAS buffer.memory=67108864 batch.size=8196\n\n## Consumer\nkafka-consumer-perf-test --broker-list $KAFKAS --messages 6000000 --threads 1 --topic test-rep-one --print-metrics\n----\n\n==== Run A Streams Application\n\nksqlDB is the streaming SQL engine that enables real-time data  processing against Apache Kafka.\nNow that you have running in your Kubernetes cluster, you may run a https://github.com/confluentinc/cp-helm-charts/blob/master/examples/ksql-demo.yaml[ksqlDB example].\n\n=== Operations\n\n==== Scaling Zookeeper\n\nTIP: All scaling operations should be done offline with no producer or  consumer connection.\nThe number of nodes should always be odd number.\n\nInstall cp-helm-charts with default 3 node ensemble\n\n----\nhelm install cp-helm-charts\n----\n\nScale nodes up to 5, change `servers` under `cp-zookeeper` to 5 in `values.yaml`\n\n----\nhelm upgrade \u003crelease name\u003e cp-helm-charts\n----\n\nScale nodes down to 3, change `servers` under `cp-zookeeper` to 3 in `values.yaml`\n\n----\nhelm upgrade \u003crelease name\u003e cp-helm-charts\n----\n\n==== Scaling Kafka\n\nIMPORTANT: Scaling Kafka brokers without doing Partition Reassignment will cause data loss. \nYou must reassign partitions correctly before https://kafka.apache.org/documentation/#basic_ops_cluster_expansion[scaling the Kafka cluster].\n\n===== Install cp-helm-charts with default 3 brokers kafka cluster\n\n----\nhelm install cp-helm-charts\n----\n\nScale kafka brokers up to 5, change `brokers+` under `cp-kafka` to 5 in `values.yaml`\n\n----\nhelm upgrade \u003crelease name\u003e cp-helm-charts\n----\n\nScale kafka brokers down to 3, change `+brokers+` under `+cp-kafka+` to\n3 in values.yaml\n\n----\nhelm upgrade \u003crelease name\u003e cp-helm-charts\n----\n\n==== Monitoring\n\nJMX Metrics are enabled by default for all components, Prometheus JMX  Exporter is installed as a sidecar container along with all Pods.\n\n. Install Prometheus and Grafana in same Kubernetes cluster using helm\n+\n[source,bash]\n----\nhelm install stable/prometheus\nhelm install stable/grafana\n----\n\n. Add Prometheus as Data Source in Grafana, url should be something  like: `+http://illmannered-marmot-prometheus-server:9090+`\n. Import dashboard under https://github.com/confluentinc/cp-helm-charts/blob/master/grafana-dashboard/confluent-open-source-grafana-dashboard.json[grafana-dashboard] into Grafana image:screenshots/kafka.png[Kafka Dashboard]\nimage:screenshots/zookeeper.png[ZooKeeper Dashboard]\n\n=== Teardown\n\nTo remove the pods, list the pods with `kubectl get pods` and then delete the pods by name.\n\n[source,sh]\n----\nkubectl get pods\nkubectl delete pod \u003cpodname\u003e\n----\n\nTo delete the Helm release, find the Helm release name with `helm list` and delete it with `helm delete`.\nYou may also need to  clean up leftover `StatefulSets`, since `helm delete` can leave them  behind.\nFinally, clean up all persisted volume claims (pvc) created by  this release.\n\n[source,sh]\n----\nhelm list\nhelm delete \u003crelease name\u003e\nkubectl delete statefulset \u003crelease name\u003e-cp-kafka \u003crelease name\u003e-cp-zookeeper\nkubectl delete pvc --selector=release=\u003crelease name\u003e\n----\n\n== Appendix: Create a Local Kubernetes Cluster\n\nThere are many deployment options to get set up with a Kubernetes  cluster, and this document provides instructions for using\nhttps://kubernetes.io/docs/setup/minikube/[Minikube] to set up a local Kubernetes cluster.\nMinikube runs a single-node Kubernetes cluster inside a VM on your laptop.\n\nYou may alternatively set up a Kubernetes cluster in the cloud using  other providers such as\nhttps://cloud.google.com/kubernetes-engine/docs/quickstart[Google Kubernetes Engine (GKE)].\n\n[[create-local-minikube]]\n=== Install Minikube and Drivers\n\nMinikube version 0.23.0 or higher is required for docker server https://github.com/moby/moby/pull/31352%5B17.05], which adds support for using `+ARG+` in `+FROM+` in your `+Dockerfile+`.\n\nFirst follow the basic https://github.com/kubernetes/minikube[Minikube installation instructions].\n\nThen install the https://github.com/kubernetes/minikube/blob/master/docs/drivers.md[Minikube drivers].\nMinikube uses Docker Machine to manage the Kubernetes VM so it benefits from the driver plugin architecture that Docker Machine uses to provide a consistent way to manage various VM providers.\nMinikube embeds VirtualBox and VMware Fusion drivers so there are no additional steps to use them.\nHowever, other drivers require an extra binary to be present  in the host `PATH`.\n\n[IMPORTANT]\nIf you are running on macOS, in particular make sure to install the `hyperkit` drivers for the native OS X hypervisor:\n====\n\n[source,sh]\n----\nbrew install hyperkit\nminikube config set driver hyperkit     #\u003c1\u003e\n----\n\u003c1\u003e Use hyperkit drivel by default\n====\n\n=== Start Minikube\n\nTIP: The following command increases the memory to 6096 MB and uses the `hyperkit` driver for the native macOS Hypervisor.\n\n. Start Minikube. The following command increases the memory to 6096 MB and uses the `+xhyve+` driver for the native macOS Hypervisor.\n+\n[source,sh]\n----\nminikube start --kubernetes-version v1.9.4 --cpus 4 --memory 6096 --vm-driver=xhyve --v=8\n----\n\n. Continue to check status of your local Kubernetes cluster until both minikube and cluster are in Running state\n+\n[source,sh]\n----\n❯ minikube status\nm01\nhost: Running\nkubelet: Running\napiserver: Running\nkubeconfig: Configured\n----\n\n. Work around Minikube\nhttps://github.com/kubernetes/minikube/issues/1568[issue #1568].\n+\n[source,sh]\n----\nminikube ssh -- sudo ip link set docker0 promisc on\n----\n. Set the context.\n+\n[source,sh]\n----\neval $(minikube docker-env)\n\nkubectl config set-context minikube.internal --cluster=minikube --user=minikube\nContext \"minikube.internal\" modified.\n\nkubectl config use-context minikube.internal\nSwitched to context \"minikube.internal\".\n----\n\n==== Verify Minikube Local Kubernetes Environment\n\n----\nkubectl config current-context\nminikube.internal\n\nkubectl cluster-info\nKubernetes master is running at https://192.168.99.106:8443\nKubeDNS is running at https://192.168.99.106:8443/api/v1/namespaces/kube-system/services/kube-dns:dns/proxy\n----\n\n== Thanks\n\nHuge thanks to:\n\n* https://github.com/kubernetes/charts/tree/master/incubator/kafka[Kafka helm chart]\n* https://github.com/kubernetes/charts/tree/master/incubator/zookeeper[ZooKeeper helm chart]\n* https://github.com/kubernetes/charts/tree/master/incubator/schema-registry[Schema Registry helm chart]\n* https://github.com/Yolean/kubernetes-kafka[kubernetes-kafka]\n* https://github.com/solsson/dockerfiles[docker-kafka]\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fconfluentinc%2Fcp-helm-charts","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fconfluentinc%2Fcp-helm-charts","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fconfluentinc%2Fcp-helm-charts/lists"}