-
Notifications
You must be signed in to change notification settings - Fork 17
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
add deploy concerns, fix in examples
- Loading branch information
Showing
8 changed files
with
303 additions
and
7 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,176 @@ | ||
<!DOCTYPE html> | ||
<html xmlns="http://www.w3.org/1999/xhtml"> | ||
<head> | ||
<title>Skupper - Deployment options on Kubernetes</title> | ||
<meta name="description" content="Multicluster communication for Kubernetes. Skupper is a layer 7 service interconnect. It enables secure communication across Kubernetes clusters with no VPNs or special firewall rules."/> | ||
<meta name="viewport" content="width=device-width, initial-scale=1.0"/> | ||
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Lato:300,300italic,400,400italic,700,700italic|Roboto+Mono:400,400italic|Alegreya+Sans:300,300italic,400,400italic,500,500italic,700,700italic;display=optional"/> | ||
<link rel="stylesheet" href="https://fonts.googleapis.com/icon?family=Material+Icons" defer="defer"/> | ||
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.12.0/css/all.css" defer="defer"/> | ||
<link rel="stylesheet" href="/main.css"/> | ||
<link rel="icon" type="image/png" sizes="32x32" href="/images/skupper-icon-32.png"/> | ||
<link rel="icon" type="image/png" sizes="256x256" href="/images/skupper-icon-256.png"/> | ||
<script type="text/javascript" src="/main.js" defer="defer"></script> | ||
|
||
|
||
|
||
<script async="async" src="https://www.googletagmanager.com/gtag/js?id=UA-147980770-1"></script> | ||
<script> | ||
window.dataLayer = window.dataLayer || []; | ||
function gtag() { dataLayer.push(arguments); } | ||
gtag('js', new Date()); | ||
gtag('config', 'UA-147980770-1'); | ||
</script> | ||
</head> | ||
<body> | ||
|
||
<header> | ||
<nav id="-site-nav"> | ||
<a id="-site-menu-button" style="display: none;"> | ||
<span class="material-icons">menu</span> | ||
</a> | ||
<div> | ||
<div id="-left-site-nav"> | ||
<a href="/index.html" id="-logotype"> | ||
<img src="/images/skupper-logo.svg"/> | ||
<div>Skupper</div> | ||
</a> | ||
<a href="/start/index.html"> | ||
<div>Getting started</div> | ||
</a> | ||
<a href="/examples/index.html"> | ||
<div>Examples</div> | ||
</a> | ||
<a href="/docs/index.html"> | ||
<div>Documentation</div> | ||
</a> | ||
<a href="/releases/index.html"> | ||
<div>Releases</div> | ||
</a> | ||
<a href="/community/index.html"> | ||
<div>Community</div> | ||
</a> | ||
</div> | ||
<div id="-right-site-nav"> | ||
<a href="https://github.com/skupperproject"> | ||
<div><span class="fab fa-github fa-lg"></span> GitHub</div> | ||
</a> | ||
</div> | ||
</div> | ||
</nav> | ||
<nav id="-path-nav"><div><a href="/docs/index.html">Documentation</a> <span class="path-separator">›</span> <a href="/docs/kubernetes/deployment-concerns.html">Deployment options on Kubernetes</a></div></nav> | ||
<nav id="-site-menu-layer" style="display: none;"> | ||
<div> | ||
<a href="/index.html">Home</a> | ||
<a href="/start/index.html">Getting started</a> | ||
<a href="/examples/index.html">Examples</a> | ||
<a href="/docs/index.html">Documentation</a> | ||
<a href="/community/index.html">Community</a> | ||
</div> | ||
</nav> | ||
</header> | ||
|
||
|
||
<section id="-main-and-toc"> | ||
<div> | ||
<main> | ||
|
||
<h1 id="deployment-options-on-kubernetes">Deployment options on Kubernetes</h1> | ||
<p>When you create a site on Kubernetes, there are many options you can use, for example, the number of pods for each component and the resource allocations for the associated pods. | ||
This guide focusses on the following goals:</p> | ||
<ul> | ||
<li><a href="#scaling-for-increased-traffic">Scaling for increased traffic</a></li> | ||
<li><a href="#creating-a-high-availability-site">Creating a high availability site</a></li> | ||
</ul> | ||
<h2 id="scaling-for-increased-traffic">Scaling for increased traffic</h2> | ||
<p>For optimal network latency and throughput, you can adjust the CPU allocation for the router using the <code>router-cpu</code> option. | ||
Adjusting other allocations does not affect network performance.</p> | ||
<p><strong>📌 NOTE</strong><br /> | ||
Increasing the number of routers does not improve network performance.</p> | ||
<ol> | ||
<li><p>Determine the router CPU allocation you require.</p> | ||
<p>By default, the router CPU allocation is <code>BestEffort</code> as described in <a href="https://kubernetes.io/docs/concepts/workloads/pods/pod-qos/#besteffort">Pod Quality of Service Classes</a>.</p> | ||
<p>Consider the following CPU allocation options:</p> | ||
<p>| | | | ||
| --- | --- | | ||
| Router CPU | Description | | ||
| 1 | Helps avoid issues with <code>BestEffort</code> on low resource clusters. | | ||
| 2 | Suitable for production environments. | | ||
| 5 | Maximum performance. |</p> | ||
</li> | ||
<li><p>If you are using the <code>skupper</code> CLI, set the CPU allocation for the router using the <code>--router-cpu</code> option, for example:</p> | ||
<pre><code class="language-bash">$ skupper init --router-cpu 2 | ||
</code></pre> | ||
</li> | ||
<li><p>If you are using YAML, set the CPU allocation for the router by setting a value for <code>router-cpu</code>, for example:</p> | ||
<pre><code class="language-YAML">apiVersion: v1 | ||
kind: ConfigMap | ||
metadata: | ||
name: "skupper-site" | ||
data: | ||
name: "my-site" | ||
router-cpu: 2 | ||
</code></pre> | ||
</li> | ||
</ol> | ||
<h2 id="creating-a-high-availability-site">Creating a high availability site</h2> | ||
<p>By default, Kubernetes restarts any router that become unresponsive. | ||
If you encounter router pod issues, consider <a href="#scaling-for-increased-traffic">Scaling for increased traffic</a> before increasing the number of routers.</p> | ||
<p>To address high availability concerns, increase the number of routers to 2 as follows:</p> | ||
<ol> | ||
<li><p>If you are using the <code>skupper</code> CLI, set the number of routers to <code>2</code> using the <code>--routers</code> option:</p> | ||
<pre><code class="language-bash">$ skupper init --routers 2 | ||
</code></pre> | ||
</li> | ||
<li><p>If you are using YAML, set the number of routers to <code>2</code> by setting the <code>routers</code> value:</p> | ||
<pre><code class="language-YAML">apiVersion: v1 | ||
kind: ConfigMap | ||
metadata: | ||
name: "skupper-site" | ||
data: | ||
name: "my-site" | ||
routers: 2 | ||
</code></pre> | ||
<p>Setting the number of routers to more than 2 adversely affects performance.</p> | ||
</li> | ||
</ol> | ||
|
||
|
||
</main> | ||
<nav id="-toc"> | ||
<h4>Contents</h4> | ||
<div></div> | ||
</nav> | ||
</div> | ||
</section> | ||
|
||
<footer> | ||
<div> | ||
<div> | ||
<p><a href="https://twitter.com/SkupperIO"><span class="fab fa-twitter fa-lg"></span> Twitter</a></p> | ||
<p><a href="https://www.youtube.com/channel/UCQxHN2Qq8koCatcmKCJ4OEA"><span class="fab fa-youtube fa-lg"></span> YouTube</a></p> | ||
<!-- <p><a href="https://stackoverflow.com/questions/tagged/skupper"><span class="fab fa-stack-overflow fa-lg"></span> Stack Overflow</a></p> --> | ||
<p><a href="https://groups.google.com/forum/#!forum/skupper"><span class="fas fa-envelope fa-lg"></span> Mailing list</a></p> | ||
<p><a href="https://github.com/skupperproject"><span class="fab fa-github fa-lg"></span> GitHub</a></p> | ||
</div> | ||
<div> | ||
<h4>Skupper - Multicloud communication for Kubernetes</h4> | ||
<p>Skupper enables secure communication across Kubernetes | ||
clusters with no VPNs or special firewall rules</p> | ||
<p>Copyright © 2023 the Skupper authors</p> | ||
</div> | ||
<div> | ||
<p>All code and documentation is licensed under | ||
the <a href="https://www.apache.org/licenses/LICENSE-2.0">Apache | ||
License version 2.0</a></p> | ||
<p>Marks may be trademarks or registered trademarks of their | ||
respective owners</p> | ||
<p><a href="/site.html">About this site</a></p> | ||
</div> | ||
</div> | ||
</footer> | ||
|
||
|
||
|
||
</body> | ||
</html> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,73 @@ | ||
--- | ||
title: Deployment options on Kubernetes | ||
--- | ||
# Deployment options on Kubernetes | ||
|
||
When you create a site on Kubernetes, there are many options you can use, for example, the number of pods for each component and the resource allocations for the associated pods. | ||
This guide focusses on the following goals: | ||
|
||
* [Scaling for increased traffic](#scaling-for-increased-traffic) | ||
* [Creating a high availability site](#creating-a-high-availability-site) | ||
|
||
## Scaling for increased traffic | ||
|
||
For optimal network latency and throughput, you can adjust the CPU allocation for the router using the `router-cpu` option. | ||
Adjusting other allocations does not affect network performance. | ||
|
||
**📌 NOTE**\ | ||
Increasing the number of routers does not improve network performance. | ||
|
||
1. Determine the router CPU allocation you require. | ||
|
||
By default, the router CPU allocation is `BestEffort` as described in [Pod Quality of Service Classes](https://kubernetes.io/docs/concepts/workloads/pods/pod-qos/#besteffort). | ||
|
||
Consider the following CPU allocation options: | ||
|
||
| | | | ||
| --- | --- | | ||
| Router CPU | Description | | ||
| 1 | Helps avoid issues with `BestEffort` on low resource clusters. | | ||
| 2 | Suitable for production environments. | | ||
| 5 | Maximum performance. | | ||
2. If you are using the `skupper` CLI, set the CPU allocation for the router using the `--router-cpu` option, for example: | ||
|
||
```bash | ||
$ skupper init --router-cpu 2 | ||
``` | ||
3. If you are using YAML, set the CPU allocation for the router by setting a value for `router-cpu`, for example: | ||
|
||
```YAML | ||
apiVersion: v1 | ||
kind: ConfigMap | ||
metadata: | ||
name: "skupper-site" | ||
data: | ||
name: "my-site" | ||
router-cpu: 2 | ||
``` | ||
|
||
## Creating a high availability site | ||
|
||
By default, Kubernetes restarts any router that become unresponsive. | ||
If you encounter router pod issues, consider [Scaling for increased traffic](#scaling-for-increased-traffic) before increasing the number of routers. | ||
|
||
To address high availability concerns, increase the number of routers to 2 as follows: | ||
|
||
1. If you are using the `skupper` CLI, set the number of routers to `2` using the `--routers` option: | ||
|
||
```bash | ||
$ skupper init --routers 2 | ||
``` | ||
2. If you are using YAML, set the number of routers to `2` by setting the `routers` value: | ||
|
||
```YAML | ||
apiVersion: v1 | ||
kind: ConfigMap | ||
metadata: | ||
name: "skupper-site" | ||
data: | ||
name: "my-site" | ||
routers: 2 | ||
``` | ||
|
||
Setting the number of routers to more than 2 adversely affects performance. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters