Back to Charts

⚠️ Repo Archive Notice

incubator/schema-registry/README.md

latest7.1 KB
Original Source

⚠️ Repo Archive Notice

As of Nov 13, 2020, charts in this repo will no longer be updated. For more information, see the Helm Charts Deprecation and Archive Notice, and Update.

Schema-Registry Helm Chart

This helm chart creates a Confluent Schema-Registry server.

DEPRECATION NOTICE

This chart is deprecated and no longer supported.

Prerequisites

  • Kubernetes 1.6
  • A running Kafka Installation
  • A running Zookeeper Installation

Chart Components

This chart will do the following:

  • Create a Schema-Registry deployment
  • Create a Service configured to connect to the available Schema-Registry pods on the configured client port.

Note: Distributed Schema Registry Master Election is done via Kafka Coordinator Master Election https://docs.confluent.io/current/schema-registry/docs/design.html#kafka-coordinator-master-election

Installing the Chart

You can install the chart with the release name mysr as below.

console
$ helm repo add incubator http://storage.googleapis.com/kubernetes-charts-incubator
$ helm install --name mysr incubator/schema-registry

If you do not specify a name, helm will select a name for you.

Installed Components

You can use kubectl get to view all of the installed components.

console{%raw}
$ kubectl get all -l app=schema-registry
NAME                          DESIRED   CURRENT   UP-TO-DATE   AVAILABLE   AGE
deploy/mysr-schema-registry   1         1         1            1           23m

NAME                                DESIRED   CURRENT   READY     AGE
rs/mysr-schema-registry-bcb4c994c   1         1         1         23m

NAME                                      READY     STATUS    RESTARTS   AGE
po/mysr-schema-registry-bcb4c994c-qjqbj   1/1       Running   1          23m
  1. deploy/mysr-schema-registry is the Deployment created by this chart.
  2. rs/mysr-schema-registry-bcb4c994c is the ReplicaSet created by this Chart's Deployment.
  3. po/mysr-schema-registry-bcb4c994c-qjqbj is the Pod created by the ReplicaSet under this Chart's Deployment.

Configuration

You can specify each parameter using the --set key=value[,key=value] argument to helm install.

Alternatively, a YAML file that specifies the values for the parameters can be provided while installing the chart. For example,

console
$ helm install --name my-release -f values.yaml incubator/schema-registry

Tip: You can use the default values.yaml

Parameters

The following table lists the configurable parameters of the SchemaRegistry chart and their default values.

ParameterDescriptionDefault
imageThe SchemaRegistry image repositoryconfluentinc/cp-schema-registry
imageTagThe SchemaRegistry image tag5.0.1
imagePullPolicyImage Pull PolicyIfNotPresent
replicaCountThe number of SchemaRegistry Pods in the Deployment1
configurationOverridesSchemaRegistry configuration setting overrides in the dictionary format setting.name: value{}
podAnnotationsPod annotations.
kafkaOptsAdditional Java arguments to pass to Kafka.
sasl.configPathwhere to store config for sasl configurations/etc/kafka-config
sasl.scram.enabledwhether sasl-scam is enabledfalse
sasl.scram.init.imagewhich image to use for initializing sasl scramconfluentinc/cp-schema-registry
sasl.scram.init.imageTagwhich version/tag to use for sasl scram init5.0.1
sasl.scram.init.imagePullPolicythe sasl scram init pull policyIfNotPresent
sasl.scram.clientUserthe sasl scram user to use to authenticate to kafkakafka-client
sasl.scram.clientPasswordthe sasl scram password to use to authenticate to kafkakafka-password
sasl.scram.zookeeperClientUserthe sasl scram user to use to authenticate to zookeeperzookeeper-client
sasl.scram.zookeeperClientPasswordthe sasl scram password to use to authenticate to zookeeperzookeeper-password
resourcesCPU/Memory resource requests/limits{}
servicePortThe port on which the SchemaRegistry server will be exposed.8081
service.annotationsAdditional annotations for the service{}
service.labelsAdditional labels for the service{}
overrideGroupIdGroup ID defaults to using Release Name so each release is its own Schema Registry worker group, it can be overridden{- .Release.Name -}}
kafkaStore.overrideBootstrapServersDefaults to Kafka Servers in the same release, it can be overridden in case there was a separate release for Kafka Deploy{{- printf "PLAINTEXT://%s-kafka-headless:9092" .Release.Name }}
kafka.enabledIf true, install Kafka/Zookeeper alongside the SchemaRegistry. This is intended for testing and argument-less helm installs of this chart only and should not be used in Production.true
kafka.replicasThe number of Kafka Pods to install as part of the StatefulSet if kafka.Enabled is true1
kafka.configurationOverridesAny Kafka Configuration overrides to provide to the underlying kafka chart{offsets.topic.replica.factor: 1}
kafka.zookeeper.serversThe number of Zookeeper Pods to install as part of the StatefulSet if kafka.Enabled is true1
ingress.enabledEnable Ingress?false
ingress.hostnameset hostname for ingress""
ingress.annotationsset annotations for ingress{}
ingress.labelsAdditional labels for the ingress{}
ingress.tls.enabledEnable TLS for the Ingressfalse
ingress.tls.secretNameName of the Kubernetes Secret object to obtain the TLS certificate fromschema-registry-tls
external.enabledEnable LoadBalancer/Nodeport for Cloud Provider external load balancersfalse
external.typeset service type LoadBalancer/NodePortLoadBalancer
external.servicePortset service port443
external.loadBalancerIPset Static IP for LoadBalancer""
external.nodePortset Nodeport (valid range depends on CLoud Provider)""
external.annotationsAdditional annotations for the external service{}
jmx.enabledEnable JMX?true
jmx.portset JMX port5555
prometheus.jmx.enabledEnable Prometheus JMX Exporterfalse
prometheus.jmx.imageSet Prometheus JMX Exporter imagesolsson/kafka-prometheus-jmx-exporter@sha256
prometheus.jmx.imageTagSet Prometheus JMX Exporter image tag6f82e2b0464f50da8104acd7363fb9b995001ddff77d248379f8788e78946143
prometheus.jmx.portSet Prometheus JMX Exporter port5556
prometheus.jmx.resourcesSet Prometheus JMX Exporter resource requests & limits{}
secretsPass any secrets to the pods.The secret will be mounted to a specific path if required[]