++
This commit is contained in:
parent
15f472d9d3
commit
2aad903a2e
27
apps/message-hub/d8-ugmk-prod/kafka-ca-configmap.yaml
Normal file
27
apps/message-hub/d8-ugmk-prod/kafka-ca-configmap.yaml
Normal file
@ -0,0 +1,27 @@
|
||||
---
|
||||
apiVersion: v1
|
||||
kind: ConfigMap
|
||||
metadata:
|
||||
name: kafka-ca-cert
|
||||
namespace: message-hub
|
||||
data:
|
||||
kafka.crt: |
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIIDETCCAfmgAwIBAgIQI30u4fwgUnGBxyLicuU5EzANBgkqhkiG9w0BAQsFADAT
|
||||
MREwDwYDVQQDEwhrYWZrYS1jYTAeFw0yNjA3MTMxNzQwNDJaFw0yNzA3MTMxNzQw
|
||||
NDJaMBMxETAPBgNVBAMTCGthZmthLWNhMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A
|
||||
MIIBCgKCAQEAudTWG0AwdqIMqbqGwjf9CY0BMMQm+HDPRkzMnXqVCSqAYLBLuPBC
|
||||
h4+qm+IKAIpiJrO5pCDxeU1mVqMgRnXcdYyuefCzlTAKMNuM1CVM4ou695B0zKiy
|
||||
D+7NHsdhuoH/ne3jCa8VpylDfKWsxcq3tDCdtZ5drPK80g2o0eo2LHx4erJtSABV
|
||||
tqCrcIuy1nClAwGY4ejO+psr+gIzrHdYzve6YRRFBqVp6sJHcW1Cj6wOpHax4pcM
|
||||
Srh5EcZ4dk434UNOZy2Ebji/9Lwxn0CiXtPTHYGTgNLhujurylFM1nUx69QgsR3C
|
||||
GRZSY3R8Kegd4bzzhHfoBMQvl5Py+0o85QIDAQABo2EwXzAOBgNVHQ8BAf8EBAMC
|
||||
AqQwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMA8GA1UdEwEB/wQFMAMB
|
||||
Af8wHQYDVR0OBBYEFKhTGCqho/YjUZK1ndypuYs970kcMA0GCSqGSIb3DQEBCwUA
|
||||
A4IBAQBvIzVhkzib6LJxt3tUkDFy87Yf1gG+rRVZiL/ZGrOsQlvBt4eLzZIytAvL
|
||||
QaZHY+imIyzURj57IFfyFM1fEPRhc9et0VaRYxGwapLljez0jqPedM8rCsunJmVP
|
||||
KrQxAfvbmHvcZ8k51tpD+YydmoARjBmoRdRIuLTDsuLv0Szg45M/7I4px2ycGN2j
|
||||
kF7jVwF56u2eIrUGybnsH2qg+MY7devv3rG1Y1YV7HEwMAAeN1n5JLxxuA1AIW/j
|
||||
TyZD8hICp8OLzWGTG9b3GZJK9FXbDHSKXemJr0hyjoxsW27nHsXcmV5Oe2OkTKw8
|
||||
fdA17/ibw6gFrH2b3vZKcx8D455V
|
||||
-----END CERTIFICATE-----
|
||||
@ -3,6 +3,7 @@ apiVersion: kustomize.config.k8s.io/v1beta1
|
||||
kind: Kustomization
|
||||
resources:
|
||||
- ../base
|
||||
- kafka-ca-configmap.yaml
|
||||
patches:
|
||||
- path: namespace.yaml
|
||||
target:
|
||||
|
||||
@ -86,36 +86,63 @@ spec:
|
||||
value:
|
||||
_default: "0"
|
||||
|
||||
# Подтверждено: kubectl -n kafka get svc →
|
||||
# kafka-kafka-contour-controller-headless.kafka.svc.cluster.local,
|
||||
# порты 9094/9092/9093. 9094 — единственный клиентский листенер
|
||||
# (listeners.client: SASL_SSL в infrastructure/kafka/d8-ugmk-prod/kafka.yaml),
|
||||
# то же значение, что и в base, и в bootstrap_servers секрета pm.
|
||||
# Подтверждено вживую (kubectl exec в kafka-kafka-contour-controller-0,
|
||||
# server.properties): реальный CLIENT-листенер (SASL_SSL) — порт 9092
|
||||
# на обычном (не headless) сервисе kafka-kafka-contour. Порт 9094 —
|
||||
# это INTERNAL (SASL_PLAINTEXT, inter-broker), не для приложений;
|
||||
# 9093 — CONTROLLER (raft, свой API, METADATA не поддерживает).
|
||||
# Сертификат брокера (SAN) покрывает голое имя kafka-kafka-contour,
|
||||
# но НЕ голое имя headless-сервиса (только *.<headless> с одним
|
||||
# префиксом-подом) — поэтому именно обычный сервис, не headless.
|
||||
# Задано переменной, а не vault-шаблоном, специально: ошибка в шаблоне
|
||||
# блокирует старт пода (agent-init-first), ошибка в env — только логи.
|
||||
- name: KAFKA_HOST
|
||||
value:
|
||||
_default: "kafka-kafka-contour-controller-headless.kafka.svc.cluster.local"
|
||||
_default: "kafka-kafka-contour.kafka.svc.cluster.local"
|
||||
|
||||
- name: KAFKA_PORT
|
||||
value:
|
||||
_default: "9094"
|
||||
_default: "9092"
|
||||
|
||||
# listeners.client.protocol: SASL_SSL — без CA соединение не поднимется.
|
||||
- name: KAFKA_SSL_CAFILE
|
||||
value:
|
||||
_default: "/usr/local/share/ca-certificates/kafka.crt"
|
||||
|
||||
# В секрете pm security_protocol = SASL_PLAINTEXT — верно для того,
|
||||
# как им пользуется сам pm, но реальный листенер (см. выше) требует
|
||||
# SASL_SSL. Фиксируем тут, а не из вольта, чтобы не переписать это
|
||||
# значение обратно на PLAINTEXT — по той же причине, что и KAFKA_HOST/PORT.
|
||||
- name: KAFKA_SECURITY_PROTOCOL
|
||||
value:
|
||||
_default: "SASL_SSL"
|
||||
|
||||
volumes:
|
||||
_default:
|
||||
- name: kafka-ca-cert
|
||||
mountPath:
|
||||
_default: /usr/local/share/ca-certificates/kafka.crt
|
||||
subPath:
|
||||
_default: kafka.crt
|
||||
readOnly:
|
||||
_default: true
|
||||
configMap:
|
||||
name:
|
||||
_default: kafka-ca-cert
|
||||
items:
|
||||
- key: kafka.crt
|
||||
path:
|
||||
_default: kafka.crt
|
||||
|
||||
podAnnotations:
|
||||
_default:
|
||||
# Из base убраны KAFKA_HOST/KAFKA_PORT: файл /vault/secrets/message-hub-kafka
|
||||
# подгружается через `set -a; . file`, то есть переписывает переменные
|
||||
# окружения. Пока хост не подтверждён, держим его в envs.
|
||||
# Из base убраны KAFKA_HOST/KAFKA_PORT/KAFKA_SECURITY_PROTOCOL: файл
|
||||
# /vault/secrets/message-hub-kafka подгружается через `set -a; . file`,
|
||||
# то есть переписывает переменные окружения поверх envs.
|
||||
vault.hashicorp.com/agent-inject-secret-message-hub-kafka: secrets/data/kafka/apps/pm
|
||||
vault.hashicorp.com/agent-inject-template-message-hub-kafka: |-
|
||||
{{- with secret "secrets/data/kafka/apps/pm" -}}
|
||||
KAFKA_USERNAME={{ index .Data.data "username" }}
|
||||
KAFKA_PASSWORD={{ index .Data.data "password" }}
|
||||
KAFKA_SECURITY_PROTOCOL={{ index .Data.data.auth "security_protocol" }}
|
||||
KAFKA_SASL_MECHANISM={{ index .Data.data.auth "sasl_mechanism" }}
|
||||
{{- end -}}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user