GithubHelp home page GithubHelp logo

kafka-k8s-operator's Introduction

Kafka K8s Operator

code style Run-Tests

Kafka K8s

Description

Apache Kafka is an open-source distributed event streaming platform used by thousands of companies for high-performance data pipelines, streaming analytics, data integration, and mission-critical applications.

This repository contains a Charm Operator for deploying the Kafka in a Kubernetes cluster.

How-to guides

Deploy Kafka

The Kafka K8s Operator may be deployed using the Juju command line as in

$ juju add-model kafka-k8s
$ juju deploy kafka-k8s --trust
$ juju deploy zookeeper-k8s
$ juju relate kafka-k8s zookeeper-k8s

Scale Kafka

Scale Kafka by executing the following command

$ juju scale-application kafka-k8s 3

Integration with Canonical Observability Stack

This exporter can very easily be integrated with Canonical Observability Stack (COS).

To do so, after following the steps from the previous section, execute the following commands:

$ juju deploy cos-lite --channel beta --trust
$ juju upgrade-charm grafana --channel edge
$ juju relate grafana kafka-k8s
$ juju relate prometheus kafka-k8s

Wait until everything is deployed:

$ watch -c juju status --color
Model      Controller          Cloud/Region        Version  SLA          Timestamp
kafka-k8s  microk8s-localhost  microk8s/localhost  2.9.25   unsupported  15:33:09+01:00

App            Version  Status   Scale  Charm             Store     Channel  Rev  OS          Address          Message
alertmanager            waiting      1  alertmanager-k8s  charmhub  beta       9  kubernetes  10.152.183.185
grafana                 active       1  grafana-k8s       charmhub  edge      28  kubernetes  10.152.183.247
kafka-k8s               active       1  kafka-k8s         charmhub  edge       0  kubernetes  10.152.183.25
loki                    active       1  loki-k8s          charmhub  beta      13  kubernetes  10.152.183.32
prometheus              active       1  prometheus-k8s    charmhub  beta      19  kubernetes  10.152.183.211
zookeeper-k8s           active       1  zookeeper-k8s     charmhub  edge      10  kubernetes  10.152.183.153

Unit              Workload     Agent  Address       Ports  Message
alertmanager/0*   active       idle   10.1.245.86
grafana/0*        active       idle   10.1.245.101
kafka-k8s/0*      active       idle   10.1.245.68
loki/0*           active       idle   10.1.245.107
prometheus/0*     active       idle   10.1.245.82
zookeeper-k8s/0*  active       idle   10.1.245.81

To see the metrics, you can get the grafana admin password as follows:

$ juju run-action grafana/0 get-admin-password --wait
unit-grafana-0:
  UnitId: grafana/0
  id: "2"
  results:
    admin-password: *************
  status: completed
  timing:
    completed: 2022-03-02 14:31:49 +0000 UTC
    enqueued: 2022-03-02 14:31:39 +0000 UTC
    started: 2022-03-02 14:31:48 +0000 UTC

Open your browser and go to the Grafana dashboard at port 3000.

Reference

Explanation

Contributing

Please see the Juju SDK docs for guidelines on enhancements to this charm following best practice guidelines, and CONTRIBUTING.md for developer guidance.

kafka-k8s-operator's People

Contributors

davigar15 avatar dstathis avatar marcoppenheimer avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.