| <!DOCTYPE html> |
| <html lang="dev" class="js csstransforms3d"> |
| <head> |
| <meta charset="utf-8"> |
| <meta name="viewport" content="width=device-width, initial-scale=1.0"> |
| <meta name="generator" content="Hugo 0.81.0" /> |
| <meta name="description" content="A set of micro-services for connecting millions of devices."> |
| <meta name="author" content="The Eclipse Hono Project"> |
| |
| <link rel="apple-touch-icon" sizes="180x180" href="/hono/docs/favicon/apple-touch-icon.png"> |
| <link rel="icon" type="image/png" sizes="48x48" href="/hono/docs/favicon/favicon-48x48.png"> |
| <link rel="icon" type="image/png" sizes="32x32" href="/hono/docs/favicon/favicon-32x32.png"> |
| <link rel="icon" type="image/png" sizes="16x16" href="/hono/docs/favicon/favicon-16x16.png"> |
| <link rel="manifest" href="/hono/docs/favicon/site.webmanifest"> |
| <link rel="mask-icon" href="/hono/docs/favicon/safari-pinned-tab.svg" color="#5bbad5"> |
| <link rel="shortcut icon" href="/hono/docs/favicon/favicon.ico"> |
| <meta name="msapplication-TileColor" content="#da532c"> |
| <meta name="msapplication-config" content="/hono/docs/favicon/browserconfig.xml"> |
| <meta name="theme-color" content="#ffffff"> |
| |
| <title>Helm based Deployment :: Eclipse Hono™ Vers.: dev</title> |
| |
| |
| <link href="/hono/docs/css/nucleus.css?1625793048" rel="stylesheet"> |
| <link href="/hono/docs/css/fontawesome-all.min.css?1625793048" rel="stylesheet"> |
| <link href="/hono/docs/css/hybrid.css?1625793048" rel="stylesheet"> |
| <link href="/hono/docs/css/featherlight.min.css?1625793048" rel="stylesheet"> |
| <link href="/hono/docs/css/perfect-scrollbar.min.css?1625793048" rel="stylesheet"> |
| <link href="/hono/docs/css/auto-complete.css?1625793048" rel="stylesheet"> |
| <link href="/hono/docs/css/atom-one-dark-reasonable.css?1625793048" rel="stylesheet"> |
| <link href="/hono/docs/css/theme.css?1625793048" rel="stylesheet"> |
| <link href="/hono/docs/css/hugo-theme.css?1625793048" rel="stylesheet"> |
| |
| <link href="/hono/docs/css/theme-hono.css?1625793048" rel="stylesheet"> |
| |
| <link href="/hono/docs/css/hono.css?1625793048" rel="stylesheet"> |
| |
| <script src="/hono/docs/js/jquery-3.3.1.min.js?1625793048"></script> |
| |
| <style> |
| :root #header + #content > #left > #rlblock_left{ |
| display:none !important; |
| } |
| |
| :not(pre) > code + span.copy-to-clipboard { |
| display: none; |
| } |
| |
| </style> |
| |
| <link rel="stylesheet" href="https://www.eclipse.org/eclipse.org-common/themes/solstice/public/stylesheets/vendor/cookieconsent/cookieconsent.min.css"> |
| |
| |
| <meta name="twitter:card" content="summary_large_image"> |
| <meta name="twitter:site" content="@EclipseHono"> |
| <meta name="twitter:title" content="Helm based Deployment :: Eclipse Hono&trade; Vers.: dev"> |
| <meta name="twitter:image" content="https://www.eclipse.org/hono/docs/images/twitter_image.png"> |
| <meta name="twitter:description" content="A set of micro-services for connecting millions of devices."> |
| |
| |
| <meta property="og:title" content="Helm based Deployment :: Eclipse Hono&trade; Vers.: dev" /> |
| <meta property="og:type" content="website" /> |
| <meta property="og:url" content="https://www.eclipse.org/hono/docs/dev/deployment/helm-based-deployment//" /> |
| <meta property="og:image" content="https://www.eclipse.org/hono/docs/images/twitter_image.png" /> |
| |
| </head> |
| <body class="" data-url="/hono/docs/dev/deployment/helm-based-deployment/"> |
| <nav id="sidebar" class=""> |
| |
| |
| |
| <div id="header-wrapper"> |
| <div id="header"> |
| <a href="https://www.eclipse.org/hono/"> |
| <img src="/hono/docs/images/HONO-Logo_Bild-Wort_quer-w-310x120px.svg" alt="Hono logo" class="logo-img"> |
| </a> |
| |
| </div> |
| |
| <div class="searchbox"> |
| <label for="search-by"><i class="fas fa-search"></i></label> |
| <input data-search-input id="search-by" type="search" placeholder="Search..."> |
| <span data-search-clear=""><i class="fas fa-times"></i></span> |
| </div> |
| |
| <script type="text/javascript" src="/hono/docs/js/lunr.min.js?1625793048"></script> |
| <script type="text/javascript" src="/hono/docs/js/auto-complete.js?1625793048"></script> |
| <script type="text/javascript"> |
| |
| var baseurl = "https:\/\/www.eclipse.org\/hono\/docs\/\/dev"; |
| |
| </script> |
| <script type="text/javascript" src="/hono/docs/js/search.js?1625793048"></script> |
| |
| |
| </div> |
| |
| <div class="highlightable"> |
| <ul class="topics"> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li data-nav-id="/hono/docs/dev/concepts/" title="Concepts" class="dd-item |
| |
| |
| |
| "> |
| <a href="/hono/docs/dev/concepts/"> |
| <i class="far fa-lightbulb"></i> Concepts |
| |
| </a> |
| |
| |
| <ul> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li data-nav-id="/hono/docs/dev/concepts/device-identity/" title="Device Identity" class="dd-item "> |
| <a href="/hono/docs/dev/concepts/device-identity/"> |
| Device Identity |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li data-nav-id="/hono/docs/dev/concepts/tenancy/" title="Multi-Tenancy" class="dd-item "> |
| <a href="/hono/docs/dev/concepts/tenancy/"> |
| Multi-Tenancy |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li data-nav-id="/hono/docs/dev/concepts/device-provisioning/" title="Device Provisioning" class="dd-item "> |
| <a href="/hono/docs/dev/concepts/device-provisioning/"> |
| Device Provisioning |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li data-nav-id="/hono/docs/dev/concepts/connecting-devices/" title="Connecting Devices" class="dd-item "> |
| <a href="/hono/docs/dev/concepts/connecting-devices/"> |
| Connecting Devices |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li data-nav-id="/hono/docs/dev/concepts/device-notifications/" title="Device Notifications" class="dd-item "> |
| <a href="/hono/docs/dev/concepts/device-notifications/"> |
| Device Notifications |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li data-nav-id="/hono/docs/dev/concepts/command-and-control/" title="Command & Control" class="dd-item "> |
| <a href="/hono/docs/dev/concepts/command-and-control/"> |
| Command & Control |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li data-nav-id="/hono/docs/dev/concepts/resource-limits/" title="Resource limits" class="dd-item "> |
| <a href="/hono/docs/dev/concepts/resource-limits/"> |
| Resource limits |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li data-nav-id="/hono/docs/dev/concepts/connection-events/" title="Connection Events" class="dd-item "> |
| <a href="/hono/docs/dev/concepts/connection-events/"> |
| Connection Events |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| </ul> |
| |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li data-nav-id="/hono/docs/dev/user-guide/" title="User Guide" class="dd-item |
| |
| |
| |
| "> |
| <a href="/hono/docs/dev/user-guide/"> |
| <i class="fas fa-book-reader"></i> User Guide |
| |
| </a> |
| |
| |
| <ul> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li data-nav-id="/hono/docs/dev/user-guide/mongodb-based-device-registry/" title="MongoDB Based Device Registry" class="dd-item "> |
| <a href="/hono/docs/dev/user-guide/mongodb-based-device-registry/"> |
| MongoDB Based Device Registry |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li data-nav-id="/hono/docs/dev/user-guide/jdbc-based-device-registry/" title="JDBC Based Device Registry" class="dd-item "> |
| <a href="/hono/docs/dev/user-guide/jdbc-based-device-registry/"> |
| JDBC Based Device Registry |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li data-nav-id="/hono/docs/dev/user-guide/file-based-device-registry/" title="File Based Device Registry" class="dd-item "> |
| <a href="/hono/docs/dev/user-guide/file-based-device-registry/"> |
| File Based Device Registry |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li data-nav-id="/hono/docs/dev/user-guide/http-adapter/" title="HTTP Adapter" class="dd-item "> |
| <a href="/hono/docs/dev/user-guide/http-adapter/"> |
| HTTP Adapter |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li data-nav-id="/hono/docs/dev/user-guide/mqtt-adapter/" title="MQTT Adapter" class="dd-item "> |
| <a href="/hono/docs/dev/user-guide/mqtt-adapter/"> |
| MQTT Adapter |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li data-nav-id="/hono/docs/dev/user-guide/amqp-adapter/" title="AMQP Adapter" class="dd-item "> |
| <a href="/hono/docs/dev/user-guide/amqp-adapter/"> |
| AMQP Adapter |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li data-nav-id="/hono/docs/dev/user-guide/coap-adapter/" title="CoAP Adapter" class="dd-item "> |
| <a href="/hono/docs/dev/user-guide/coap-adapter/"> |
| CoAP Adapter |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li data-nav-id="/hono/docs/dev/user-guide/kura-adapter/" title="Kura Adapter" class="dd-item "> |
| <a href="/hono/docs/dev/user-guide/kura-adapter/"> |
| Kura Adapter |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li data-nav-id="/hono/docs/dev/user-guide/sigfox-adapter/" title="Sigfox Adapter" class="dd-item "> |
| <a href="/hono/docs/dev/user-guide/sigfox-adapter/"> |
| Sigfox Adapter |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| </ul> |
| |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li data-nav-id="/hono/docs/dev/admin-guide/" title="Admin Guide" class="dd-item |
| |
| |
| |
| "> |
| <a href="/hono/docs/dev/admin-guide/"> |
| <i class="fas fa-sliders-h"></i> Admin Guide |
| |
| </a> |
| |
| |
| <ul> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li data-nav-id="/hono/docs/dev/admin-guide/common-config/" title="Common Configuration" class="dd-item "> |
| <a href="/hono/docs/dev/admin-guide/common-config/"> |
| Common Configuration |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li data-nav-id="/hono/docs/dev/admin-guide/auth-server-config/" title="Auth Server Configuration" class="dd-item "> |
| <a href="/hono/docs/dev/admin-guide/auth-server-config/"> |
| Auth Server Configuration |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li data-nav-id="/hono/docs/dev/admin-guide/mongodb-device-registry-config/" title="MongoDB Based Device Registry Configuration" class="dd-item "> |
| <a href="/hono/docs/dev/admin-guide/mongodb-device-registry-config/"> |
| MongoDB Based Device Registry Configuration |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li data-nav-id="/hono/docs/dev/admin-guide/jdbc-device-registry-config/" title="JDBC Based Device Registry Configuration" class="dd-item "> |
| <a href="/hono/docs/dev/admin-guide/jdbc-device-registry-config/"> |
| JDBC Based Device Registry Configuration |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li data-nav-id="/hono/docs/dev/admin-guide/file-based-device-registry-config/" title="File Based Device Registry Configuration" class="dd-item "> |
| <a href="/hono/docs/dev/admin-guide/file-based-device-registry-config/"> |
| File Based Device Registry Configuration |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li data-nav-id="/hono/docs/dev/admin-guide/command-router-config/" title="Configuring the Command Router Service" class="dd-item "> |
| <a href="/hono/docs/dev/admin-guide/command-router-config/"> |
| Command Router Service Configuration |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li data-nav-id="/hono/docs/dev/admin-guide/device-connection-config/" title="Configuring the Device Connection Service" class="dd-item "> |
| <a href="/hono/docs/dev/admin-guide/device-connection-config/"> |
| Device Connection Service Configuration |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li data-nav-id="/hono/docs/dev/admin-guide/http-adapter-config/" title="HTTP Adapter Configuration" class="dd-item "> |
| <a href="/hono/docs/dev/admin-guide/http-adapter-config/"> |
| HTTP Adapter Configuration |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li data-nav-id="/hono/docs/dev/admin-guide/mqtt-adapter-config/" title="MQTT Adapter Configuration" class="dd-item "> |
| <a href="/hono/docs/dev/admin-guide/mqtt-adapter-config/"> |
| MQTT Adapter Configuration |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li data-nav-id="/hono/docs/dev/admin-guide/amqp-adapter-config/" title="AMQP Adapter Configuration" class="dd-item "> |
| <a href="/hono/docs/dev/admin-guide/amqp-adapter-config/"> |
| AMQP Adapter Configuration |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li data-nav-id="/hono/docs/dev/admin-guide/coap-adapter-config/" title="CoAP Adapter Configuration" class="dd-item "> |
| <a href="/hono/docs/dev/admin-guide/coap-adapter-config/"> |
| CoAP Adapter Configuration |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li data-nav-id="/hono/docs/dev/admin-guide/kura-adapter-config/" title="Kura Adapter Configuration" class="dd-item "> |
| <a href="/hono/docs/dev/admin-guide/kura-adapter-config/"> |
| Kura Adapter Configuration |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li data-nav-id="/hono/docs/dev/admin-guide/hono-client-configuration/" title="Hono Client Configuration" class="dd-item "> |
| <a href="/hono/docs/dev/admin-guide/hono-client-configuration/"> |
| Hono Client Configuration |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li data-nav-id="/hono/docs/dev/admin-guide/hono-kafka-client-configuration/" title="Hono Kafka Client Configuration" class="dd-item "> |
| <a href="/hono/docs/dev/admin-guide/hono-kafka-client-configuration/"> |
| Hono Kafka Client Configuration |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li data-nav-id="/hono/docs/dev/admin-guide/amqp-network-config/" title="AMQP 1.0 Messaging Network Configuration" class="dd-item "> |
| <a href="/hono/docs/dev/admin-guide/amqp-network-config/"> |
| AMQP 1.0 Messaging Network Configuration |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li data-nav-id="/hono/docs/dev/admin-guide/secure_communication/" title="Secure Communication" class="dd-item "> |
| <a href="/hono/docs/dev/admin-guide/secure_communication/"> |
| Secure Communication |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li data-nav-id="/hono/docs/dev/admin-guide/monitoring-tracing-config/" title="Monitoring & Tracing" class="dd-item "> |
| <a href="/hono/docs/dev/admin-guide/monitoring-tracing-config/"> |
| Monitoring & Tracing |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| </ul> |
| |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li data-nav-id="/hono/docs/dev/dev-guide/" title="Developer Guide" class="dd-item |
| |
| |
| |
| "> |
| <a href="/hono/docs/dev/dev-guide/"> |
| <i class="fas fa-tools"></i> Developer Guide |
| |
| </a> |
| |
| |
| <ul> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li data-nav-id="/hono/docs/dev/dev-guide/building_hono/" title="Building from Source" class="dd-item "> |
| <a href="/hono/docs/dev/dev-guide/building_hono/"> |
| Building from Source |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li data-nav-id="/hono/docs/dev/dev-guide/amqp_adapter_client/" title="AMQP Adapter Client for Java" class="dd-item "> |
| <a href="/hono/docs/dev/dev-guide/amqp_adapter_client/"> |
| AMQP Adapter Client for Java |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li data-nav-id="/hono/docs/dev/dev-guide/java_client_consumer/" title="Consuming Messages from Java" class="dd-item "> |
| <a href="/hono/docs/dev/dev-guide/java_client_consumer/"> |
| Consuming Messages from Java |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li data-nav-id="/hono/docs/dev/dev-guide/custom_http_adapter/" title="Implement a Custom Hono HTTP Protocol Adapter" class="dd-item "> |
| <a href="/hono/docs/dev/dev-guide/custom_http_adapter/"> |
| Implement a Custom Hono HTTP Protocol Adapter |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| </ul> |
| |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li data-nav-id="/hono/docs/dev/api/" title="API" class="dd-item |
| |
| |
| |
| "> |
| <a href="/hono/docs/dev/api/"> |
| <i class='fas fa-plug'></i> API |
| |
| </a> |
| |
| |
| <ul> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li data-nav-id="/hono/docs/dev/api/telemetry/" title="Telemetry API Specification" class="dd-item "> |
| <a href="/hono/docs/dev/api/telemetry/"> |
| Telemetry API |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li data-nav-id="/hono/docs/dev/api/event/" title="Event API Specification" class="dd-item "> |
| <a href="/hono/docs/dev/api/event/"> |
| Event API |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li data-nav-id="/hono/docs/dev/api/command-and-control/" title="Command & Control API Specification" class="dd-item "> |
| <a href="/hono/docs/dev/api/command-and-control/"> |
| Command & Control API |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li data-nav-id="/hono/docs/dev/api/kafka-api/" title="Kafka-based APIs" class="dd-item "> |
| <a href="/hono/docs/dev/api/kafka-api/"> |
| Kafka-based APIs |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li data-nav-id="/hono/docs/dev/api/telemetry-kafka/" title="Telemetry API for Kafka Specification" class="dd-item "> |
| <a href="/hono/docs/dev/api/telemetry-kafka/"> |
| Telemetry API for Kafka |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li data-nav-id="/hono/docs/dev/api/event-kafka/" title="Event API for Kafka Specification" class="dd-item "> |
| <a href="/hono/docs/dev/api/event-kafka/"> |
| Event API for Kafka |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li data-nav-id="/hono/docs/dev/api/command-and-control-kafka/" title="Command & Control API for Kafka Specification" class="dd-item "> |
| <a href="/hono/docs/dev/api/command-and-control-kafka/"> |
| Command & Control API for Kafka |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li data-nav-id="/hono/docs/dev/api/tenant/" title="Tenant API Specification" class="dd-item "> |
| <a href="/hono/docs/dev/api/tenant/"> |
| Tenant API |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li data-nav-id="/hono/docs/dev/api/command-router/" title="Command Router API Specification" class="dd-item "> |
| <a href="/hono/docs/dev/api/command-router/"> |
| Command Router API |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li data-nav-id="/hono/docs/dev/api/device-connection/" title="Device Connection API Specification" class="dd-item "> |
| <a href="/hono/docs/dev/api/device-connection/"> |
| Device Connection API |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li data-nav-id="/hono/docs/dev/api/device-registration/" title="Device Registration API Specification" class="dd-item "> |
| <a href="/hono/docs/dev/api/device-registration/"> |
| Device Registration API |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li data-nav-id="/hono/docs/dev/api/credentials/" title="Credentials API Specification" class="dd-item "> |
| <a href="/hono/docs/dev/api/credentials/"> |
| Credentials API |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li data-nav-id="/hono/docs/dev/api/authentication/" title="Authentication API Specification" class="dd-item "> |
| <a href="/hono/docs/dev/api/authentication/"> |
| Authentication API |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li data-nav-id="/hono/docs/dev/api/management/" title="Device Registry Management API Specification" class="dd-item "> |
| <a href="/hono/docs/dev/api/management/"> |
| Device Registry Management API |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li data-nav-id="/hono/docs/dev/api/metrics/" title="Metrics" class="dd-item "> |
| <a href="/hono/docs/dev/api/metrics/"> |
| Metrics |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| </ul> |
| |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li data-nav-id="/hono/docs/dev/deployment/" title="Deployment" class="dd-item |
| parent |
| |
| |
| "> |
| <a href="/hono/docs/dev/deployment/"> |
| <i class="fas fa-shipping-fast"></i> Deployment |
| |
| </a> |
| |
| |
| <ul> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li data-nav-id="/hono/docs/dev/deployment/helm-based-deployment/" title="Helm based Deployment" class="dd-item active"> |
| <a href="/hono/docs/dev/deployment/helm-based-deployment/"> |
| Helm based Deployment |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li data-nav-id="/hono/docs/dev/deployment/openshift/" title="OpenShift / OKD" class="dd-item "> |
| <a href="/hono/docs/dev/deployment/openshift/"> |
| OpenShift / OKD |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li data-nav-id="/hono/docs/dev/deployment/create-kubernetes-cluster/" title="Setting up a Kubernetes Cluster" class="dd-item "> |
| <a href="/hono/docs/dev/deployment/create-kubernetes-cluster/"> |
| Setting up a Kubernetes Cluster |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li data-nav-id="/hono/docs/dev/deployment/resource-limitation/" title="Limiting Resource Usage" class="dd-item "> |
| <a href="/hono/docs/dev/deployment/resource-limitation/"> |
| Limiting Resource Usage |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| </ul> |
| |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li data-nav-id="/hono/docs/dev/architecture/" title="Architecture" class="dd-item |
| |
| |
| |
| "> |
| <a href="/hono/docs/dev/architecture/"> |
| <i class="fas fa-landmark"></i> Architecture |
| |
| </a> |
| |
| |
| <ul> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li data-nav-id="/hono/docs/dev/architecture/component-view/" title="Component View" class="dd-item "> |
| <a href="/hono/docs/dev/architecture/component-view/"> |
| Component View |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li data-nav-id="/hono/docs/dev/architecture/auth/" title="Authentication/Authorization" class="dd-item "> |
| <a href="/hono/docs/dev/architecture/auth/"> |
| Authentication/Authorization |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| </ul> |
| |
| </li> |
| |
| |
| |
| |
| |
| </ul> |
| |
| |
| |
| <section id="shortcuts"> |
| <h3></h3> |
| <ul> |
| |
| <li> |
| <a class="padding" href="https://www.eclipse.org/hono/" title="Hono's Homepage"><i class='fas fa-home'></i> Hono Home</a> |
| </li> |
| |
| <li> |
| <a class="padding" href="https://www.eclipse.org/hono/getting-started/" title="Getting started with Eclipse Hono"><i class='fas fa-plane-departure'></i> Getting Started</a> |
| </li> |
| |
| </ul> |
| </section> |
| |
| |
| |
| <section id="prefooter"> |
| <hr/> |
| <ul> |
| |
| <li> |
| <div id="select-box-wrapper"> |
| <div id="select-box"> |
| <a class="padding"> |
| Version: |
| <div class="select-style"> |
| <select id="select-language" onchange="location = this.value;"> |
| |
| |
| |
| |
| |
| |
| |
| |
| <option id="stable" value="https://www.eclipse.org/hono/docs/deployment/helm-based-deployment/">stable (1.8)</option> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <option id="1.8" value="https://www.eclipse.org/hono/docs/1.8/deployment/helm-based-deployment/">1.8</option> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <option id="1.7" value="https://www.eclipse.org/hono/docs/1.7/deployment/helm-based-deployment/">1.7</option> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <option id="1.6" value="https://www.eclipse.org/hono/docs/1.6/deployment/helm-based-deployment/">1.6</option> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <option id="1.5" value="https://www.eclipse.org/hono/docs/1.5/deployment/helm-based-deployment/">1.5</option> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <option id="1.4" value="https://www.eclipse.org/hono/docs/1.4/deployment/helm-based-deployment/">1.4</option> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <option id="1.3" value="https://www.eclipse.org/hono/docs/1.3/deployment/helm-based-deployment/">1.3</option> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <option id="1.2" value="https://www.eclipse.org/hono/docs/1.2/deployment/helm-based-deployment/">1.2</option> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <option id="1.1" value="https://www.eclipse.org/hono/docs/1.1/deployment/helm-based-deployment/">1.1</option> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <option id="1.0" value="https://www.eclipse.org/hono/docs/1.0/deployment/helm-based-deployment/">1.0</option> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <option id="dev" value="https://www.eclipse.org/hono/docs/dev/deployment/helm-based-deployment/" selected>dev</option> |
| |
| |
| |
| |
| </select> |
| <svg version="1.1" id="Capa_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" |
| width="255px" height="255px" viewBox="0 0 255 255" style="enable-background:new 0 0 255 255;" xml:space="preserve"> |
| <g> |
| <g id="arrow-drop-down"> |
| <polygon points="0,63.75 127.5,191.25 255,63.75 " /> |
| </g> |
| </g> |
| </svg> |
| </div> |
| </a> |
| </div> |
| </div> |
| </li> |
| |
| |
| |
| </ul> |
| </section> |
| |
| <section id="footer"> |
| |
| |
| <p>© 2021 <a href="https://www.eclipse.org/hono/">The Eclipse Hono Project</a></p> |
| |
| <p> |
| Documentation built with |
| <a href="https://gohugo.io/" target="_blank">Hugo</a> |
| using the |
| <a href="https://github.com/matcornic/hugo-theme-learn" target="_blank">Learn</a> theme. |
| </p> |
| |
| <div class="eclipse-logo"> |
| <a href="https://www.eclipse.org" target="_blank"> |
| <img src="https://www.eclipse.org/hono/docs/images/eclipse_foundation_logo.svg"/> |
| </a> |
| </div> |
| |
| </section> |
| </div> |
| </nav> |
| |
| |
| |
| |
| <section id="body"> |
| <div id="overlay"></div> |
| |
| |
| <div class="old-version-hint"> |
| <p>This page refers to version <em>dev</em>. |
| You might want to use the <a href="https://www.eclipse.org/hono/docs/">current stable</a> version. |
| </p> |
| </div> |
| |
| |
| |
| <div class="padding highlightable"> |
| |
| <div> |
| <div id="top-bar"> |
| |
| |
| |
| |
| <div id="top-github-link"> |
| <a class="github-link" title='Edit this page' href="https://github.com/eclipse/hono/edit/master/site/documentation/content/deployment/helm-based-deployment.md" target="blank"> |
| <i class="fas fa-code-branch"></i> |
| <span id="top-github-link-text">Edit this page</span> |
| </a> |
| </div> |
| |
| |
| |
| <div id="breadcrumbs" itemscope="" itemtype="http://data-vocabulary.org/Breadcrumb"> |
| <span id="sidebar-toggle-span"> |
| <a href="#" id="sidebar-toggle" data-sidebar-toggle=""> |
| <i class="fas fa-bars"></i> |
| </a> |
| </span> |
| |
| <span id="toc-menu"><i class="fas fa-list-alt"></i></span> |
| |
| <span class="links"> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <a href='/hono/docs/dev/'>Documentation</a> > <a href='/hono/docs/dev/deployment/'>Deployment</a> > Helm based Deployment |
| |
| |
| |
| |
| |
| |
| |
| </span> |
| </div> |
| |
| <div class="progress"> |
| <div class="wrapper"> |
| <nav id="TableOfContents"> |
| <ul> |
| <li><a href="#installing-hono">Installing Hono</a></li> |
| <li><a href="#deploying-custom-container-images">Deploying custom Container Images</a> |
| <ul> |
| <li><a href="#deploying-via-a-private-registry">Deploying via a private Registry</a></li> |
| <li><a href="#deploying-to-minikube">Deploying to Minikube</a></li> |
| <li><a href="#using-jaeger-tracing">Using Jaeger Tracing</a></li> |
| <li><a href="#deploying-to-azure-kubernetes-service-aks">Deploying to Azure Kubernetes Service (AKS)</a></li> |
| </ul> |
| </li> |
| </ul> |
| </nav> |
| </div> |
| </div> |
| |
| |
| </div> |
| </div> |
| |
| <div id="head-tags"> |
| |
| </div> |
| |
| <div id="body-inner"> |
| |
| <h1> |
| |
| Helm based Deployment |
| </h1> |
| |
| |
| |
| |
| |
| <p>Eclipse Honoâ„¢’s components are provided as container images which can be run on arbitrary container orchestration platforms. |
| This page describes the steps necessary to deploy Hono to a <a href="https://kubernetes.io">Kubernetes</a> cluster using the |
| <a href="https://helm.sh">Helm package manager</a>.</p> |
| <h2 id="installing-hono">Installing Hono</h2> |
| <p>Hono’s Helm chart is available from the <a href="https://www.eclipse.org/packages/repository/">Eclipse IoT Packages chart repository</a>. |
| Please refer to the <a href="https://github.com/eclipse/packages/blob/master/charts/hono/README.md">chart’s README</a> for |
| instructions regarding installation and configuration.</p> |
| <h2 id="deploying-custom-container-images">Deploying custom Container Images</h2> |
| <p>The chart by default installs Hono’s pre-built container images. In some cases it might be desirable to build Hono |
| from source, e.g. in order to use a different metrics back end or to <a href="#using-jaeger-tracing">use Jaeger tracing</a>.</p> |
| <p>The container images created as part of the build process need to be made available to the Kubernetes cluster that |
| Hono should be installed to. This usually requires the images to be pushed to a (private) container registry that |
| the cluster can pull them from. Please refer to the documentation of the employed Kubernetes service provider for |
| details regarding the setup and configuration of a private container registry.</p> |
| <h3 id="deploying-via-a-private-registry">Deploying via a private Registry</h3> |
| <p>The first step is getting the source code of Hono. Please refer to <a href="/hono/docs/dev/dev-guide/building_hono/">Building from Source</a> for details. |
| Once the source code has been retrieved, the build process can be started using the following command:</p> |
| <div class="highlight"><pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-sh" data-lang="sh"><span style="color:#75715e"># in base directory of Hono working tree:</span> |
| mvn clean install -Pbuild-docker-image,metrics-prometheus,jaeger |
| </code></pre></div><p>After the build process has finished, the custom container images need to be pushed to the registry so that the |
| Kubernetes cluster can pull them from there during deployment. |
| Assuming that the images should be tagged with <code>1.0.3-CUSTOM</code> and the container registry name is <code>my.registry.io</code>, |
| the following command can be used to tag the locally built images and push them to the registry:</p> |
| <div class="highlight"><pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-sh" data-lang="sh"><span style="color:#75715e"># in base directory of Hono working tree:</span> |
| ./push_hono_images.sh 1.0.3-CUSTOM my.registry.io |
| </code></pre></div><div class="alert alert-notice"> |
| <h4 class="alert-heading"><i class="fas fa-info-circle"></i> Note</h4> |
| <div>You may need to log in to the (private) container registry before pushing the images.</div> |
| </div> |
| <p>The image names that Hono should use for starting up containers can be configured in a YAML file:</p> |
| <div class="highlight"><pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-yaml" data-lang="yaml"><span style="color:#f92672">deviceRegistryExample</span>: |
| <span style="color:#f92672">imageName</span>: <span style="color:#e6db74">"my.registry.io/eclipse/hono-service-device-registry-file:1.0.3-CUSTOM"</span> |
| <span style="color:#f92672">authServer</span>: |
| <span style="color:#f92672">imageName</span>: <span style="color:#e6db74">"my.registry.io/eclipse/hono-service-auth:1.0.3-CUSTOM"</span> |
| <span style="color:#f92672">deviceConnectionService</span>: |
| <span style="color:#f92672">imageName</span>: <span style="color:#e6db74">"my.registry.io/eclipse/hono-service-device-connection:1.0.3-CUSTOM"</span> |
| <span style="color:#f92672">adapters</span>: |
| <span style="color:#f92672">amqp</span>: |
| <span style="color:#f92672">imageName</span>: <span style="color:#e6db74">"my.registry.io/eclipse/hono-adapter-amqp-vertx:1.0.3-CUSTOM"</span> |
| <span style="color:#f92672">mqtt</span>: |
| <span style="color:#f92672">imageName</span>: <span style="color:#e6db74">"my.registry.io/eclipse/hono-adapter-mqtt-vertx:1.0.3-CUSTOM"</span> |
| <span style="color:#f92672">http</span>: |
| <span style="color:#f92672">imageName</span>: <span style="color:#e6db74">"my.registry.io/eclipse/hono-adapter-http-vertx:1.0.3-CUSTOM"</span> |
| </code></pre></div><p>Assuming that the YAML file is called <code>imageNames.yaml</code>, installation can then be done using:</p> |
| <div class="highlight"><pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-sh" data-lang="sh">helm install --dependency-update -n hono -f imageNames.yaml eclipse-hono eclipse-iot/hono |
| </code></pre></div><h3 id="deploying-to-minikube">Deploying to Minikube</h3> |
| <p>When using Minikube as the deployment target, things are a little easier. Minikube comes with an |
| embedded Docker daemon which can be used to build the container images instead of using a local |
| Docker daemon, thus eliminating the need to push the images to a registry altogether. |
| In order to use Minikube’s Docker daemon, the following command needs to be run:</p> |
| <div class="highlight"><pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-sh" data-lang="sh">eval <span style="color:#66d9ef">$(</span>minikube docker-env<span style="color:#66d9ef">)</span> |
| </code></pre></div><p>This will set the Docker environment variables to point to Minikube’s Docker daemon which can then be |
| used for building the container images and storing them locally in the Minikube VM.</p> |
| <p>In any case the build process can be started using the following command:</p> |
| <div class="highlight"><pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-sh" data-lang="sh"><span style="color:#75715e"># in base directory of Hono working tree:</span> |
| mvn clean install -Pbuild-docker-image,metrics-prometheus,jaeger |
| </code></pre></div><p>To obtain the used Hono version and write it in a variable, use:</p> |
| <div class="highlight"><pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-sh" data-lang="sh"><span style="color:#75715e"># in base directory of Hono working tree:</span> |
| HONO_VERSION<span style="color:#f92672">=</span><span style="color:#66d9ef">$(</span>mvn help:evaluate -Dexpression<span style="color:#f92672">=</span>project.version -q -DforceStdout<span style="color:#66d9ef">)</span> |
| </code></pre></div><p>The newly built images can then be deployed using Helm:</p> |
| <div class="highlight"><pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-sh" data-lang="sh">helm install --dependency-update -n hono --set honoImagesTag<span style="color:#f92672">=</span>$HONO_VERSION eclipse-hono eclipse-iot/hono |
| </code></pre></div><h3 id="using-jaeger-tracing">Using Jaeger Tracing</h3> |
| <p>Hono’s components are instrumented using OpenTracing to allow tracking of the distributed processing of messages flowing through the system. |
| The Hono chart can be configured to report tracing information to the <a href="https://www.jaegertracing.io/">Jaeger tracing system</a>. The <em>Spans</em> reported |
| by the components can then be viewed in a web browser.</p> |
| <p>In order for Hono’s components to use the Jaeger client for reporting tracing information, the container images need to be built |
| with the <code>jaeger</code> Maven profile. Please refer to <a href="/hono/docs/dev/admin-guide/monitoring-tracing-config/#configuring-usage-of-jaeger-tracing-included-in-docker-images">Monitoring & Tracing</a> |
| for details. |
| The newly built images also need to be made available to the target Kubernetes cluster as described in the two previous sections.</p> |
| <p>The chart can be configured to deploy and use an example Jaeger back end by means of setting the <em>jaegerBackendExample.enabled</em> property |
| to <code>true</code> when running Helm:</p> |
| <div class="highlight"><pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-sh" data-lang="sh">helm install --dependency-update -n hono --set jaegerBackendExample.enabled<span style="color:#f92672">=</span>true eclipse-hono eclipse-iot/hono |
| </code></pre></div><p>This will create a Jaeger back end instance suitable for testing purposes and will configure all deployed Hono components to use the |
| Jaeger back end.</p> |
| <p>The following command can then be used to return the IP address with which the Jaeger UI can be accessed in a |
| browser (ensure <code>minikube tunnel</code> is running when using minikube):</p> |
| <div class="highlight"><pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-sh" data-lang="sh">kubectl get service eclipse-hono-jaeger-query --output<span style="color:#f92672">=</span><span style="color:#e6db74">"jsonpath={.status.loadBalancer.ingress[0]['hostname','ip']}"</span> -n hono |
| </code></pre></div><p>If no example Jaeger back end should be deployed but instead an existing Jaeger installation should be used, |
| the chart’s <em>jaegerAgentConf</em> property can be set to environment variables which are passed in to |
| the Jaeger Agent that is deployed with each of Hono’s components.</p> |
| <div class="highlight"><pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-sh" data-lang="sh">helm install --dependency-update -n hono --set jaegerAgentConf.REPORTER_TYPE<span style="color:#f92672">=</span>tchannel --set jaegerAgentConf.REPORTER_TCHANNEL_HOST_PORT<span style="color:#f92672">=</span>my-jaeger-collector:14267 eclipse-hono eclipse-iot/hono |
| </code></pre></div><h3 id="deploying-to-azure-kubernetes-service-aks">Deploying to Azure Kubernetes Service (AKS)</h3> |
| <p>The following chapter describes how to use Azure Kubernetes Service (AKS) as a deployment target that has |
| been set up as described in the <a href="/hono/docs/dev/deployment/create-kubernetes-cluster/">Setting up a Kubernetes Cluster guide</a>.</p> |
| <p>First we build the docker images and push them into the ACR. Note that if you define a custom image tag |
| you have to provide the helm with the image tags as described in the chapters above.</p> |
| <div class="highlight"><pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-bash" data-lang="bash"><span style="color:#75715e"># Resource group where the ACR is deployed.</span> |
| acr_resourcegroupname<span style="color:#f92672">={</span>YOUR_ACR_RG<span style="color:#f92672">}</span> |
| <span style="color:#75715e"># Name of your ACR.</span> |
| acr_registry_name<span style="color:#f92672">={</span>YOUR_ACR_NAME<span style="color:#f92672">}</span> |
| <span style="color:#75715e"># Full name of the ACR.</span> |
| acr_login_server<span style="color:#f92672">=</span>$acr_registry_name.azurecr.io |
| <span style="color:#75715e"># Authenticate your docker daemon with the ACR.</span> |
| az acr login --name $ACR_NAME |
| <span style="color:#75715e"># Build images.</span> |
| cd hono |
| mvn install -Pbuild-docker-image -Ddocker.registry<span style="color:#f92672">=</span>$acr_login_server |
| <span style="color:#75715e"># Push images to ACR.</span> |
| ./push_hono_images.sh 1.0.0-SNAPSHOT $acr_login_server |
| </code></pre></div><p>Now we can retrieve settings from the deployment for the following steps:</p> |
| <div class="highlight"><pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-bash" data-lang="bash"><span style="color:#75715e"># Resource group of the AKS deployment</span> |
| resourcegroup_name<span style="color:#f92672">=</span>hono |
| |
| aks_cluster_name<span style="color:#f92672">=</span><span style="color:#e6db74">`</span>az group deployment show --name HonoBasicInfrastructure --resource-group $resourcegroup_name --query properties.outputs.aksClusterName.value -o tsv<span style="color:#e6db74">`</span> |
| http_ip_address<span style="color:#f92672">=</span><span style="color:#e6db74">`</span>az group deployment show --name HonoBasicInfrastructure --resource-group $resourcegroup_name --query properties.outputs.httpPublicIPAddress.value -o tsv<span style="color:#e6db74">`</span> |
| amqp_ip_address<span style="color:#f92672">=</span><span style="color:#e6db74">`</span>az group deployment show --name HonoBasicInfrastructure --resource-group $resourcegroup_name --query properties.outputs.amqpPublicIPAddress.value -o tsv<span style="color:#e6db74">`</span> |
| mqtt_ip_address<span style="color:#f92672">=</span><span style="color:#e6db74">`</span>az group deployment show --name HonoBasicInfrastructure --resource-group $resourcegroup_name --query properties.outputs.mqttPublicIPAddress.value -o tsv<span style="color:#e6db74">`</span> |
| registry_ip_address<span style="color:#f92672">=</span><span style="color:#e6db74">`</span>az group deployment show --name HonoBasicInfrastructure --resource-group $resourcegroup_name --query properties.outputs.registryPublicIPAddress.value -o tsv<span style="color:#e6db74">`</span> |
| network_ip_address<span style="color:#f92672">=</span><span style="color:#e6db74">`</span>az group deployment show --name HonoBasicInfrastructure --resource-group $resourcegroup_name --query properties.outputs.networkPublicIPAddress.value -o tsv<span style="color:#e6db74">`</span> |
| </code></pre></div><p>Note: add the following lines in case you opted for the Azure Service Bus variant:</p> |
| <div class="highlight"><pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-bash" data-lang="bash">service_bus_namespace<span style="color:#f92672">=</span><span style="color:#e6db74">`</span>az group deployment show --name HonoBasicInfrastructure --resource-group $resourcegroup_name --query properties.outputs.serviceBusNamespaceName.value -o tsv<span style="color:#e6db74">`</span> |
| service_bus_key_name<span style="color:#f92672">=</span><span style="color:#e6db74">`</span>az group deployment show --name HonoBasicInfrastructure --resource-group $resourcegroup_name --query properties.outputs.serviceBusKeyName.value -o tsv<span style="color:#e6db74">`</span> |
| service_bus_key<span style="color:#f92672">=</span><span style="color:#e6db74">`</span>az group deployment show --name HonoBasicInfrastructure --resource-group $resourcegroup_name --query properties.outputs.serviceBusKey.value -o tsv<span style="color:#e6db74">`</span> |
| </code></pre></div><p>Next we prepare the k8s environment:</p> |
| <div class="highlight"><pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-bash" data-lang="bash">k8s_namespace<span style="color:#f92672">=</span>honons |
| kubectl create namespace $k8s_namespace |
| </code></pre></div><p>Finally install Hono. Leveraging the <em>managed-premium-retain</em> storage in combination with <em>deviceRegistry.resetFiles=false</em> parameter is optional but ensures that Device registry storage will retain future update deployments.</p> |
| <div class="highlight"><pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-bash" data-lang="bash"><span style="color:#75715e"># in Hono working tree directory: hono/deploy</span> |
| helm install target/deploy/helm/eclipse-hono/ <span style="color:#ae81ff">\ |
| </span><span style="color:#ae81ff"></span> --dep-up <span style="color:#ae81ff">\ |
| </span><span style="color:#ae81ff"></span> --name hono <span style="color:#ae81ff">\ |
| </span><span style="color:#ae81ff"></span> --namespace $k8s_namespace <span style="color:#ae81ff">\ |
| </span><span style="color:#ae81ff"></span> --set adapters.mqtt.svc.annotations.<span style="color:#e6db74">"service\.beta\.kubernetes\.io/azure-load-balancer-resource-group"</span><span style="color:#f92672">=</span>$resourcegroup_name <span style="color:#ae81ff">\ |
| </span><span style="color:#ae81ff"></span> --set adapters.http.svc.annotations.<span style="color:#e6db74">"service\.beta\.kubernetes\.io/azure-load-balancer-resource-group"</span><span style="color:#f92672">=</span>$resourcegroup_name <span style="color:#ae81ff">\ |
| </span><span style="color:#ae81ff"></span> --set adapters.amqp.svc.annotations.<span style="color:#e6db74">"service\.beta\.kubernetes\.io/azure-load-balancer-resource-group"</span><span style="color:#f92672">=</span>$resourcegroup_name <span style="color:#ae81ff">\ |
| </span><span style="color:#ae81ff"></span> --set deviceRegistryExample.svc.annotations.<span style="color:#e6db74">"service\.beta\.kubernetes\.io/azure-load-balancer-resource-group"</span><span style="color:#f92672">=</span>$resourcegroup_name <span style="color:#ae81ff">\ |
| </span><span style="color:#ae81ff"></span> --set amqpMessagingNetworkExample.dispatchRouter.svc.annotations.<span style="color:#e6db74">"service\.beta\.kubernetes\.io/azure-load-balancer-resource-group"</span><span style="color:#f92672">=</span>$resourcegroup_name <span style="color:#ae81ff">\ |
| </span><span style="color:#ae81ff"></span> --set deviceRegistryExample.storageClass<span style="color:#f92672">=</span>managed-premium-retain <span style="color:#ae81ff">\ |
| </span><span style="color:#ae81ff"></span> --set deviceRegistryExample.resetFiles<span style="color:#f92672">=</span>false <span style="color:#ae81ff">\ |
| </span><span style="color:#ae81ff"></span> --set adapters.mqtt.svc.loadBalancerIP<span style="color:#f92672">=</span>$mqtt_ip_address <span style="color:#ae81ff">\ |
| </span><span style="color:#ae81ff"></span> --set adapters.http.svc.loadBalancerIP<span style="color:#f92672">=</span>$http_ip_address <span style="color:#ae81ff">\ |
| </span><span style="color:#ae81ff"></span> --set adapters.amqp.svc.loadBalancerIP<span style="color:#f92672">=</span>$amqp_ip_address <span style="color:#ae81ff">\ |
| </span><span style="color:#ae81ff"></span> --set deviceRegistryExample.svc.loadBalancerIP<span style="color:#f92672">=</span>$registry_ip_address <span style="color:#ae81ff">\ |
| </span><span style="color:#ae81ff"></span> --set amqpMessagingNetworkExample.dispatchRouter.svc.loadBalancerIP<span style="color:#f92672">=</span>$network_ip_address |
| </code></pre></div><p>Note: add the following lines in case you opted for the Azure Service Bus variant:</p> |
| <div class="highlight"><pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-bash" data-lang="bash"> <span style="color:#75715e"># Router update required to work together with Azure Service Bus</span> |
| --set amqpMessagingNetworkExample.dispatchRouter.imageName<span style="color:#f92672">=</span>quay.io/enmasse/qdrouterd-base:1.8.0 <span style="color:#ae81ff">\ |
| </span><span style="color:#ae81ff"></span> --set amqpMessagingNetworkExample.broker.type<span style="color:#f92672">=</span>servicebus <span style="color:#ae81ff">\ |
| </span><span style="color:#ae81ff"></span> --set amqpMessagingNetworkExample.broker.servicebus.saslUsername<span style="color:#f92672">=</span>$service_bus_key_name <span style="color:#ae81ff">\ |
| </span><span style="color:#ae81ff"></span> --set amqpMessagingNetworkExample.broker.servicebus.saslPassword<span style="color:#f92672">=</span>$service_bus_key <span style="color:#ae81ff">\ |
| </span><span style="color:#ae81ff"></span> --set amqpMessagingNetworkExample.broker.servicebus.host<span style="color:#f92672">=</span>$service_bus_namespace.servicebus.windows.net <span style="color:#ae81ff">\ |
| </span></code></pre></div><p>Have fun with Hono on Microsoft Azure!</p> |
| <p>Next steps:</p> |
| <p>You can follow the steps as described in the <a href="https://www.eclipse.org/hono/getting-started/">Getting Started</a> guide with the following differences:</p> |
| <p>Compared to a plain k8s deployment Azure provides us DNS names with static IPs for the Hono endpoints. To retrieve them:</p> |
| <div class="highlight"><pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-bash" data-lang="bash">HTTP_ADAPTER_IP<span style="color:#f92672">=</span><span style="color:#e6db74">`</span>az group deployment show --name HonoBasicInfrastructure --resource-group $resourcegroup_name --query properties.outputs.httpPublicIPFQDN.value -o tsv<span style="color:#e6db74">`</span> |
| AMQP_ADAPTER_IP<span style="color:#f92672">=</span><span style="color:#e6db74">`</span>az group deployment show --name HonoBasicInfrastructure --resource-group $resourcegroup_name --query properties.outputs.amqpPublicIPFQDN.value -o tsv<span style="color:#e6db74">`</span> |
| MQTT_ADAPTER_IP<span style="color:#f92672">=</span><span style="color:#e6db74">`</span>az group deployment show --name HonoBasicInfrastructure --resource-group $resourcegroup_name --query properties.outputs.mqttPublicIPFQDN.value -o tsv<span style="color:#e6db74">`</span> |
| REGISTRY_IP<span style="color:#f92672">=</span><span style="color:#e6db74">`</span>az group deployment show --name HonoBasicInfrastructure --resource-group $resourcegroup_name --query properties.outputs.registryPublicIPFQDN.value -o tsv<span style="color:#e6db74">`</span> |
| AMQP_NETWORK_IP<span style="color:#f92672">=</span><span style="color:#e6db74">`</span>az group deployment show --name HonoBasicInfrastructure --resource-group $resourcegroup_name --query properties.outputs.networkPublicIPFQDN.value -o tsv<span style="color:#e6db74">`</span> |
| </code></pre></div><p>As Azure Service Bus does not support auto creation of queues you have to create a queue per tenant (ID), e.g. after you have created your tenant run:</p> |
| <div class="highlight"><pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-bash" data-lang="bash">az servicebus queue create --resource-group $resourcegroup_name <span style="color:#ae81ff">\ |
| </span><span style="color:#ae81ff"></span> --namespace-name $service_bus_namespace <span style="color:#ae81ff">\ |
| </span><span style="color:#ae81ff"></span> --name $MY_TENANT |
| </code></pre></div> |
| |
| <footer class="footline"> |
| |
| </footer> |
| |
| |
| </div> |
| |
| |
| </div> |
| |
| <div id="navigation"> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| </div> |
| |
| </section> |
| |
| <div style="left: -1000px; overflow: scroll; position: absolute; top: -1000px; border: none; box-sizing: content-box; height: 200px; margin: 0px; padding: 0px; width: 200px;"> |
| <div style="border: none; box-sizing: content-box; height: 200px; margin: 0px; padding: 0px; width: 200px;"></div> |
| </div> |
| <script src="/hono/docs/js/clipboard.min.js?1625793049"></script> |
| <script src="/hono/docs/js/perfect-scrollbar.min.js?1625793049"></script> |
| <script src="/hono/docs/js/perfect-scrollbar.jquery.min.js?1625793049"></script> |
| <script src="/hono/docs/js/jquery.sticky.js?1625793049"></script> |
| <script src="/hono/docs/js/featherlight.min.js?1625793049"></script> |
| <script src="/hono/docs/js/highlight.pack.js?1625793049"></script> |
| <script>hljs.initHighlightingOnLoad();</script> |
| <script src="/hono/docs/js/modernizr.custom-3.6.0.js?1625793049"></script> |
| <script src="/hono/docs/js/learn.js?1625793049"></script> |
| <script src="/hono/docs/js/hugo-learn.js?1625793049"></script> |
| |
| <link href="/hono/docs/mermaid/mermaid.css?1625793049" rel="stylesheet" /> |
| <script src="/hono/docs/mermaid/mermaid.js?1625793049"></script> |
| <script> |
| mermaid.initialize({ startOnLoad: true }); |
| </script> |
| |
| |
| |
| |
| <script> |
| (function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': |
| new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], |
| j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= |
| 'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); |
| })(window,document,'script','dataLayer','GTM-5WLCZXC'); |
| </script> |
| |
| |
| <script src="https://www.eclipse.org/eclipse.org-common/themes/solstice/public/javascript/vendor/cookieconsent/default.min.js"></script> |
| |
| </body> |
| </html> |
| |