<!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.5.2"/><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.5.2</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-internal"><li class="siteNavGroupActive"><a href="/docs/en/2.5.2/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.5.2/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.5.2/getting-started-helm">日本語</a></li><li><a href="/docs/fr/2.5.2/getting-started-helm">Français</a></li><li><a href="/docs/ko/2.5.2/getting-started-helm">한국어</a></li><li><a href="/docs/zh-CN/2.5.2/getting-started-helm">中文</a></li><li><a href="/docs/zh-TW/2.5.2/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.5.2/pulsar-2.0">Pulsar 2.0</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.5.2/getting-started-standalone">Run Pulsar locally</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.5.2/getting-started-docker">Run Pulsar in Docker</a></li><li class="navListItem navListItemActive"><a class="navItem" href="/docs/en/2.5.2/getting-started-helm">Run Pulsar in Kubernetes</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.5.2/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.5.2/concepts-overview">Overview</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.5.2/concepts-messaging">Messaging</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.5.2/concepts-architecture-overview">Architecture</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.5.2/concepts-clients">Clients</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.5.2/concepts-replication">Geo Replication</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.5.2/concepts-multi-tenancy">Multi Tenancy</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.5.2/concepts-authentication">Authentication and Authorization</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.5.2/concepts-topic-compaction">Topic Compaction</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.5.2/concepts-tiered-storage">Tiered Storage</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.5.2/schema-get-started">Get started</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.5.2/schema-understand">Understand schema</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.5.2/schema-evolution-compatibility">Schema evolution and compatibility</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.5.2/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.5.2/functions-overview">Overview</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.5.2/functions-worker">Setup: Pulsar Functions Worker</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.5.2/functions-runtime">Setup: Configure Functions runtime</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.5.2/functions-develop">How-to: Develop</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.5.2/functions-debug">How-to: Debug</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.5.2/functions-deploy">How-to: Deploy</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.5.2/functions-cli">Reference: CLI</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.5.2/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.5.2/io-overview">Overview</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.5.2/io-quickstart">Get started</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.5.2/io-use">Use</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.5.2/io-debug">Debug</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.5.2/io-connectors">Built-in connector</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.5.2/io-cdc">CDC connector</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.5.2/io-develop">Develop</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.5.2/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.5.2/sql-overview">Overview</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.5.2/sql-getting-started">Query data</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.5.2/sql-deployment-configurations">Configuration and deployment</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.5.2/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.5.2/helm-overview">Overview</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.5.2/helm-prepare">Prepare</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.5.2/helm-install">Install</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.5.2/helm-deploy">Deployment</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.5.2/helm-upgrade">Upgrade</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.5.2/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.5.2/deploy-aws">Amazon Web Services</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.5.2/deploy-kubernetes">Kubernetes</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.5.2/deploy-bare-metal">Bare metal</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.5.2/deploy-bare-metal-multi-cluster">Bare metal multi-cluster</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.5.2/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.5.2/administration-zk-bk">ZooKeeper and BookKeeper</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.5.2/administration-geo">Geo-replication</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.5.2/administration-pulsar-manager">Pulsar Manager</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.5.2/administration-stats">Pulsar statistics</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.5.2/administration-load-balance">Load balance</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.5.2/administration-proxy">Pulsar proxy</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.5.2/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.5.2/security-overview">Overview</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.5.2/security-tls-transport">Transport Encryption using TLS</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.5.2/security-tls-authentication">Authentication using TLS</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.5.2/security-jwt">Authentication using JWT</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.5.2/security-athenz">Authentication using Athenz</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.5.2/security-kerberos">Authentication using Kerberos</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.5.2/security-authorization">Authorization and ACLs</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.5.2/security-encryption">End-to-End Encryption</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.5.2/security-extending">Extending</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.5.2/security-bouncy-castle">Bouncy Castle Providers</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.5.2/client-libraries-java">Java</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.5.2/client-libraries-go">Go</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.5.2/client-libraries-python">Python</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.5.2/client-libraries-cpp">C++</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.5.2/client-libraries-node">Node.js</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.5.2/client-libraries-websocket">WebSocket</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.5.2/admin-api-overview">Overview</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.5.2/admin-api-clusters">Clusters</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.5.2/admin-api-tenants">Tenants</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.5.2/admin-api-brokers">Brokers</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.5.2/admin-api-namespaces">Namespaces</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.5.2/admin-api-permissions">Permissions</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.5.2/admin-api-persistent-topics">Persistent topics</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.5.2/admin-api-non-persistent-topics">Non-Persistent topics</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.5.2/admin-api-partitioned-topics">Partitioned topics</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.5.2/admin-api-non-partitioned-topics">Non-Partitioned topics</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.5.2/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.5.2/adaptors-kafka">Kafka client wrapper</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.5.2/adaptors-spark">Apache Spark</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.5.2/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.5.2/cookbooks-tiered-storage">Tiered Storage</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.5.2/cookbooks-compaction">Topic compaction</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.5.2/cookbooks-deduplication">Message deduplication</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.5.2/cookbooks-non-persistent">Non-persistent messaging</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.5.2/cookbooks-partitioned">Partitioned Topics</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.5.2/cookbooks-retention-expiry">Message retention and expiry</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.5.2/cookbooks-encryption">Encryption</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.5.2/cookbooks-message-queue">Message queue</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.5.2/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.5.2/develop-tools">Simulation tools</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.5.2/developing-binary-protocol">Binary protocol</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.5.2/develop-schema">Custom schema storage</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.5.2/develop-load-manager">Modular load manager</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.5.2/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.5.2/reference-terminology">Terminology</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.5.2/reference-cli-tools">Pulsar CLI tools</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.5.2/reference-configuration">Pulsar configuration</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.5.2/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/kubernetes-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.5.2/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.5.2/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>Add Pulsar charts repo.</p>
<pre><code class="hljs css language-bash">helm repo add apache https://pulsar.apache.org/charts
</code></pre>
<pre><code class="hljs css language-bash">helm repo update
</code></pre></li>
<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-helm-chart
<span class="hljs-built_in">cd</span> pulsar-helm-chart
</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 \
    -c
</code></pre></li>
<li><p>Use the Pulsar Helm chart to install a Pulsar cluster to Kubernetes.</p>
<blockquote>
<p><strong>NOTE</strong>  <br>
You need to specify <code>--set initialize=true</code> when installing Pulsar the first time. This command installs and starts Apache Pulsar.</p>
</blockquote>
<pre><code class="hljs css language-bash">helm install \
    --values examples/values-minikube.yaml \
    --<span class="hljs-built_in">set</span> initialize=<span class="hljs-literal">true</span> \
    --namespace pulsar \
    pulsar-mini apache/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.5.2/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.5.2/getting-started-docker"><span class="arrow-prev">← </span><span>Run Pulsar in Docker</span></a><a class="docs-next button" href="/docs/en/2.5.2/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>