generated from abhinavs/moonwalk
-
Notifications
You must be signed in to change notification settings - Fork 3
/
index.html
233 lines (233 loc) · 12.3 KB
/
index.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
<!DOCTYPE html>
<html>
<head>
<title>K0smotron</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<script src="https://kit.fontawesome.com/80dc2f45ab.js" crossorigin="anonymous"></script>
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Jura:wght@300;400;500;700&display=swap" rel="stylesheet">
<link rel="stylesheet" type="text/css" href="styles.css">
</head>
<body>
<header>
<div class="container">
<div class="row">
<div class="col-12 header-col">
<div class="social-icons">
<a href="https://github.com/k0sproject/k0smotron" target="_blank"><i class="fab fa-github"></i></a>
<a href="https://forums.k8slens.dev/" target="_blank"><i class="fas fa-comments"></i></a>
<a href="https://twitter.com/k0sproject" target="_blank"><i class="fab fa-twitter"></i></a>
<a href="https://docs.k0smotron.io" target="_blank"><i class="fas fa-book"></i></a>
</div>
</div>
</div>
</div>
</header>
<section class="hero-section">
<div class="container">
<div class="row hero-section-images-row">
<div class="image-col">
<img class="image-dashed rotating" src="images/[email protected]" alt="dashed-ring">
<img class="image-circle" src="images/[email protected]" alt="wave-circle">
<div class="text" style="top:-25%"><p>Team Lens proudly presents</p></div>
<img class="image-logo" src="images/k0smotron-logo.svg" alt="k0smotron-logo-inverted">
<div class="text text-bottom"><p>From pets to cattle: declaratively manage hosted k0s control planes, workers, clusters, and underlying infrastructure through the Kubernetes API.</p></div>
</div>
</div>
<div class="row hero-section-text-row">
<div class="col-8 center">
<p></p>
<p>Experience unparalleled isolation, scalability, and resource efficiency for your Kubernetes control planes with k0smotron - the ultimate Kubernetes management solution. It’s designed for <a href="https://k0sproject.io" target="_blank">k0s</a></p>
</div>
</div>
</div>
</section>
<section class="section-features">
<div class="container">
<div class="row">
<div class="col-12 left">
<h2>Features</h2>
</div>
</div>
<div class="row row-3-items">
<div class="col-4 left">
<div class="wrapper">
<h3>Kubernetes-in-Kubernetes</h3>
<p>k0smotron lets you easily create and manage hosted control planes in an existing Kubernetes cluster. This permits unparalleled scalability and flexibility when working with many clusters, easing the burden of multi-cluster operations and maintenance.</p>
</div>
</div>
<div class="col-4 left">
<div class="wrapper">
<h3>True control and worker plane separation</h3>
<p>Using k0smotron the clusters controlplane and workerplane are truly separated. The controlplane, running on an existing cluster has no direct networking connection to the workerplane. This is a similar pattern to how all the major cloud providers separate the control and worker planes on the managed clusters.</p>
</div>
</div>
<div class="col-4 left">
<div class="wrapper">
<h3>Bring your own workers</h3>
<p>With k0smotron you can connect worker nodes from ANY infrastructure to your cluster control plane. This allows you to manage all control planes in a shared infrastructure, and in a homogenous way, but connect each cluster’s workers from separate remote infrastructures.</p>
</div>
</div>
</div>
</div>
</section>
<section class="section-features">
<div class="container">
<div class="row">
<div class="col-6">
<h3>Cluster API</h3>
<p>k0smotron is NOT limited to only managing hosted k0s control planes. It has now evolved into a full Cluster API provider for k0s.</p>
<p>k0smotron operates as:</p>
<p>
<ul>
<li><p>ControlPlane provider</p></li>
<li><p>Bootstrap provider</p></li>
<li><p>Infrastructure provider (with k0smotron RemoteMachine)</p></li>
</ul>
</p>
</div>
<div class="col-6">
<h3>k0smotron RemoteMachine</h3>
<p>k0smotron RemoteMachine functions as a Cluster API compliant infrastructure provider enabling cluster provisioning on remote machines using SSH connections. This opens up new possibilities for managing remote machines seamlessly in your Kubernetes clusters. Perfect for diverse infrastructure setups, bare metal and for environments which have no existing Cluster API support.</p>
</div>
</div>
</div>
</section>
<section class="section-how">
<div class="container">
<div class="row">
<div class="col-6">
<h2>How does it work</h2>
<p>You install k0smotron operator into an existing Kubernetes cluster. k0smotron operator will create and manage k0s control planes in that cluster. It leverages the natural pattern of working with custom resources to manage the lifecycle of the k0s control planes. k0smotron will automatically create all the needed Kubernetes lower level constructs, such as pods, configmaps etc., to </p>
<p>k0smotron is an Kubernetes operator designed to manage the lifecycle of k0s control planes in a Kubernetes (any distro) cluster. By running the control plane on a k8s cluster we can enjoy and leverage the high availability and auto-healing functionalities of the underlying cluster, a.k.a Mothership.</p>
</div>
<div class="col-6">
<img src="images/k0smotron-diagram-v2.png" alt="how-does-it-work-diagram" />
</div>
</div>
</div>
</section>
<section class="section-use-cases-faq">
<div class="container">
<div class="row">
<div class="col-12 left">
<h2>Use cases</h2>
</div>
</div>
<div class="row row-3-items">
<div class="col-4 left">
<div class="wrapper">
<h3>CI/CD</h3>
<p>Often when running integration and end-to-end testing for your software running in Kubernetes you need somewhat temporary clusters in CI. Why not leverage the true flexibility and create those clusters on-demand using k0smotron. Creating a controlplane is as easy as creating a custom resource, so is the deletion of it. No more long living snowflake clusters for CI purposes.</p>
</div>
</div>
<div class="col-4 left">
<div class="wrapper">
<h3>Edge</h3>
<p>Running Kubernetes on the network edge usually means running in low resource infrastructure. What this often means is that setting up the controlplane is either a challenge or a mission impossible. Running the controlplane on an existing cluster, on a separate dedicated infrastructure, removes that challenge and lets you focus on the real edge. </p>
<p>Running on the edge often also means a large number of clusters to manage. Do you really want to dedicate nodes for each cluster controlplane and manage all the infrastructure for those?</p>
</div>
</div>
<div class="col-4 left">
<div class="wrapper">
<h3>Multi-cloud</h3>
<p>With k0smotron, you can distribute hosted or conventional Kubernetes control planes and workers across one or multiple infrastructures. Aggregate control planes in a ‘mothership’ cluster on public cloud, and put workers (and workloads) on another public cloud, on-premises cloud, or on bare metal machines from datacenter to edge. Explore novel cluster configurations to enhance reliability, security, performance, and to control costs.</p>
</div>
</div>
</div>
<div class="row">
<div class="col-12 left">
<h2>Getting started</h2>
</div>
</div>
<div class="row">
<div class="col-12 left">
<p>Getting started with k0smotron is easy. Simply install the controller into existing cluster:</p>
<pre style="background-color: rgba(1, 8, 9, .55); padding: 10px;">
<!-- Note to next reader, has to be untabbed otherwise HTML will render the tabs too -->
<code class="language-bash">kubectl apply -f https://docs.k0smotron.io/stable/install.yaml</code>
</pre>
<p>Then create a k0s control plane:</p>
<pre style="background-color: rgba(1, 8, 9, .55); padding: 10px;">
<code class="language-bash">
kubectl apply -f - <<EOF
apiVersion: k0smotron.io/v1beta1
kind: Cluster
metadata:
name: my-k0smotron
spec: {}
EOF </code></pre>
<p>And that's it. You now have a k0s control plane running in your cluster. For further details how to work with the created cluster control plane check out the <a href="https://docs.k0smotron.io" target="_blank">documentation</a>.</p>
</div>
</div>
<div class="row">
<div class="col-12 left">
<h2>FAQ</h2>
</div>
</div>
<div class="row faq-row">
<div class="col-6">
<div class="faq-item">
<div class="faq-item-q">
What is the relation of k0smotron with Cluster API
</div>
<div class="faq-item-a">
k0smotron is a Cluster API provider for k0s. It is a fully compliant Cluster API provider and can be used with any Cluster API compatible tooling. k0smotron is also a Cluster API infrastructure provider, allowing you to provision clusters on remote machines using SSH connections.
</div>
</div>
<div class="faq-item">
<div class="faq-item-q">
How is k0smotron different from typical multi-cluster management solutions such as Tanzu, Rancher etc.?
</div>
<div class="faq-item-a">
Most of the existing multi-cluster management solutions provision specific infrastructure for the control planes, in most cases VMs. In all of the cases we've looked at the worker plane infrastructure is also provisioned in the same infrastructure with the control plane and thus not allowing you to fully utilize the capabilities of the management cluster.
</div>
</div>
<div class="faq-item">
<div class="faq-item-q">
What do we mean with pet vs. cattle?
</div>
<div class="faq-item-a">
As the controlplanes for clusters are pretty static, it means they are usually managed as "pets". Using an operator like k0smotron to manage k0s control planes within an existing Kubernetes cluster is a "cattle" approach that allows for a more scalable and flexible management of clusters. This approach makes it easier to maintain a consistent and homogeneous setup across all clusters, while also taking advantage of the high availability and auto-healing features of Kubernetes.
</div>
</div>
</div>
<div class="col-6">
<div class="faq-item">
<div class="faq-item-q">
How is this different for managed Kubernetes providers?
</div>
<div class="faq-item-a">
<div>
<ul>
<li>Control and Flexibility: <br/>k0smotron gives you full control over your cluster configurations within your existing Kubernetes cluster, offering unparalleled flexibility.</li>
<li>Bring Your Own Workers: <br/>Unlike managed Kubernetes providers, k0smotron allows you to connect worker nodes from any infrastructure, providing greater freedom and compatibility.</li>
<li>Cost Efficiency: <br/>By leveraging your existing Kubernetes cluster, k0smotron helps reduce costs associated with managing separate clusters or paying for additional resources.</li>
<li>Homogeneous Setup: <br/>k0smotron ensures a consistent configuration across clusters, simplifying maintenance and management tasks.</li>
</ul>
</div>
</div>
</div>
</div>
</div>
</div>
</section>
<footer>
<div class="container">
<div class="row">
<div class="col-6 center">
<h2>Join the <br>k0smotron community</h2>
<div class="social-icons">
<a href="https://github.com/k0sproject/k0smotron" target="_blank"><i class="fab fa-github"></i></a>
<a href="https://forums.k8slens.dev/" target="_blank"><i class="fas fa-comments"></i></a>
<a href="https://twitter.com/k0sproject" target="_blank"><i class="fab fa-twitter"></i></a>
<a href="https://docs.k0smotron.io/" target="_blank"><i class="fas fa-solid fa-book"></i></a>
</div>
<p>Copyright © 2024 Mirantis, Inc. - All rights reserved.</p>
</div>
</div>
</div>
</footer>
</body>
</html>