blob: ef37caac804650707539c4023fb3039f89d95e8e [file] [log] [blame]
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<link rel="stylesheet" href="/packages/assets/bootstrap/bootstrap.min.css">
<title>Installation</title>
<link rel="stylesheet" href="/packages/assets/css/style.css">
<script src="/packages/assets/js/code.js"></script>
<meta name="twitter:card" content="summary"/>
<meta name="twitter:image" content="https://staging.eclipse.org/packages/images/icon/twitter_icon.png"/>
<meta name="twitter:title" content="Cloud2Edge | Installation"/>
<meta name="twitter:description" content="Installations instructions for the Cloud2Edge package."/>
<link rel="icon" type="image/svg+xml" href="/packages/images/icon/icon.svg" sizes="any">
<link rel="icon" href="/packages/images/icon/icon.png" sizes="192x192">
<link rel="apple-touch-icon-precomposed" href="/packages/images/icon/icon_apple.png" sizes="180x180">
</head>
<body>
<header>
<nav class="navbar navbar-expand-md fixed-top navbar-light bg-light">
<div class="container">
<a class="navbar-brand" href="/packages/">
<img src="/packages/images/icon_brand_navbar.svg" width="30" height="30" alt="Eclipse IoT Packages™">
</a>
<button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarCollapse" aria-controls="navbarCollapse" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="navbarCollapse">
<ul class="navbar-nav mr-auto"><li class="nav-item">
<a
class="nav-link"
href="/packages/">Home</a>
</li>
<li class="nav-item">
<a
class="nav-link"
href="/packages/about/">About</a>
</li>
<li class="nav-item">
<a
class="nav-link"
href="/packages/faq/">FAQ</a>
</li>
<li class="nav-item">
<a
class="nav-link"
href="/packages/contribute/">Contribute</a>
</li>
<li class="nav-item">
<a
class="nav-link"
href="/packages/prereqs/">Prerequisites</a>
</li>
<li class="nav-item">
<a
class="nav-link"
href="/packages/repository/">Repository</a>
</li>
</ul>
</div>
</div>
</nav></header>
<main id="main" role="main" >
<div class="container mt-5">
<h1>Cloud2Edge</h1>
<p class="lead">A package connecting and managing sensor style devices. Connecting sensors to the cloud, processing data with a digital twin platform, and managing device firmware.</p>
</div><div class="container mt-5">
<nav class="nav nav-pills nav-fill mt-5 mb-5"><a class="nav-item nav-link " href="/packages/packages/cloud2edge/">Overview</a><a class="nav-item nav-link active" href="/packages/packages/cloud2edge/installation/">Installation</a><a class="nav-item nav-link " href="/packages/packages/cloud2edge/learn/">Learn more</a><a class="nav-item nav-link " href="/packages/packages/cloud2edge/tour/">Take a tour</a></nav>
<div class="row">
<div class="col-12 col-md-8 col-lg-9">
<p>You will need a Kubernetes instance, the <code class="highlighter-rouge">kubectl</code> and the <code class="highlighter-rouge">helm</code> tool in order to deploy this package.
Please refer to our <a href="/packages/prereqs">pre-requisites</a> page for details.
Any Kubernetes compatible cluster will do, as long as it meets the requirements.</p>
<h2 id="check-access">Check access</h2>
<p>Be sure that you are logged in to your Kubernetes cluster:</p>
<div class="clipboard"><pre><code>kubectl version</code></pre></div>
<p>This should print out the version of the client, but must also print out the version of the server.</p>
<p><details><summary>Example output</summary><div>
<div class="highlighter-rouge"><div class="highlight"><pre class="highlight"><code>Client Version: version.Info{Major:"1", Minor:"16", GitVersion:"v1.16.1", GitCommit:"d647ddbd755faf07169599a625faf302ffc34458", GitTreeState:"clean", BuildDate:"2019-10-02T17:01:15Z", GoVersion:"go1.12.10", Compiler:"gc", Platform:"linux/amd64"}
Server Version: version.Info{Major:"1", Minor:"13+", GitVersion:"v1.13.4+c2a5caf", GitCommit:"c2a5caf", GitTreeState:"clean", BuildDate:"2019-09-21T02:12:52Z", GoVersion:"go1.11.13", Compiler:"gc", Platform:"linux/amd64"}
</code></pre></div> </div>
</div></details></p>
<h2 id="install-the-package">Install the package</h2>
<p>The Cloud2Edge package consists of multiple components. In order to keep them together and separate
from other components running in your Kubernetes cluster, it is feasible to install them into
their own name space. The following command creates the <code class="highlighter-rouge">cloud2edge</code> name space but you can select any
other name as well.</p>
<div class="clipboard"><pre><code>NS=cloud2edge
kubectl create namespace $NS</code></pre></div>
<p>Next, install the package to the name space using Helm.</p>
<nav><div class="nav nav-tabs" role="tablist"><a class="nav-item nav-link active" data-toggle="tab" id="variants-1-0-tab" href="#variants-1-0" aria-controls="variants-1-0">NodePort</a><a class="nav-item nav-link" data-toggle="tab" id="variants-1-1-tab" href="#variants-1-1" aria-controls="variants-1-1">LoadBalancer</a></div></nav>
<div class="tab-content">
<div class="tab-pane active show" id="variants-1-0" role="tabpanel" aria-labelledby="variants-1-0-tab">
<p>Kubernetes variants like <em>kind</em> or <em>Minikube</em> do not support exposing service endpoints via load balancers
out of the box. Instead, services are exposed via <em>NodePorts</em>.</p>
<div class="clipboard"><pre><code>RELEASE=c2e
helm install -n $NS --wait --timeout 10m $RELEASE eclipse-iot/cloud2edge</code></pre></div>
</div>
<div class="tab-pane" id="variants-1-1" role="tabpanel" aria-labelledby="variants-1-1-tab">
<p>Managed Kubernetes variants usually support exposing service endpoints via load balancers on public
IP addresses. To install the Cloud2Edge package using load balancers, run the following command:</p>
<div class="clipboard"><pre><code>RELEASE=c2e
helm install -n $NS --wait --timeout 10m --set hono.useLoadBalancer=true --set ditto.nginx.service.type=LoadBalancer $RELEASE eclipse-iot/cloud2edge</code></pre></div>
</div>
</div>
<h2 id="ready-to-run">Ready to run</h2>
<p>Once the package’s pods are all up and running, you can start using its services.
The easiest way of getting to know the Cloud2Edge package is by <a href="../tour">taking a little tour</a>.</p>
</div>
<div class="col-12 col-md-4 col-lg-3
">
<div class="card req-card">
<div class="card-header text-center"><h5>Requirements</h5></div>
<ul class="list-group list-group-flush">
<li class="list-group-item">
<dl class="row">
<dt class="col-sm-6">Kubernetes</dt>
<dd class="col-sm-6 text-right">1.15.x</dd>
</dl>
</li>
<li class="list-group-item">
<dl class="row">
<dt class="col-sm-6">CPUs</dt>
<dd class="col-sm-6 text-right">4</dd>
</dl>
</li>
<li class="list-group-item">
<dl class="row">
<dt class="col-sm-6">Memory</dt>
<dd class="col-sm-6 text-right">8192 MiB</dd>
</dl>
</li>
<li class="list-group-item">
<dl class="row">
<dt class="col-sm-6">Disk</dt>
<dd class="col-sm-6 text-right">40 GiB</dd>
</dl>
</li>
</ul>
<div class="card-body">Will require cluster admin privileges.</div>
</div>
</div>
</div>
</div>
</main>
<footer>
<div class="container">
<div class="row">
<div class="col-6 col-md">
<h5>Eclipse IoT Packages</h5>
<ul class="list-unstyled">
<li>
<a class="text-muted" href="/packages/">Home</a>
</li>
<li>
<a class="text-muted" href="/packages/about">About</a>
</li>
<li>
<a class="text-muted" href="/packages/contribute">Contribute</a>
</li>
<li>
<a class="text-muted" href="https://eclipse.org/security">Security</a>
</li>
</ul>
</div>
<div class="col-6 col-md">
<h5>Eclipse IoT</h5>
<ul class="list-unstyled">
<li>
<a class="text-muted" href="https://iot.eclipse.org">Top Level Project</a>
</li>
<li>
<a class="text-muted" href="https://www.eclipse.org/org/workinggroups/iotwg_charter.php">Working group</a>
</li>
</ul>
</div>
<div class="col-6 col-md">
<h5>Legal</h5>
<ul class="list-unstyled">
<li>
<a class="text-muted" href="http://www.eclipse.org/legal/privacy.php">Privacy Policy</a>
</li>
<li>
<a class="text-muted" href="http://www.eclipse.org/legal/termsofuse.php">Terms of Use</a>
</li>
<li>
<a class="text-muted" href="https://www.eclipse.org/legal/copyright.php">Copyright Agent</a>
</li>
<li>
<a class="text-muted" href="https://www.eclipse.org/legal/epl-2.0/">Eclipse Public License</a>
</li>
<li>
<a class="text-muted" href="http://www.eclipse.org/legal">Legal Resources</a>
</li>
</ul>
</div>
<div class="col-6 col-md">
<h5>Eclipse Foundation</h5>
<ul class="list-unstyled">
<li>
<a class="text-muted" href="https://eclipse.org/org">About us</a>
</li>
<li>
<a class="text-muted" href="https://www.eclipse.org/org/foundation/contact.php">Contact us</a>
</li>
<li>
<a class="text-muted" href="https://www.eclipse.org/org/foundation/directors.php">Board of Directors</a>
</li>
</ul>
</div>
</div>
<div class="row">
<div class="col-12 col-md text-muted">Copyright © Eclipse Foundation, Inc. All Rights Reserved.</div>
</div>
</div>
</footer>
<script src="/packages/assets/popper.min.js"></script>
<script src="/packages/assets/jquery.min.js"></script>
<script src="/packages/assets/bootstrap/bootstrap.min.js"></script>
<script src="/packages/assets/clipboard.min.js"></script>
<script src="/packages/assets/clipboard.js"></script>
</body>
</html>