Some more work on the kafka stack

This commit is contained in:
Daniel Berteaud 2024-04-04 11:53:44 +02:00
parent d7fba42552
commit fd1fdf985a
7 changed files with 18 additions and 9 deletions

View File

@ -26,7 +26,7 @@ RUN set -ex &&\
FROM [[ .docker.repo ]][[ .docker.base_images.java17.image ]] FROM [[ .docker.repo ]][[ .docker.base_images.java17.image ]]
MAINTAINER [[ .docker.maintainer ]] MAINTAINER [[ .docker.maintainer ]]
ENV PATH=$PATH:/opt/kafka/bin \ ENV PATH=/opt/kafka/bin:$PATH \
KAFKA_DATA_DIR=/data \ KAFKA_DATA_DIR=/data \
KAFKA_CONF_DIR=/opt/kafka/config \ KAFKA_CONF_DIR=/opt/kafka/config \
KAFKA_HEAP_OPTS="-Xmx1G -Xms1G" \ KAFKA_HEAP_OPTS="-Xmx1G -Xms1G" \

View File

@ -24,10 +24,11 @@ job "[[ .instance ]]-jikkou" {
driver = "[[ $c.nomad.driver ]]" driver = "[[ $c.nomad.driver ]]"
config { config {
image = "[[ $c.image ]]" image = "[[ $c.image ]]"
readonly_rootfs = true readonly_rootfs = true
pids_limit = 100 pids_limit = 100
command = "/local/jikkou" command = "/local/jikkou"
[[ template "common/tmpfs" "/root" ]]
} }
[[ template "common/vault.policies" $c ]] [[ template "common/vault.policies" $c ]]
@ -67,7 +68,7 @@ _EOT
[[ template "kafka/jikkou/jikkou.conf" $c ]] [[ template "kafka/jikkou/jikkou.conf" $c ]]
_EOT _EOT
destination = "local/jikkou.conf" destination = "local/jikkou.conf"
perms = 755 perms = 755
} }
# Kafka topics definition # Kafka topics definition

View File

@ -5,7 +5,7 @@ broker.id={{ env "NOMAD_ALLOC_INDEX" }}
listeners=CLIENT://:{{ env "NOMAD_PORT_client" }},BROKER://:{{ env "NOMAD_PORT_broker" }} listeners=CLIENT://:{{ env "NOMAD_PORT_client" }},BROKER://:{{ env "NOMAD_PORT_broker" }}
listener.security.protocol.map=CLIENT:SSL,BROKER:SSL listener.security.protocol.map=CLIENT:SSL,BROKER:SSL
inter.broker.listener.name=BROKER inter.broker.listener.name=BROKER
advertised.listeners=CLIENT://broker-{{ env "NOMAD_ALLOC_INDEX" }}.exchange-broker{{ env "ENV_SUFFIX" }}.service.{{ env "CT_DOMAIN" }}:{{ env "NOMAD_HOST_PORT_client" }},BROKER://{{ env "NOMAD_ADDR_broker" }} advertised.listeners=CLIENT://broker-{{ env "NOMAD_ALLOC_INDEX" }}.[[ .instance ]]-broker[[ .consul.suffix ]].service.[[ .consul.domain ]]:{{ env "NOMAD_HOST_PORT_client" }},BROKER://{{ env "NOMAD_ADDR_broker" }}
# TLS Settings # TLS Settings
ssl.keystore.location=/secrets/kafka.p12 ssl.keystore.location=/secrets/kafka.p12

View File

@ -2,7 +2,7 @@ jikkou {
kafka { kafka {
client { client {
bootstrap.servers = " bootstrap.servers = "
{{- range $index, $instance := service "[[ .instance ]]-broker[ .consul.suffix ]]" -}} {{- range $index, $instance := service "[[ .instance ]]-broker[[ .consul.suffix ]]" -}}
{{ if ne $index 0 }},{{ end }}{{ $instance.Address }}:{{ $instance.Port }} {{ if ne $index 0 }},{{ end }}{{ $instance.Address }}:{{ $instance.Port }}
{{- end -}} {{- end -}}
" "

View File

@ -11,7 +11,7 @@ kafka:
broker: broker:
count: 3 count: 3
version: 3.7.0 version: 3.7.0
image: '[[ .docker.repo ]]kafka-broker:[[ .kafka.broker.version ]]-1' image: '[[ .docker.repo ]]kafka-broker:[[ .kafka.broker.version ]]-2'
env: {} env: {}
resources: resources:
cpu: 100 cpu: 100
@ -20,9 +20,13 @@ kafka:
enabled: '[[ .prometheus.available ]]' enabled: '[[ .prometheus.available ]]'
# static_client_port: 9092 # static_client_port: 9092
# static_broker_port: 9095 # static_broker_port: 9095
nomad:
constraints:
- operator: distinct_hosts
value: true
consul: consul:
meta: meta:
broker: 'broker-${NOMAD_ALLOC_INDEX}.[[ .instance ]][[ .consul.suffix ]].service.[[ .consul.domain ]]' broker: 'broker-${NOMAD_ALLOC_INDEX}.[[ .instance ]]-broker[[ .consul.suffix ]].service.[[ .consul.domain ]]'
connect: connect:
upstreams: upstreams:
- destination_name: zookeeper[[ .consul.suffix ]] - destination_name: zookeeper[[ .consul.suffix ]]

View File

@ -2,3 +2,7 @@
path "[[ $c.vault.pki.path ]]/issue/[[ .instance ]]-broker" { path "[[ $c.vault.pki.path ]]/issue/[[ .instance ]]-broker" {
capabilities = ["update"] capabilities = ["update"]
} }
path "[[ $c.vault.root ]]kv/data/service/[[ .instance ]]/broker" {
capabilities = ["read"]
}