Требования к среде
- Linux x86_64
- Java 11
- PostgreSQL 14 или новее
- корректно настроенный Kerberos client environment на хосте
- сетевой доступ до PostgreSQL и Kafka
KafkaKombat - бесплатный Kafka UI / Kafka manager для Apache Kafka в Kerberos-based environments. На этой странице собран практический сценарий запуска: что подготовить заранее, как установить серверный дистрибутив и с чего начать, если тебе нужна Kubernetes-упаковка через Helm
KafkaKombat рассчитан не на произвольную stand-alone установку, а на инфраструктуру, где Kerberos является обязательной частью модели доступа
KafkaKombat рассчитан на Apache Kafka-среды, где Kerberos не является опцией, а входит в реальную production-модель доступа. На практике это означает Kafka client runtime с поддержкой SASL/GSSAPI, валидный krb5.conf, рабочую модель ticket handling и такой deployment-подход, при котором обычные UI-запросы выполняются в Kerberos-контексте залогиненного пользователя. Продукт уже используется в development и production средах с несколькими Kerberos-защищёнными Kafka-кластерами.
Самый безопасный старт для первого знакомства с проектом - обычная серверная установка на Linux. Ниже приведён общий сценарий, близкий к реальному installation flow
Заранее создай пользователя, под которым будет работать KafkaKombat, и выдели каталог установки. Installer ожидает, что эта часть уже подготовлена
sudo useradd -r -m -d /opt/kafkakombat kafkakombat
sudo mkdir -p /opt/kafkakombat
sudo chown -R kafkakombat:kafkakombat /opt/kafkakombat
Перед запуском installer база и пользователь PostgreSQL уже должны существовать. Отдельно проверь сетевую связность и credentials
CREATE USER kafkakombat_admin WITH PASSWORD 'XXXXXXXXXXXXXX';
CREATE DATABASE kafkakombat OWNER kafkakombat_admin;
GRANT ALL PRIVILEGES ON DATABASE kafkakombat TO kafkakombat_admin;
KafkaKombat работает только в Kerberos-based environments. На хосте должны быть доступны корректный krb5.conf, principal, keytab и рабочая связность до KDC
sudo install -d -m 700 /opt/kafkakombat/security
sudo cp /secure/path/kafkakombat.keytab /opt/kafkakombat/security/
sudo chown kafkakombat:kafkakombat /opt/kafkakombat/security/kafkakombat.keytab
sudo chmod 600 /opt/kafkakombat/security/kafkakombat.keytab
Главный installation input обычно находится в install/install.config. Именно от него installer строит итоговую runtime-конфигурацию и служебные файлы
APP_USER=kafkakombat
APP_GROUP=kafkakombat
JAVA_HOME=/usr/lib/jvm/jdk-11
HTTP_PORT=18999
DB_DRIVER=org.postgresql.Driver
DB_URL=jdbc:postgresql://pg.example.com/kafkakombat
DB_USER=kafkakombat_admin
DB_PASSWORD=CHANGE_ME_DATABASE_PASSWORD
KERBEROS_KRB5CONF_PATH=/etc/krb5.conf
KERBEROS_USER_PRINCIPAL_TEMPLATE={0}@EXAMPLE.COM
KERBEROS_SERVICE_PRINCIPAL=kafka/host.example.com@EXAMPLE.COM
KERBEROS_SERVICE_KEYTAB_SOURCE=/path/to/source/service.keytab
DIRECTORY_URL=ldaps://ldap.example.com:636
DIRECTORY_BIND_DN=uid=service-account,cn=users,cn=accounts,dc=example,dc=com
DIRECTORY_BIND_PASSWORD=CHANGE_ME_DIRECTORY_BIND_PASSWORD
После installation secrets не должны оставаться в открытом виде в рабочем каталоге. Защити installation file или удали его после успешного завершения установки
Installer подготавливает runtime layout, генерирует финальную конфигурацию, создаёт служебные файлы и при необходимости применяет SQL schema / DB patches
cd /opt/kafkakombat/install
./install.sh
После installation проверь запуск приложения, доступность UI, подключение к PostgreSQL и базовую интеграцию с Kafka
bin/kafkakombat-service.sh start
bin/kafkakombat-service.sh status
bin/kafkakombat-service.sh restart
bin/kafkakombat-service.sh stop
Helm chart поставляется как нейтральный deployment baseline. Это хороший вариант, если у тебя уже есть свой Kubernetes operating model и понятный способ доставки secrets
install.config в Kubernetes Secrethelm lint .
helm template kafkakombat . -f values.example.yaml
helm install kafkakombat . -f values.example.yaml --namespace kafkakombat --create-namespace
Если ты только знакомишься с проектом, лучше сначала пройти обычный Linux installation flow: проверить Kerberos, PostgreSQL, базовый login flow и работу с Kafka из UI. Helm chart удобен как следующий шаг, когда application behavior уже подтверждён в твоём окружении. Актуальные дистрибутивы и Helm chart доступны бесплатно