<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Get started in Kubernetes · Apache Pulsar</title><meta name="viewport" content="width=device-width, initial-scale=1.0"/><meta name="generator" content="Docusaurus"/><meta name="description" content="This section guides you through every step of installing and running Apache Pulsar with Helm on Kubernetes quickly, including the following sections:"/><meta name="docsearch:version" content="2.6.4"/><meta name="docsearch:language" content="en"/><meta property="og:title" content="Get started in Kubernetes · Apache Pulsar"/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.apache.org/"/><meta property="og:description" content="This section guides you through every step of installing and running Apache Pulsar with Helm on Kubernetes quickly, including the following sections:"/><meta name="twitter:card" content="summary"/><meta name="twitter:image" content="https://pulsar.apache.org/img/pulsar.svg"/><link rel="shortcut icon" href="/img/pulsar.ico"/><link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/highlight.js/9.12.0/styles/atom-one-dark.min.css"/><link rel="alternate" type="application/atom+xml" href="https://pulsar.apache.org/blog/atom.xml" title="Apache Pulsar Blog ATOM Feed"/><link rel="alternate" type="application/rss+xml" href="https://pulsar.apache.org/blog/feed.xml" title="Apache Pulsar Blog RSS Feed"/><link rel="stylesheet" href="/css/code-blocks-buttons.css"/><script type="text/javascript" src="https://buttons.github.io/buttons.js"></script><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.0/clipboard.min.js"></script><script type="text/javascript" src="/js/custom.js"></script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/en"><img class="logo" src="/img/pulsar.svg" alt="Apache Pulsar"/></a><a href="/en/versions"><h3>2.6.4</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-internal"><li class="siteNavGroupActive"><a href="/docs/en/2.6.4/getting-started-standalone" target="_self">Docs</a></li><li class=""><a href="/en/download" target="_self">Download</a></li><li class="siteNavGroupActive"><a href="/docs/en/2.6.4/client-libraries" target="_self">Clients</a></li><li class=""><a href="#restapis" target="_self">REST APIs</a></li><li class=""><a href="#cli" target="_self">Cli</a></li><li class=""><a href="/blog/" target="_self">Blog</a></li><li class=""><a href="#community" target="_self">Community</a></li><li class=""><a href="#apache" target="_self">Apache</a></li><li class=""><a href="https://pulsar-next.staged.apache.org/" target="_self">New Website (Beta)</a></li><span><li><a id="languages-menu" href="#"><img class="languages-icon" src="/img/language.svg" alt="Languages icon"/>English</a><div id="languages-dropdown" class="hide"><ul id="languages-dropdown-items"><li><a href="/docs/ja/2.6.4/getting-started-helm">日本語</a></li><li><a href="/docs/fr/2.6.4/getting-started-helm">Français</a></li><li><a href="/docs/ko/2.6.4/getting-started-helm">한국어</a></li><li><a href="/docs/zh-CN/2.6.4/getting-started-helm">中文</a></li><li><a href="/docs/zh-TW/2.6.4/getting-started-helm">繁體中文</a></li><li><a href="https://crowdin.com/project/apache-pulsar" target="_blank" rel="noreferrer noopener">Help Translate</a></li></ul></div></li><script>
        const languagesMenuItem = document.getElementById("languages-menu");
        const languagesDropDown = document.getElementById("languages-dropdown");
        languagesMenuItem.addEventListener("click", function(event) {
          event.preventDefault();

          if (languagesDropDown.className == "hide") {
            languagesDropDown.className = "visible";
          } else {
            languagesDropDown.className = "hide";
          }
        });
      </script></span></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line1"></div><div class="line2"></div><div class="line3"></div></div></div><h2><i>›</i><span>Get Started</span></h2><div class="tocToggler" id="tocToggler"><i class="icon-toc"></i></div></div><div class="navGroups"><div class="navGroup"><h3 class="navGroupCategoryTitle">Get Started</h3><ul class=""><li class="navListItem"><a class="navItem" href="/docs/en/2.6.4/pulsar-2.0">Pulsar 2.0</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.6.4/getting-started-standalone">Run Pulsar locally</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.6.4/getting-started-docker">Run Pulsar in Docker</a></li><li class="navListItem navListItemActive"><a class="navItem" href="/docs/en/2.6.4/getting-started-helm">Run Pulsar in Kubernetes</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.6.4/client-libraries">Use Pulsar with client libraries</a></li></ul></div><div class="navGroup"><h3 class="navGroupCategoryTitle">Concepts and Architecture</h3><ul class=""><li class="navListItem"><a class="navItem" href="/docs/en/2.6.4/concepts-overview">Overview</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.6.4/concepts-messaging">Messaging</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.6.4/concepts-architecture-overview">Architecture</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.6.4/concepts-clients">Clients</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.6.4/concepts-replication">Geo Replication</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.6.4/concepts-multi-tenancy">Multi Tenancy</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.6.4/concepts-authentication">Authentication and Authorization</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.6.4/concepts-topic-compaction">Topic Compaction</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.6.4/concepts-tiered-storage">Tiered Storage</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.6.4/concepts-proxy-sni-routing">Proxy support with SNI routing</a></li></ul></div><div class="navGroup"><h3 class="navGroupCategoryTitle">Pulsar Schema</h3><ul class=""><li class="navListItem"><a class="navItem" href="/docs/en/2.6.4/schema-get-started">Get started</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.6.4/schema-understand">Understand schema</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.6.4/schema-evolution-compatibility">Schema evolution and compatibility</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.6.4/schema-manage">Manage schema</a></li></ul></div><div class="navGroup"><h3 class="navGroupCategoryTitle">Pulsar Functions</h3><ul class=""><li class="navListItem"><a class="navItem" href="/docs/en/2.6.4/functions-overview">Overview</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.6.4/functions-worker">Setup: Pulsar Functions Worker</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.6.4/functions-runtime">Setup: Configure Functions runtime</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.6.4/functions-develop">How-to: Develop</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.6.4/functions-debug">How-to: Debug</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.6.4/functions-deploy">How-to: Deploy</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.6.4/functions-cli">Reference: CLI</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.6.4/window-functions-context">Window Functions: Context</a></li></ul></div><div class="navGroup"><h3 class="navGroupCategoryTitle">Pulsar IO</h3><ul class=""><li class="navListItem"><a class="navItem" href="/docs/en/2.6.4/io-overview">Overview</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.6.4/io-quickstart">Get started</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.6.4/io-use">Use</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.6.4/io-debug">Debug</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.6.4/io-connectors">Built-in connector</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.6.4/io-cdc">CDC connector</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.6.4/io-develop">Develop</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.6.4/io-cli">CLI</a></li></ul></div><div class="navGroup"><h3 class="navGroupCategoryTitle">Pulsar SQL</h3><ul class=""><li class="navListItem"><a class="navItem" href="/docs/en/2.6.4/sql-overview">Overview</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.6.4/sql-getting-started">Query data</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.6.4/sql-deployment-configurations">Configuration and deployment</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.6.4/sql-rest-api">REST APIs</a></li></ul></div><div class="navGroup"><h3 class="navGroupCategoryTitle">Kubernetes (Helm)</h3><ul class=""><li class="navListItem"><a class="navItem" href="/docs/en/2.6.4/helm-overview">Overview</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.6.4/helm-prepare">Prepare</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.6.4/helm-install">Install</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.6.4/helm-deploy">Deployment</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.6.4/helm-upgrade">Upgrade</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.6.4/helm-tools">Required Tools</a></li></ul></div><div class="navGroup"><h3 class="navGroupCategoryTitle">Deployment</h3><ul class=""><li class="navListItem"><a class="navItem" href="/docs/en/2.6.4/deploy-aws">Amazon Web Services</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.6.4/deploy-kubernetes">Kubernetes</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.6.4/deploy-bare-metal">Bare metal</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.6.4/deploy-bare-metal-multi-cluster">Bare metal multi-cluster</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.6.4/deploy-monitoring">Monitoring</a></li></ul></div><div class="navGroup"><h3 class="navGroupCategoryTitle">Administration</h3><ul class=""><li class="navListItem"><a class="navItem" href="/docs/en/2.6.4/administration-zk-bk">ZooKeeper and BookKeeper</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.6.4/administration-geo">Geo-replication</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.6.4/administration-pulsar-manager">Pulsar Manager</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.6.4/administration-stats">Pulsar statistics</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.6.4/administration-load-balance">Load balance</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.6.4/administration-proxy">Pulsar proxy</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.6.4/administration-upgrade">Upgrade</a></li></ul></div><div class="navGroup"><h3 class="navGroupCategoryTitle">Security</h3><ul class=""><li class="navListItem"><a class="navItem" href="/docs/en/2.6.4/security-overview">Overview</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.6.4/security-tls-transport">Transport Encryption using TLS</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.6.4/security-tls-authentication">Authentication using TLS</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.6.4/security-tls-keystore">Using TLS with KeyStore configure</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.6.4/security-jwt">Authentication using JWT</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.6.4/security-athenz">Authentication using Athenz</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.6.4/security-kerberos">Authentication using Kerberos</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.6.4/security-oauth2">Authentication using OAuth 2.0 access tokens</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.6.4/security-authorization">Authorization and ACLs</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.6.4/security-encryption">End-to-End Encryption</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.6.4/security-extending">Extending</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.6.4/security-bouncy-castle">Bouncy Castle Providers</a></li></ul></div><div class="navGroup"><h3 class="navGroupCategoryTitle">Performance</h3><ul class=""><li class="navListItem"><a class="navItem" href="/docs/en/2.6.4/performance-pulsar-perf">Pulsar Perf</a></li></ul></div><div class="navGroup"><h3 class="navGroupCategoryTitle">Client Libraries</h3><ul class=""><li class="navListItem"><a class="navItem" href="/docs/en/2.6.4/client-libraries-java">Java</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.6.4/client-libraries-go">Go</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.6.4/client-libraries-python">Python</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.6.4/client-libraries-cpp">C++</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.6.4/client-libraries-node">Node.js</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.6.4/client-libraries-websocket">WebSocket</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.6.4/client-libraries-dotnet">C#</a></li></ul></div><div class="navGroup"><h3 class="navGroupCategoryTitle">Admin API</h3><ul class=""><li class="navListItem"><a class="navItem" href="/docs/en/2.6.4/admin-api-overview">Overview</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.6.4/admin-api-clusters">Clusters</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.6.4/admin-api-tenants">Tenants</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.6.4/admin-api-brokers">Brokers</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.6.4/admin-api-namespaces">Namespaces</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.6.4/admin-api-permissions">Permissions</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.6.4/admin-api-persistent-topics">Persistent topics</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.6.4/admin-api-non-persistent-topics">Non-Persistent topics</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.6.4/admin-api-partitioned-topics">Partitioned topics</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.6.4/admin-api-non-partitioned-topics">Non-Partitioned topics</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.6.4/admin-api-schemas">Schemas</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.6.4/admin-api-functions">Functions</a></li></ul></div><div class="navGroup"><h3 class="navGroupCategoryTitle">Adaptors</h3><ul class=""><li class="navListItem"><a class="navItem" href="/docs/en/2.6.4/adaptors-kafka">Kafka client wrapper</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.6.4/adaptors-spark">Apache Spark</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.6.4/adaptors-storm">Apache Storm</a></li></ul></div><div class="navGroup"><h3 class="navGroupCategoryTitle">Cookbooks</h3><ul class=""><li class="navListItem"><a class="navItem" href="/docs/en/2.6.4/cookbooks-tiered-storage">Tiered Storage</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.6.4/cookbooks-compaction">Topic compaction</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.6.4/cookbooks-deduplication">Message deduplication</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.6.4/cookbooks-non-persistent">Non-persistent messaging</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.6.4/cookbooks-partitioned">Partitioned Topics</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.6.4/cookbooks-retention-expiry">Message retention and expiry</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.6.4/cookbooks-encryption">Encryption</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.6.4/cookbooks-message-queue">Message queue</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.6.4/cookbooks-bookkeepermetadata">BookKeeper Ledger Metadata</a></li></ul></div><div class="navGroup"><h3 class="navGroupCategoryTitle">Development</h3><ul class=""><li class="navListItem"><a class="navItem" href="/docs/en/2.6.4/develop-tools">Simulation tools</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.6.4/developing-binary-protocol">Binary protocol</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.6.4/develop-schema">Custom schema storage</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.6.4/develop-load-manager">Modular load manager</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.6.4/develop-cpp">Building Pulsar C++ client</a></li></ul></div><div class="navGroup"><h3 class="navGroupCategoryTitle">Reference</h3><ul class=""><li class="navListItem"><a class="navItem" href="/docs/en/2.6.4/reference-terminology">Terminology</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.6.4/reference-cli-tools">Pulsar CLI tools</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.6.4/reference-configuration">Pulsar configuration</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.6.4/reference-metrics">Pulsar Metrics</a></li></ul></div></div></section></div><script>
            var coll = document.getElementsByClassName('collapsible');
            var checkActiveCategory = true;
            for (var i = 0; i < coll.length; i++) {
              var links = coll[i].nextElementSibling.getElementsByTagName('*');
              if (checkActiveCategory){
                for (var j = 0; j < links.length; j++) {
                  if (links[j].classList.contains('navListItemActive')){
                    coll[i].nextElementSibling.classList.toggle('hide');
                    coll[i].childNodes[1].classList.toggle('rotate');
                    checkActiveCategory = false;
                    break;
                  }
                }
              }

              coll[i].addEventListener('click', function() {
                var arrow = this.childNodes[1];
                arrow.classList.toggle('rotate');
                var content = this.nextElementSibling;
                content.classList.toggle('hide');
              });
            }

            document.addEventListener('DOMContentLoaded', function() {
              createToggler('#navToggler', '#docsNav', 'docsSliderActive');
              createToggler('#tocToggler', 'body', 'tocActive');

              var headings = document.querySelector('.toc-headings');
              headings && headings.addEventListener('click', function(event) {
                var el = event.target;
                while(el !== headings){
                  if (el.tagName === 'A') {
                    document.body.classList.remove('tocActive');
                    break;
                  } else{
                    el = el.parentNode;
                  }
                }
              }, false);

              function createToggler(togglerSelector, targetSelector, className) {
                var toggler = document.querySelector(togglerSelector);
                var target = document.querySelector(targetSelector);

                if (!toggler) {
                  return;
                }

                toggler.onclick = function(event) {
                  event.preventDefault();

                  target.classList.toggle(className);
                };
              }
            });
        </script></nav></div><div class="container mainContainer docsContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://github.com/apache/pulsar/edit/master/site2/docs/getting-started-helm.md" target="_blank" rel="noreferrer noopener">Edit</a><h1 id="__docusaurus" class="postHeaderTitle">Get started in Kubernetes</h1></header><article><div><span><p>This section guides you through every step of installing and running Apache Pulsar with Helm on Kubernetes quickly, including the following sections:</p>
<ul>
<li>Install the Apache Pulsar on Kubernetes using Helm</li>
<li>Start and stop Apache Pulsar</li>
<li>Create topics using <code>pulsar-admin</code></li>
<li>Produce and consume messages using Pulsar clients</li>
<li>Monitor Apache Pulsar status with Prometheus and Grafana</li>
</ul>
<p>For deploying a Pulsar cluster for production usage, read the documentation on <a href="/docs/en/2.6.4/helm-deploy">how to configure and install a Pulsar Helm chart</a>.</p>
<h2><a class="anchor" aria-hidden="true" id="prerequisite"></a><a href="#prerequisite" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Prerequisite</h2>
<ul>
<li>Kubernetes server 1.14.0+</li>
<li>kubectl 1.14.0+</li>
<li>Helm 3.0+</li>
</ul>
<blockquote>
<h4><a class="anchor" aria-hidden="true" id="tip"></a><a href="#tip" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Tip</h4>
<p>For the following steps, step 2 and step 3 are for <strong>developers</strong> and step 4 and step 5 are for <strong>administrators</strong>.</p>
</blockquote>
<h2><a class="anchor" aria-hidden="true" id="step-0-prepare-a-kubernetes-cluster"></a><a href="#step-0-prepare-a-kubernetes-cluster" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Step 0: Prepare a Kubernetes cluster</h2>
<p>Before installing a Pulsar Helm chart, you have to create a Kubernetes cluster. You can follow <a href="/docs/en/2.6.4/helm-prepare">the instructions</a> to prepare a Kubernetes cluster.</p>
<p>We use <a href="https://minikube.sigs.k8s.io/docs/start/">Minikube</a> in this quick start guide. To prepare a Kubernetes cluster, follow these steps:</p>
<ol>
<li><p>Create a Kubernetes cluster on Minikube.</p>
<pre><code class="hljs css language-bash">minikube start --memory=8192 --cpus=4 --kubernetes-version=&lt;k8s-version&gt;
</code></pre>
<p>The <code>&lt;k8s-version&gt;</code> can be any <a href="https://minikube.sigs.k8s.io/docs/reference/configuration/kubernetes/">Kubernetes version supported by your Minikube installation</a>, such as <code>v1.16.1</code>.</p></li>
<li><p>Set <code>kubectl</code> to use Minikube.</p>
<pre><code class="hljs css language-bash">kubectl config use-context minikube
</code></pre></li>
<li><p>To use the <a href="https://kubernetes.io/docs/tasks/access-application-cluster/web-ui-dashboard/">Kubernetes Dashboard</a> with the local Kubernetes cluster on Minikube, enter the command below:</p>
<pre><code class="hljs css language-bash">minikube dashboard
</code></pre>
<p>The command automatically triggers opening a webpage in your browser.</p></li>
</ol>
<h2><a class="anchor" aria-hidden="true" id="step-1-install-pulsar-helm-chart"></a><a href="#step-1-install-pulsar-helm-chart" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Step 1: Install Pulsar Helm chart</h2>
<ol>
<li><p>Clone the Pulsar Helm chart repository.</p>
<pre><code class="hljs css language-bash">git <span class="hljs-built_in">clone</span> https://github.com/apache/pulsar
<span class="hljs-built_in">cd</span> deployment/kubernetes/helm/
</code></pre></li>
<li><p>Run the script <code>prepare_helm_release.sh</code> to create secrets required for installing the Apache Pulsar Helm chart. The username <code>pulsar</code> and password <code>pulsar</code> are used for logging into the Grafana dashboard and Pulsar Manager.</p>
<pre><code class="hljs css language-bash">./scripts/pulsar/prepare_helm_release.sh \
    -n pulsar \
    -k pulsar-mini \
    --control-center-admin pulsar \
    --control-center-password pulsar \
    -c
</code></pre></li>
<li><p>Use the Pulsar Helm chart to install a Pulsar cluster to Kubernetes.</p>
<pre><code class="hljs css language-bash">helm install \
    --values examples/values-minikube.yaml \
    pulsar-mini pulsar
</code></pre></li>
<li><p>Check the status of all pods.</p>
<pre><code class="hljs css language-bash">kubectl get pods -n pulsar
</code></pre>
<p>If all pods start up successfully, you can see that the <code>STATUS</code> is changed to <code>Running</code> or <code>Completed</code>.</p>
<p><strong>Output</strong></p>
<pre><code class="hljs css language-bash">NAME                                         READY   STATUS      RESTARTS   AGE
pulsar-mini-bookie-0                         1/1     Running     0          9m27s
pulsar-mini-bookie-init-5gphs                0/1     Completed   0          9m27s
pulsar-mini-broker-0                         1/1     Running     0          9m27s
pulsar-mini-grafana-6b7bcc64c7-4tkxd         1/1     Running     0          9m27s
pulsar-mini-prometheus-5fcf5dd84c-w8mgz      1/1     Running     0          9m27s
pulsar-mini-proxy-0                          1/1     Running     0          9m27s
pulsar-mini-pulsar-init-t7cqt                0/1     Completed   0          9m27s
pulsar-mini-pulsar-manager-9bcbb4d9f-htpcs   1/1     Running     0          9m27s
pulsar-mini-toolset-0                        1/1     Running     0          9m27s
pulsar-mini-zookeeper-0                      1/1     Running     0          9m27s
</code></pre></li>
<li><p>Check the status of all services in the namespace <code>pulsar</code>.</p>
<pre><code class="hljs css language-bash">kubectl get services -n pulsar
</code></pre>
<p><strong>Output</strong></p>
<pre><code class="hljs css language-bash">NAME                         TYPE           CLUSTER-IP       EXTERNAL-IP   PORT(S)                       AGE
pulsar-mini-bookie           ClusterIP      None             &lt;none&gt;        3181/TCP,8000/TCP             11m
pulsar-mini-broker           ClusterIP      None             &lt;none&gt;        8080/TCP,6650/TCP             11m
pulsar-mini-grafana          LoadBalancer   10.106.141.246   &lt;pending&gt;     3000:31905/TCP                11m
pulsar-mini-prometheus       ClusterIP      None             &lt;none&gt;        9090/TCP                      11m
pulsar-mini-proxy            LoadBalancer   10.97.240.109    &lt;pending&gt;     80:32305/TCP,6650:31816/TCP   11m
pulsar-mini-pulsar-manager   LoadBalancer   10.103.192.175   &lt;pending&gt;     9527:30190/TCP                11m
pulsar-mini-toolset          ClusterIP      None             &lt;none&gt;        &lt;none&gt;                        11m
pulsar-mini-zookeeper        ClusterIP      None             &lt;none&gt;        2888/TCP,3888/TCP,2181/TCP    11m
</code></pre></li>
</ol>
<h2><a class="anchor" aria-hidden="true" id="step-2-use-pulsar-admin-to-create-pulsar-tenantsnamespacestopics"></a><a href="#step-2-use-pulsar-admin-to-create-pulsar-tenantsnamespacestopics" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Step 2: Use pulsar-admin to create Pulsar tenants/namespaces/topics</h2>
<p><code>pulsar-admin</code> is the CLI (command-Line Interface) tool for Pulsar. In this step, you can use <code>pulsar-admin</code> to create resources, including tenants, namespaces, and topics.</p>
<ol>
<li><p>Enter the <code>toolset</code> container.</p>
<pre><code class="hljs css language-bash">kubectl <span class="hljs-built_in">exec</span> -it -n pulsar pulsar-mini-toolset-0 /bin/bash
</code></pre></li>
<li><p>In the <code>toolset</code> container, create a tenant named <code>apache</code>.</p>
<pre><code class="hljs css language-bash">bin/pulsar-admin tenants create apache
</code></pre>
<p>Then you can list the tenants to see if the tenant is created successfully.</p>
<pre><code class="hljs css language-bash">bin/pulsar-admin tenants list
</code></pre>
<p>You should see a similar output as below. The tenant <code>apache</code> has been successfully created.</p>
<pre><code class="hljs css language-bash"><span class="hljs-string">"apache"</span>
<span class="hljs-string">"public"</span>
<span class="hljs-string">"pulsar"</span>
</code></pre></li>
<li><p>In the <code>toolset</code> container, create a namespace named <code>pulsar</code> in the tenant <code>apache</code>.</p>
<pre><code class="hljs css language-bash">bin/pulsar-admin namespaces create apache/pulsar
</code></pre>
<p>Then you can list the namespaces of tenant <code>apache</code> to see if the namespace is created successfully.</p>
<pre><code class="hljs css language-bash">bin/pulsar-admin namespaces list apache
</code></pre>
<p>You should see a similar output as below. The namespace <code>apache/pulsar</code> has been successfully created.</p>
<pre><code class="hljs css language-bash"><span class="hljs-string">"apache/pulsar"</span>
</code></pre></li>
<li><p>In the <code>toolset</code> container, create a topic <code>test-topic</code> with <code>4</code> partitions in the namespace <code>apache/pulsar</code>.</p>
<pre><code class="hljs css language-bash">bin/pulsar-admin topics create-partitioned-topic apache/pulsar/<span class="hljs-built_in">test</span>-topic -p 4
</code></pre></li>
<li><p>In the <code>toolset</code> container, list all the partitioned topics in the namespace <code>apache/pulsar</code>.</p>
<pre><code class="hljs css language-bash">bin/pulsar-admin topics list-partitioned-topics apache/pulsar
</code></pre>
<p>Then you can see all the partitioned topics in the namespace <code>apache/pulsar</code>.</p>
<pre><code class="hljs css language-bash"><span class="hljs-string">"persistent://apache/pulsar/test-topic"</span>
</code></pre></li>
</ol>
<h2><a class="anchor" aria-hidden="true" id="step-3-use-pulsar-client-to-produce-and-consume-messages"></a><a href="#step-3-use-pulsar-client-to-produce-and-consume-messages" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Step 3: Use Pulsar client to produce and consume messages</h2>
<p>You can use the Pulsar client to create producers and consumers to produce and consume messages.</p>
<p>By default, the Pulsar Helm chart exposes the Pulsar cluster through a Kubernetes <code>LoadBalancer</code>. In Minikube, you can use the following command to check the proxy service.</p>
<pre><code class="hljs css language-bash">kubectl get services -n pulsar | grep pulsar-mini-proxy
</code></pre>
<p>You will see a similar output as below.</p>
<pre><code class="hljs css language-bash">pulsar-mini-proxy            LoadBalancer   10.97.240.109    &lt;pending&gt;     80:32305/TCP,6650:31816/TCP   28m
</code></pre>
<p>This output tells what are the node ports that Pulsar cluster's binary port and HTTP port are mapped to. The port after <code>80:</code> is the HTTP port while the port after <code>6650:</code> is the binary port.</p>
<p>Then you can find the IP address and exposed ports of your Minikube server by running the following command.</p>
<pre><code class="hljs css language-bash">minikube service pulsar-mini-proxy -n pulsar
</code></pre>
<p><strong>Output</strong></p>
<pre><code class="hljs css language-bash">|-----------|-------------------|-------------|-------------------------|
| NAMESPACE |       NAME        | TARGET PORT |           URL           |
|-----------|-------------------|-------------|-------------------------|
| pulsar    | pulsar-mini-proxy | http/80     | http://172.17.0.4:32305 |
|           |                   | pulsar/6650 | http://172.17.0.4:31816 |
|-----------|-------------------|-------------|-------------------------|
🏃  Starting tunnel <span class="hljs-keyword">for</span> service pulsar-mini-proxy.
|-----------|-------------------|-------------|------------------------|
| NAMESPACE |       NAME        | TARGET PORT |          URL           |
|-----------|-------------------|-------------|------------------------|
| pulsar    | pulsar-mini-proxy |             | http://127.0.0.1:61853 |
|           |                   |             | http://127.0.0.1:61854 |
|-----------|-------------------|-------------|------------------------|
</code></pre>
<p>At this point, you can get the service URLs to connect to your Pulsar client. Here are URL examples:</p>
<pre><code class="hljs">webServiceUrl=<span class="hljs-string">http:</span><span class="hljs-comment">//127.0.0.1:61853/</span>
brokerServiceUrl=<span class="hljs-string">pulsar:</span><span class="hljs-comment">//127.0.0.1:61854/</span>
</code></pre>
<p>Then you can proceed with the following steps:</p>
<ol>
<li><p>Download the Apache Pulsar tarball from the <a href="https://pulsar.apache.org/en/download/">downloads page</a>.</p></li>
<li><p>Decompress the tarball based on your download file.</p>
<pre><code class="hljs css language-bash">tar -xf &lt;file-name&gt;.tar.gz
</code></pre></li>
<li><p>Expose <code>PULSAR_HOME</code>.</p>
<p>(1) Enter the directory of the decompressed download file.</p>
<p>(2) Expose <code>PULSAR_HOME</code> as the environment variable.</p>
<pre><code class="hljs css language-bash"><span class="hljs-built_in">export</span> PULSAR_HOME=$(<span class="hljs-built_in">pwd</span>)
</code></pre></li>
<li><p>Configure the Pulsar client.</p>
<p>In the <code>${PULSAR_HOME}/conf/client.conf</code> file, replace <code>webServiceUrl</code> and <code>brokerServiceUrl</code> with the service URLs you get from the above steps.</p></li>
<li><p>Create a subscription to consume messages from <code>apache/pulsar/test-topic</code>.</p>
<pre><code class="hljs css language-bash">bin/pulsar-client consume -s sub apache/pulsar/<span class="hljs-built_in">test</span>-topic  -n 0
</code></pre></li>
<li><p>Open a new terminal. In the new terminal, create a producer and send 10 messages to the <code>test-topic</code> topic.</p>
<pre><code class="hljs css language-bash">bin/pulsar-client produce apache/pulsar/<span class="hljs-built_in">test</span>-topic  -m <span class="hljs-string">"---------hello apache pulsar-------"</span> -n 10
</code></pre></li>
<li><p>Verify the results.</p>
<ul>
<li><p>From the producer side</p>
<p><strong>Output</strong></p>
<p>The messages have been produced successfully.</p>
<pre><code class="hljs css language-bash">18:15:15.489 [main] INFO  org.apache.pulsar.client.cli.PulsarClientTool - 10 messages successfully produced
</code></pre></li>
<li><p>From the consumer side</p>
<p><strong>Output</strong></p>
<p>At the same time, you can receive the messages as below.</p>
<pre><code class="hljs css language-bash">----- got message -----
---------hello apache pulsar-------
----- got message -----
---------hello apache pulsar-------
----- got message -----
---------hello apache pulsar-------
----- got message -----
---------hello apache pulsar-------
----- got message -----
---------hello apache pulsar-------
----- got message -----
---------hello apache pulsar-------
----- got message -----
---------hello apache pulsar-------
----- got message -----
---------hello apache pulsar-------
----- got message -----
---------hello apache pulsar-------
----- got message -----
---------hello apache pulsar-------
</code></pre></li>
</ul></li>
</ol>
<h2><a class="anchor" aria-hidden="true" id="step-4-use-pulsar-manager-to-manage-the-cluster"></a><a href="#step-4-use-pulsar-manager-to-manage-the-cluster" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Step 4: Use Pulsar Manager to manage the cluster</h2>
<p><a href="/docs/en/2.6.4/administration-pulsar-manager">Pulsar Manager</a> is a web-based GUI management tool for managing and monitoring Pulsar.</p>
<ol>
<li><p>By default, the <code>Pulsar Manager</code> is exposed as a separate <code>LoadBalancer</code>. You can open the Pulsar Manager UI using the following command:</p>
<pre><code class="hljs css language-bash">minikube service -n pulsar pulsar-mini-pulsar-manager 
</code></pre></li>
<li><p>The Pulsar Manager UI will be open in your browser. You can use the username <code>pulsar</code> and password <code>pulsar</code> to log into Pulsar Manager.</p></li>
<li><p>In Pulsar Manager UI, you can create an environment.</p>
<ul>
<li>Click <code>New Environment</code> button in the top-left corner.</li>
<li>Type <code>pulsar-mini</code> for the field <code>Environment Name</code> in the popup window.</li>
<li>Type <code>http://pulsar-mini-broker:8080</code> for the field <code>Service URL</code> in the popup window.</li>
<li>Click <code>Confirm</code> button in the popup window.</li>
</ul></li>
<li><p>After successfully created an environment, you are redirected to the <code>tenants</code> page of that environment. Then you can create <code>tenants</code>, <code>namespaces</code> and <code>topics</code> using the Pulsar Manager.</p></li>
</ol>
<h2><a class="anchor" aria-hidden="true" id="step-5-use-prometheus-and-grafana-to-monitor-cluster"></a><a href="#step-5-use-prometheus-and-grafana-to-monitor-cluster" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Step 5: Use Prometheus and Grafana to monitor cluster</h2>
<p>Grafana is an open-source visualization tool, which can be used for visualizing time series data into dashboards.</p>
<ol>
<li><p>By default, the Grafana is exposed as a separate <code>LoadBalancer</code>. You can open the Grafana UI using the following command:</p>
<pre><code class="hljs css language-bash">minikube service pulsar-mini-grafana -n pulsar
</code></pre></li>
<li><p>The Grafana UI is open in your browser. You can use the username <code>pulsar</code> and password <code>pulsar</code> to log into the Grafana Dashboard.</p></li>
<li><p>You can view dashboards for different components of a Pulsar cluster.</p></li>
</ol>
</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/en/2.6.4/getting-started-docker"><span class="arrow-prev">← </span><span>Run Pulsar in Docker</span></a><a class="docs-next button" href="/docs/en/2.6.4/client-libraries"><span>Overview</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#prerequisite">Prerequisite</a></li><li><a href="#step-0-prepare-a-kubernetes-cluster">Step 0: Prepare a Kubernetes cluster</a></li><li><a href="#step-1-install-pulsar-helm-chart">Step 1: Install Pulsar Helm chart</a></li><li><a href="#step-2-use-pulsar-admin-to-create-pulsar-tenantsnamespacestopics">Step 2: Use pulsar-admin to create Pulsar tenants/namespaces/topics</a></li><li><a href="#step-3-use-pulsar-client-to-produce-and-consume-messages">Step 3: Use Pulsar client to produce and consume messages</a></li><li><a href="#step-4-use-pulsar-manager-to-manage-the-cluster">Step 4: Use Pulsar Manager to manage the cluster</a></li><li><a href="#step-5-use-prometheus-and-grafana-to-monitor-cluster">Step 5: Use Prometheus and Grafana to monitor cluster</a></li></ul></nav></div><footer class="nav-footer" id="footer"><section class="copyright">Copyright © 2022 The Apache Software Foundation. All Rights Reserved. Apache, Apache Pulsar and the Apache feather logo are trademarks of The Apache Software Foundation.</section><span><script>
      const community = document.querySelector("a[href='#community']").parentNode;
      const communityMenu =
        '<li>' +
        '<a id="community-menu" href="#">Community <span style="font-size: 0.75em">&nbsp;▼</span></a>' +
        '<div id="community-dropdown" class="hide">' +
          '<ul id="community-dropdown-items">' +
            '<li><a href="/en/contact">Contact</a></li>' +
            '<li><a href="/en/contributing">Contributing</a></li>' +
            '<li><a href="/en/coding-guide">Coding guide</a></li>' +
            '<li><a href="/en/events">Events</a></li>' +
            '<li><a href="https://twitter.com/Apache_Pulsar" target="_blank">Twitter &#x2750</a></li>' +
            '<li><a href="https://github.com/apache/pulsar/wiki" target="_blank">Wiki &#x2750</a></li>' +
            '<li><a href="https://github.com/apache/pulsar/issues" target="_blank">Issue tracking &#x2750</a></li>' +
            '<li><a href="https://pulsar-summit.org/" target="_blank">Pulsar Summit &#x2750</a></li>' +
            '<li>&nbsp;</li>' +
            '<li><a href="/en/resources">Resources</a></li>' +
            '<li><a href="/en/team">Team</a></li>' +
            '<li><a href="/en/powered-by">Powered By</a></li>' +
          '</ul>' +
        '</div>' +
        '</li>';

      community.innerHTML = communityMenu;

      const communityMenuItem = document.getElementById("community-menu");
      const communityDropDown = document.getElementById("community-dropdown");
      communityMenuItem.addEventListener("click", function(event) {
        event.preventDefault();

        if (communityDropDown.className == 'hide') {
          communityDropDown.className = 'visible';
        } else {
          communityDropDown.className = 'hide';
        }
      });
    </script></span></footer></div><script>window.twttr=(function(d,s, id){var js,fjs=d.getElementsByTagName(s)[0],t=window.twttr||{};if(d.getElementById(id))return t;js=d.createElement(s);js.id=id;js.src='https://platform.twitter.com/widgets.js';fjs.parentNode.insertBefore(js, fjs);t._e = [];t.ready = function(f) {t._e.push(f);};return t;}(document, 'script', 'twitter-wjs'));</script></body></html>