Skip to content

Commit add8aab

Browse files
authored
Clarifications to bring the CP component clusters using LB (#130)
1 parent 124a50b commit add8aab

File tree

2 files changed

+120
-15
lines changed

2 files changed

+120
-15
lines changed

security/production-secure-deploy/README.rst

+105
Original file line numberDiff line numberDiff line change
@@ -198,6 +198,71 @@ Provide RBAC principal credentials
198198
--from-file=basic.txt=$TUTORIAL_HOME/bearer.txt \
199199
--namespace confluent
200200

201+
============================
202+
Configure Confluent Platform
203+
============================
204+
205+
You install Confluent Platform components as custom resources (CRs).
206+
207+
You can configure all Confluent Platform components as custom resources. In this
208+
tutorial, you will configure all components in a single file and deploy all
209+
components with one ``kubectl apply`` command.
210+
211+
The CR configuration file contains a custom resource specification for each
212+
Confluent Platform component, including replicas, image to use, resource
213+
allocations.
214+
215+
Edit the Confluent Platform CR file: ``$TUTORIAL_HOME/confluent-platform.yaml``
216+
217+
Specifically, note that external accesses to Confluent Platform components are
218+
configured using the Load Balance services.
219+
220+
The Kafka section of the file is set as follow for load balancer access:
221+
222+
::
223+
224+
Spec:
225+
listeners:
226+
external:
227+
externalAccess:
228+
type: loadBalancer
229+
loadBalancer:
230+
domain: --- [1]
231+
232+
Component section of the file is set as follows for load balancer access:
233+
234+
::
235+
236+
spec:
237+
externalAccess:
238+
type: loadBalancer
239+
loadBalancer:
240+
domain: --- [1]
241+
242+
* [1] Set this to the value of ``$DOMAIN``, Your Kubernetes cluster domain. You need to provide this value for this tutorial.
243+
244+
* The prefixes are used for external DNS hostnames. In this tutorial, Kafka bootstrap server will use the default prefix, ``kafka``, and the brokers will use the default prefix, ``b``.
245+
246+
Kafka is configured with 3 replicas in this tutorial. So, the access endpoints
247+
of Kafka will be:
248+
249+
* kafka.$DOMAIN for the bootstrap server
250+
* b0.$DOMAIN for the broker #1
251+
* b1.$DOMAIN for the broker #2
252+
* b2.$DOMAIN for the broker #3
253+
254+
The access endpoint of each Confluent Platform component will be:
255+
256+
::
257+
258+
<Component CR name>.$DOMAIN
259+
260+
For example, in a brower, you will access Control Center at:
261+
262+
::
263+
264+
http://controlcenter.$DOMAIN
265+
201266
=========================
202267
Deploy Confluent Platform
203268
=========================
@@ -233,6 +298,46 @@ If you'd like to see how the RoleBindings custom resources are structured, so th
233298
you can create your own RoleBindings, take a look at the custom resources in this
234299
directory: $TUTORIAL_HOME/internal-rolebindings
235300

301+
===============
302+
Add DNS records
303+
===============
304+
305+
Create DNS records for the externally exposed components:
306+
307+
#. Retrieve the external IP addresses of bootstrap load balancers of the brokers and components:
308+
309+
::
310+
311+
kubectl get svc
312+
313+
Get the ``EXTERNAL-IP`` values of the following services from the output:
314+
315+
* ``connect-bootstrap-lb``
316+
* ``controlcenter-bootstrap-lb``
317+
* ``kafka-0-lb``
318+
* ``kafka-1-lb``
319+
* ``kafka-2-lb``
320+
* ``kafka-bootstrap-lb``
321+
* ``ksqldb-bootstrap-lb``
322+
* ``schemaregistry-bootstrap-lb``
323+
324+
#. Add DNS records for the components and the brokers using the IP addresses and the hostnames above, replacing ``$DOMAIN`` with the actual domain name of your Kubernetes cluster.
325+
326+
In this tutorial, we are using the default prefixes for components and brokers as shown below:
327+
328+
====================== ====================================================================
329+
DNS name IP address
330+
====================== ====================================================================
331+
kafka.$DOMAIN The ``EXTERNAL-IP`` value of ``kafka-bootstrap-lb`` service
332+
b0.$DOMAIN The ``EXTERNAL-IP`` value of ``kafka-0-lb`` service
333+
b1.$DOMAIN The ``EXTERNAL-IP`` value of ``kafka-1-lb`` service
334+
b2.$DOMAIN The ``EXTERNAL-IP`` value of ``kafka-2-lb`` service
335+
mds.$DOMAIN The ``EXTERNAL-IP`` value of ``kafka-mds-bootstrap-lb`` service
336+
controlcenter.$DOMAIN The ``EXTERNAL-IP`` value of ``controlcenter-bootstrap-lb`` service
337+
ksqldb.$DOMAIN The ``EXTERNAL-IP`` value of ``ksqldb-bootstrap-lb`` service
338+
connect.$DOMAIN The ``EXTERNAL-IP`` value of ``connect-bootstrap-lb`` service
339+
schemaregistry.$DOMAIN The ``EXTERNAL-IP`` value of ``schemaregistry-bootstrap-lb`` service
340+
====================== ====================================================================
236341

237342
=================================================
238343
Create RBAC Rolebindings for Control Center admin

security/production-secure-deploy/confluent-platform-production.yaml

+15-15
Original file line numberDiff line numberDiff line change
@@ -46,9 +46,9 @@ spec:
4646
externalAccess:
4747
type: loadBalancer
4848
loadBalancer:
49-
domain: my.domain
50-
brokerPrefix: rb
51-
bootstrapPrefix: rb
49+
domain: ## Domain
50+
bootstrapPrefix:
51+
brokerPrefix:
5252
tls:
5353
enabled: true
5454
authorization:
@@ -64,8 +64,8 @@ spec:
6464
externalAccess:
6565
type: loadBalancer
6666
loadBalancer:
67-
domain: my.domain
68-
prefix: rb-mds
67+
domain: ## Domain
68+
prefix:
6969
provider:
7070
type: ldap
7171
ldap:
@@ -114,8 +114,8 @@ spec:
114114
externalAccess:
115115
type: loadBalancer
116116
loadBalancer:
117-
domain: my.domain
118-
prefix: rb-connect
117+
domain: ## Domain
118+
prefix:
119119
authorization:
120120
type: rbac
121121
dependencies:
@@ -153,8 +153,8 @@ spec:
153153
externalAccess:
154154
type: loadBalancer
155155
loadBalancer:
156-
domain: my.domain
157-
prefix: rb-sr
156+
domain: ## Domain
157+
prefix:
158158
authorization:
159159
type: rbac
160160
dependencies:
@@ -192,8 +192,8 @@ spec:
192192
externalAccess:
193193
type: loadBalancer
194194
loadBalancer:
195-
domain: my.domain
196-
prefix: rb-krp
195+
domain: ## Domain
196+
prefix:
197197
authorization:
198198
type: rbac
199199
dependencies:
@@ -236,8 +236,8 @@ spec:
236236
externalAccess:
237237
type: loadBalancer
238238
loadBalancer:
239-
domain: my.domain
240-
prefix: rb-ksql
239+
domain: ## Domain
240+
prefix:
241241
tls:
242242
secretRef: tls-group1
243243
dependencies:
@@ -282,8 +282,8 @@ spec:
282282
externalAccess:
283283
type: loadBalancer
284284
loadBalancer:
285-
domain: my.domain
286-
prefix: rb-c3
285+
domain: ## Domain
286+
prefix:
287287
tls:
288288
secretRef: tls-group1
289289
dependencies:

0 commit comments

Comments
 (0)