Using the Streams for Apache Kafka Console Red Hat Streams for Apache Kafka 2.7 The Streams for Apache Kafka console supports your deployment of Streams for Apache Kafka.

Commands:
SESSION_SECRET=USD(LC_CTYPE=C openssl rand -base64 32) echo "Generated SESSION_SECRET: USDSESSION_SECRET" NEXTAUTH_SECRET=USD(LC_CTYPE=C openssl rand -base64 32) echo "Generated NEXTAUTH_SECRET: USDNEXTAUTH_SECRET"
sed -i 's/USD{NAMESPACE}/'"my-project"'/g' <resource_path>/console-prometheus-server.clusterrolebinding.yaml
Prometheus security resources apply -n my-project -f <resource_path>/prometheus/console-prometheus-server.clusterrole.yaml apply -n my-project -f <resource_path>/prometheus/console-prometheus-server.serviceaccount.yaml apply -n my-project -f <resource_path>/prometheus/console-prometheus-server.clusterrolebinding.yaml Prometheus PodMonitor and Kubernetes scrape configurations apply -n my-project -f <resource_path>/prometheus/kafka-resources.podmonitor.yaml apply -n my-project -f <resource_path>/prometheus/kubernetes-scrape-configs.secret.yaml Prometheus instance apply -n my-project -f <resource_path>/prometheus/console-prometheus.prometheus.yaml
apiVersion: kafka.strimzi.io/v1beta2 kind: KafkaUser metadata: name: console-kafka-user1 labels: strimzi.io/cluster: console-kafka spec: authentication: type: scram-sha-512 authorization: type: simple acls: - resource: type: cluster name: "" patternType: literal operations: - Describe - DescribeConfigs - resource: type: topic name: "*" patternType: literal operations: - Read - Describe - DescribeConfigs - resource: type: group name: "*" patternType: literal operations: - Read - Describe
sed -i 's/type: USD{LISTENER_TYPE}/type: route/g' console-kafka.kafka.yaml sed -i 's/\USD{CLUSTER_DOMAIN}/'"<my_router_base_domain>"'/g' console-kafka.kafka.yaml
Metrics configuration apply -n my-project -f <resource_path>/console-kafka-metrics.configmap.yaml Create the cluster apply -n my-project -f <resource_path>/console-kafka.kafka.yaml Create a user for the cluster apply -n my-project -f <resource_path>/console-kafka-user1.kafkauser.yaml
apiVersion: monitoring.coreos.com/v1 kind: PodMonitor metadata: name: kafka-resources labels: app: console-kafka-monitor spec: namespaceSelector: matchNames: - <kafka_namespace> #
get pods -n <my_console_namespace>
NAME READY STATUS RESTARTS strimzi-cluster-operator 1/1 Running 0 console-kafka-kafka-0 1/1 Running 0 console-kafka-kafka-1 1/1 Running 0 console-kafka-kafka-2 1/1 Running 0 prometheus-operator-... 1/1 Running 0 prometheus-console-prometheus 1/1 Running 0
sed -i 's/USD{NAMESPACE}/'"my-project"'/g' /<resource_path>console-server.clusterrolebinding.yaml
Console security resources apply -n my-project -f <resource_path>/console-server.clusterrole.yaml apply -n my-project -f <resource_path>/console-server.serviceaccount.yaml apply -n my-project -f <resource_path>/console-server.clusterrolebinding.yaml Console user interface service apply -n my-project -f <resource_path>/console-ui.service.yaml Console route apply -n my-project -f <resource_path>/console-ui.route.yaml
create secret generic console-ui-secrets -n my-project --from-literal=SESSION_SECRET="<session_secret_value>" --from-literal=NEXTAUTH_SECRET="<next_secret_value>"
get route console-ui-route -n my-project -o jsonpath='{.spec.host}'
sed -i 's/USD{CONSOLE_HOSTNAME}/'"<route_hostname>"'/g' console.deployment.yaml sed -i 's/USD{NAMESPACE}/'"my-project"'/g' console.deployment.yaml
apply -n my-project -f <resource_path>/console.deployment.yaml
NAME READY STATUS RESTARTS strimzi-cluster-operator 1/1 Running 0 console-kafka-kafka-0 1/1 Running 0 console-kafka-kafka-0 1/1 Running 0 console-kafka-kafka-0 1/1 Running 0 prometheus-operator-... 1/1 Running 0 prometheus-console-prometheus 1/1 Running 0 console-... 2/2 Running 0
apiVersion: kafka.strimzi.io/v1beta2 kind: Kafka metadata: name: console-kafka namespace: my-project spec: entityOperator: topicOperator: {} userOperator: {} kafka: authorization: type: simple config: allow.everyone.if.no.acl.found: 'true' default.replication.factor: 3 inter.broker.protocol.version: '3.6' min.insync.replicas: 2 offsets.topic.replication.factor: 3 transaction.state.log.min.isr: 2 transaction.state.log.replication.factor: 3 listeners: 1 - name: route1 port: 9094 tls: true type: route authentication: type: scram-sha-512 replicas: 3 storage: type: jbod volumes: - id: 0 type: persistent-claim size: 10Gi deleteClaim: false metricsConfig: 2 type: jmxPrometheusExporter valueFrom: configMapKeyRef: name: console-cluster-metrics key: kafka-metrics-config.yml version: 3.6.0 zookeeper: replicas: 3 storage: deleteClaim: false size: 10Gi type: persistent-claim metricsConfig: 3 type: jmxPrometheusExporter valueFrom: configMapKeyRef: name: console-cluster-metrics key: zookeeper-metrics-config.yml
apiVersion: apps/v1 kind: Deployment metadata: name: console spec: replicas: 1 # template: metadata: labels: app: console spec: # containers: - name: console-api # env: - name: KAFKA_SECURITY_PROTOCOL 1 value: SASL_SSL - name: KAFKA_SASL_MECHANISM 2 value: SCRAM-SHA-512 - name: CONSOLE_KAFKA_CLUSTER1 3 value: my-project/console-kafka - name: CONSOLE_KAFKA_CLUSTER1_BOOTSTRAP_SERVERS 4 value: console-kafka-route1-bootstrap-my-project.router.com:443 - name: CONSOLE_KAFKA_CLUSTER1_SASL_JAAS_CONFIG 5 valueFrom: secretKeyRef: name: console-kafka-user1 key: sasl.jaas.config - name: console-ui # env: - name: NEXTAUTH_SECRET 6 valueFrom: secretKeyRef: name: console-ui-secrets key: NEXTAUTH_SECRET - name: SESSION_SECRET 7 valueFrom: secretKeyRef: name: console-ui-secrets key: SESSION_SECRET - name: NEXTAUTH_URL 8 value: 'https://console-ui-route-my-project.router.com' - name: BACKEND_URL 9 value: 'http://127.0.0.1:8080' - name: CONSOLE_METRICS_PROMETHEUS_URL 10 value: 'http://prometheus-operated.my-project.svc.cluster.local:9090'
dnf install <package_name>
dnf install <path_to_download_package>