Revise MVK documentation: replace mermaid diagrams with images, add new sections for single node and three node viability, and enhance the usage slide with additional context.
This commit is contained in:
parent
563e6333dc
commit
072e2998ae
12 changed files with 212 additions and 77 deletions
|
|
@ -8,33 +8,10 @@ The **V** in MVK is for *viable*, so why is MVK viable for 3 or more nodes ?
|
||||||
|
|
||||||
<div class="grid grid-cols-1">
|
<div class="grid grid-cols-1">
|
||||||
|
|
||||||
```mermaid
|
<img src="/k8s-3.drawio.png">
|
||||||
%%{init: {'theme': 'dark', 'themeVariables': { 'darkMode': true }}}%%
|
|
||||||
flowchart LR
|
|
||||||
root((3-node))
|
|
||||||
PS[Persistent Storage]
|
|
||||||
LH[Longhorn]
|
|
||||||
ING[Ingress]
|
|
||||||
TRA[Traefik]
|
|
||||||
MET[cert-manager]
|
|
||||||
ETCD[etcd]
|
|
||||||
KA[keepalived]
|
|
||||||
|
|
||||||
root --> PS --> LH
|
|
||||||
root --> ING --> TRA
|
|
||||||
ING --> MET
|
|
||||||
root --> ETCD --> KA
|
|
||||||
|
|
||||||
classDef default fill:transparent,color:#fff,stroke:#888
|
|
||||||
```
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div v-click>
|
|
||||||
|
|
||||||
close to production - storage and multi node
|
|
||||||
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<!--
|
<!--
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -8,34 +8,12 @@ The **V** in MVK is for *viable*, so why is MVK viable for single 'dev' nodes ?
|
||||||
|
|
||||||
<div class="grid grid-cols-1">
|
<div class="grid grid-cols-1">
|
||||||
|
|
||||||
```mermaid
|
|
||||||
%%{init: {'theme': 'dark', 'themeVariables': { 'darkMode': true }}}%%
|
|
||||||
flowchart LR
|
|
||||||
root((1-node))
|
|
||||||
PS[Persistent Storage]
|
|
||||||
LH[Local attached]
|
|
||||||
ING[Ingress]
|
|
||||||
TRA[Traefik]
|
|
||||||
MET[cert-manager]
|
|
||||||
ETCD[etcd]
|
|
||||||
|
|
||||||
root --> PS --> LH
|
<img src="/k8s-2.drawio.png">
|
||||||
root --> ING --> TRA
|
|
||||||
ING --> MET
|
|
||||||
root --> ETCD
|
|
||||||
|
|
||||||
classDef default fill:transparent,color:#fff,stroke:#888
|
|
||||||
```
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div v-click>
|
|
||||||
|
|
||||||
Locally attached storage - single node implementation
|
|
||||||
|
|
||||||
Ingress can represent that of prodution environmetns that use cert-manager
|
|
||||||
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<!--
|
<!--
|
||||||
|
|
||||||
|
|
|
||||||
31
pages/infctl-summary-end.md
Normal file
31
pages/infctl-summary-end.md
Normal file
|
|
@ -0,0 +1,31 @@
|
||||||
|
# Pre release
|
||||||
|
|
||||||
|
<div grid="~ cols-2 gap-4">
|
||||||
|
<div>
|
||||||
|
|
||||||
|
[MVK](https://mvk.headshed.dev) is new and evolving
|
||||||
|
|
||||||
|
`infctl` is an early release.
|
||||||
|
|
||||||
|
Its a snapshot of ideas I've been working on for over 10 years.
|
||||||
|
|
||||||
|
I'd like to share it as I code it and use it.
|
||||||
|
|
||||||
|
It is open to ideas, comments, contribution and collaboration.
|
||||||
|
|
||||||
|
License: [GNU General Public License](https://www.gnu.org/licenses/gpl-3.0.en.html)
|
||||||
|
|
||||||
|
|
||||||
|
# [https://headshed.dev/n25](https://headshed.dev/n25)
|
||||||
|
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
|
||||||
|
<img class="mx-auto" alt="qr code for https://headshed.dev/n25/" src="/n25-qr.png">
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!--
|
||||||
|
TBC
|
||||||
|
-->
|
||||||
38
pages/make-it-work.md
Normal file
38
pages/make-it-work.md
Normal file
|
|
@ -0,0 +1,38 @@
|
||||||
|
---
|
||||||
|
level: 2
|
||||||
|
---
|
||||||
|
|
||||||
|
# MVK Viablility
|
||||||
|
|
||||||
|
### Is MVK, single node, viable ?
|
||||||
|
|
||||||
|
<div class="grid grid-cols-1">
|
||||||
|
|
||||||
|
<div class="flex justify-center">
|
||||||
|
|
||||||
|
<img src="/k8s-2.drawio.png">
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<!--
|
||||||
|
|
||||||
|
why is MVK 'viable' ?
|
||||||
|
|
||||||
|
Out of the box K8s examples and some deployments are not useable without other externalities
|
||||||
|
|
||||||
|
* Persistent storage - often built in to managed kubernetes cloud platforms
|
||||||
|
* Ingress - is also provided by cloud providers, K8s does not natively have this
|
||||||
|
* ETCD is often offered as the 'management plane', again as part of managed kubernetes by cloud providers
|
||||||
|
|
||||||
|
K3s does not use k8s traditional 3 node ETCD unless you configure it to do so
|
||||||
|
|
||||||
|
MKK's infctl pipelines configure 3 node k3s on all 3 nodes
|
||||||
|
|
||||||
|
it also adds Longhorn for persistent storage
|
||||||
|
|
||||||
|
ingress is impossible without metallb and some kind of load balancer - traefik being my preference but others could be used, of course
|
||||||
|
|
||||||
|
-->
|
||||||
38
pages/out-the-box-node.md
Normal file
38
pages/out-the-box-node.md
Normal file
|
|
@ -0,0 +1,38 @@
|
||||||
|
---
|
||||||
|
level: 2
|
||||||
|
---
|
||||||
|
|
||||||
|
# K8s Viablility
|
||||||
|
|
||||||
|
Is K8s out of the box, self-hosted, viable ?
|
||||||
|
|
||||||
|
<div class="grid grid-cols-1">
|
||||||
|
|
||||||
|
<div class="flex justify-center">
|
||||||
|
|
||||||
|
<img src="/k8s-1.drawio.png">
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<!--
|
||||||
|
|
||||||
|
why is MVK 'viable' ?
|
||||||
|
|
||||||
|
Out of the box K8s examples and some deployments are not useable without other externalities
|
||||||
|
|
||||||
|
* Persistent storage - often built in to managed kubernetes cloud platforms
|
||||||
|
* Ingress - is also provided by cloud providers, K8s does not natively have this
|
||||||
|
* ETCD is often offered as the 'management plane', again as part of managed kubernetes by cloud providers
|
||||||
|
|
||||||
|
K3s does not use k8s traditional 3 node ETCD unless you configure it to do so
|
||||||
|
|
||||||
|
MKK's infctl pipelines configure 3 node k3s on all 3 nodes
|
||||||
|
|
||||||
|
it also adds Longhorn for persistent storage
|
||||||
|
|
||||||
|
ingress is impossible without metallb and some kind of load balancer - traefik being my preference but others could be used, of course
|
||||||
|
|
||||||
|
-->
|
||||||
36
pages/three-node-happy.md
Normal file
36
pages/three-node-happy.md
Normal file
|
|
@ -0,0 +1,36 @@
|
||||||
|
---
|
||||||
|
level: 2
|
||||||
|
---
|
||||||
|
|
||||||
|
# MVK for pre-production
|
||||||
|
|
||||||
|
### MVK, three node, production
|
||||||
|
|
||||||
|
<div class="grid grid-cols-1">
|
||||||
|
|
||||||
|
<div class="flex justify-center">
|
||||||
|
<img src="/k8s-3.drawio.png" alt="3-node Kubernetes diagram">
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<!--
|
||||||
|
|
||||||
|
why is MVK 'viable' ?
|
||||||
|
|
||||||
|
Out of the box K8s examples and some deployments are not useable without other externalities
|
||||||
|
|
||||||
|
* Persistent storage - often built in to managed kubernetes cloud platforms
|
||||||
|
* Ingress - is also provided by cloud providers, K8s does not natively have this
|
||||||
|
* ETCD is often offered as the 'management plane', again as part of managed kubernetes by cloud providers
|
||||||
|
|
||||||
|
K3s does not use k8s traditional 3 node ETCD unless you configure it to do so
|
||||||
|
|
||||||
|
MKK's infctl pipelines configure 3 node k3s on all 3 nodes
|
||||||
|
|
||||||
|
it also adds Longhorn for persistent storage
|
||||||
|
|
||||||
|
ingress is impossible without metallb and some kind of load balancer - traefik being my preference but others could be used, of course
|
||||||
|
|
||||||
|
-->
|
||||||
|
|
@ -50,6 +50,9 @@ infctl -f pipelines/dev/vagrant-k3s.json
|
||||||
|
|
||||||
````
|
````
|
||||||
|
|
||||||
|
[cast](https://ascii.headshed.dev/a/OB2jSE47d1HTz2d5vFhJhIKAl)
|
||||||
|
|
||||||
|
|
||||||
<!--
|
<!--
|
||||||
|
|
||||||
`infctl` has only one compulsory parameter
|
`infctl` has only one compulsory parameter
|
||||||
|
|
|
||||||
31
pages/why.md
Normal file
31
pages/why.md
Normal file
|
|
@ -0,0 +1,31 @@
|
||||||
|
# Why ?
|
||||||
|
|
||||||
|
* 2025 building a minimal k8s for our own hosting
|
||||||
|
* asked for an intro for techs getting into k8s
|
||||||
|
* been working with Linux and Unix from SME to large enterprise since before Y2K
|
||||||
|
* k8s since 2018
|
||||||
|
|
||||||
|
|
||||||
|
<div v-click>
|
||||||
|
|
||||||
|
**I want to ...**
|
||||||
|
|
||||||
|
➤ bring down the cost of k8s
|
||||||
|
|
||||||
|
➤ pass on what I have learnt
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<div v-click>
|
||||||
|
➤ not pay vercel
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<!--
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
-->
|
||||||
BIN
public/k8s-1.drawio.png
Normal file
BIN
public/k8s-1.drawio.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 26 KiB |
BIN
public/k8s-2.drawio.png
Normal file
BIN
public/k8s-2.drawio.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 40 KiB |
BIN
public/why.jpg
Normal file
BIN
public/why.jpg
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 164 KiB |
59
slides.md
59
slides.md
|
|
@ -58,33 +58,21 @@ Jon Brookes 2025
|
||||||
|
|
||||||
<!--
|
<!--
|
||||||
|
|
||||||
Welcome
|
why and why now ?
|
||||||
|
|
||||||
this is an intro to MVK and why I made it ...
|
I created it because
|
||||||
|
|
||||||
My exp
|
* was building a minimal k8s for our own hosting
|
||||||
|
* asked for an intro for techs getting into k8s
|
||||||
|
|
||||||
over 20+ years Unix, Linux, Winodws, internet managed infructure
|
as I've been working with unix, linux and systems since before Y2K and k8s since 2018 I thought I could have something to say
|
||||||
|
|
||||||
early linux Xen and KVM, vmware and hyper-v
|
so I wanted to
|
||||||
|
|
||||||
from 14 moving into containers with docker
|
|
||||||
|
|
||||||
2017/18 Swarm, then rapidly to kubernetes
|
|
||||||
|
|
||||||
AWS/cloud and vmware/on prem vms, self-hosted
|
|
||||||
|
|
||||||
one week deploying self-hosted K8s with kubeadm & ansible
|
|
||||||
|
|
||||||
the next week production, on call 24X7 with k8s in the mix
|
|
||||||
|
|
||||||
Since then, I worked on managed k8s in Azure and AWS, often with Terraform
|
|
||||||
|
|
||||||
I wanted to
|
|
||||||
|
|
||||||
* use my own knowlege to deliver my own self managed k8s
|
* use my own knowlege to deliver my own self managed k8s
|
||||||
* bring down the cost of k8s
|
* bring down the cost of k8s
|
||||||
* share what I know and pass it on
|
* pass on what I have learnt
|
||||||
|
* not pay vercel
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -93,6 +81,14 @@ I wanted to
|
||||||
|
|
||||||
-->
|
-->
|
||||||
|
|
||||||
|
---
|
||||||
|
layout: image-left
|
||||||
|
image: why.jpg
|
||||||
|
transition: fade-out
|
||||||
|
src: ./pages/why.md
|
||||||
|
---
|
||||||
|
|
||||||
|
|
||||||
---
|
---
|
||||||
layout: image-right
|
layout: image-right
|
||||||
image: cont3_c.jpg
|
image: cont3_c.jpg
|
||||||
|
|
@ -192,25 +188,30 @@ transition: fade-out
|
||||||
src: ./pages/usage-slide.md
|
src: ./pages/usage-slide.md
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
---
|
---
|
||||||
transition: fade-out
|
transition: fade-out
|
||||||
src: ./pages/diagram-single-node.md
|
src: ./pages/out-the-box-node.md
|
||||||
---
|
---
|
||||||
|
|
||||||
---
|
---
|
||||||
transition: fade-out
|
transition: fade-out
|
||||||
src: ./pages/diagram-3node.md
|
src: ./pages/make-it-work.md
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
---
|
---
|
||||||
transition: fade-out
|
transition: fade-out
|
||||||
src: ./pages/gcloud-single.md
|
src: ./pages/gcloud-single.md
|
||||||
---
|
---
|
||||||
|
|
||||||
|
---
|
||||||
|
transition: fade-out
|
||||||
|
src: ./pages/three-node-happy.md
|
||||||
|
---
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -221,8 +222,10 @@ transition: fade-out
|
||||||
src: ./pages/infctl-summary.md
|
src: ./pages/infctl-summary.md
|
||||||
---
|
---
|
||||||
|
|
||||||
|
---
|
||||||
|
transition: fade-out
|
||||||
|
src: ./pages/infctl-summary-end.md
|
||||||
|
---
|
||||||
|
|
||||||
---
|
---
|
||||||
layout: center
|
layout: center
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue