Remove outdated guides and restructure documentation for infctl and MVK
- Deleted the following guides: - Introduction to infctl - Local K3d Instance creation - Traefik ingress setup - Longhorn storage setup - Local Vagrant cluster setup - Quick Start guide for MVK - Minimal Viable Kubernetes overview - Added new guides: - Local Development Environment setup - Initial Pipeline Run for infctl - Create a Vagrant 3 node cluster - Smoke test for Vagrant cluster - Add Longhorn Storage guide - Add Ingress guide - Smoke test for Ingress - Updated index and navigation links to reflect new structure.
This commit is contained in:
parent
c1cea80b12
commit
ff6341edf1
16 changed files with 97 additions and 6811 deletions
|
|
@ -8,46 +8,50 @@ export default defineConfig({
|
||||||
starlight({
|
starlight({
|
||||||
title: 'MinimalViableK8s',
|
title: 'MinimalViableK8s',
|
||||||
social: [{ icon: 'github', label: 'GitHub', href: 'https://codeberg.org/headshed/infctl-cli' }],
|
social: [{ icon: 'github', label: 'GitHub', href: 'https://codeberg.org/headshed/infctl-cli' }],
|
||||||
head: [
|
head: [
|
||||||
{
|
{
|
||||||
tag: 'script',
|
tag: 'script',
|
||||||
attrs: {
|
attrs: {
|
||||||
defer: true,
|
defer: true,
|
||||||
'data-domain': 'mvk.headshed.dev',
|
'data-domain': 'mvk.headshed.dev',
|
||||||
src: 'https://stats.headshed.dev/js/script.js'
|
src: 'https://stats.headshed.dev/js/script.js'
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
sidebar: [
|
sidebar: [
|
||||||
{
|
{
|
||||||
label: 'MVK',
|
label: 'MVK',
|
||||||
items: [
|
items: [
|
||||||
// Each item here is one entry in the navigation menu.
|
// Each item here is one entry in the navigation menu.
|
||||||
{ label: 'Minimal Viable Kubernetes', slug: 'guides/mvk' },
|
{ label: 'Minimal Viable Kubernetes', slug: 'mvk/intro' },
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: 'infctl',
|
label: 'infctl',
|
||||||
items: [
|
items: [
|
||||||
// Each item here is one entry in the navigation menu.
|
// Each item here is one entry in the navigation menu.
|
||||||
{ label: 'Introduction', slug: 'guides/intro' },
|
{ label: 'Introduction', slug: 'infctl/intro' },
|
||||||
{ label: 'Quick Start Guide', slug: 'guides/quick-start' },
|
{ label: 'Quick Start Guide', slug: 'infctl/quick-start' },
|
||||||
{ label: 'Configuration', slug: 'guides/configuration' },
|
{ label: 'Configuration', slug: 'infctl/configuration' },
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: 'Microlearning',
|
label: 'Microlearning',
|
||||||
items: [
|
autogenerate: { directory: 'guides' },
|
||||||
// Each item here is one entry in the navigation menu.
|
|
||||||
{ label: 'Local Dev Environment', slug: 'guides/dev-env' },
|
|
||||||
{ label: 'Create a Local K3d Instance', slug: 'guides/local-k3d' },
|
|
||||||
{ label: 'Initial Pipeline Run', slug: 'guides/infctl-first-run' },
|
|
||||||
{ label: 'Create a vagrant 3 node cluster', slug: 'guides/local-vagrant-cluster' },
|
// items: [
|
||||||
{ label: 'Add Longhorn Storage', slug: 'guides/local-vagrant-cluster-storage' },
|
// { label: 'Local Dev Environment', slug: 'guides/dev-env' },
|
||||||
{ label: 'Add Ingress', slug: 'guides/local-vagrant-cluster-ingress' },
|
// { label: 'Create a Local K3d Instance', slug: 'guides/local-k3d' },
|
||||||
|
// { label: 'Initial Pipeline Run', slug: 'guides/infctl-first-run' },
|
||||||
|
// { label: 'Create a vagrant 3 node cluster', slug: 'guides/local-vagrant-cluster' },
|
||||||
],
|
// { label: 'Add Longhorn Storage', slug: 'guides/local-vagrant-cluster-storage' },
|
||||||
|
// { label: 'Add Ingress', slug: 'guides/local-vagrant-cluster-ingress' },
|
||||||
|
|
||||||
|
|
||||||
|
// ],
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: 'Reference',
|
label: 'Reference',
|
||||||
|
|
|
||||||
6717
package-lock.json
generated
6717
package-lock.json
generated
File diff suppressed because it is too large
Load diff
|
|
@ -1,5 +1,5 @@
|
||||||
---
|
---
|
||||||
title: Local Development Environment
|
title: Local Dev Environment
|
||||||
description: A guide to checking a local environment.
|
description: A guide to checking a local environment.
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|
@ -88,4 +88,4 @@ After installation, verify both are available in your `$PATH` by running:
|
||||||
```bash
|
```bash
|
||||||
vagrant --version
|
vagrant --version
|
||||||
VBoxManage --version
|
VBoxManage --version
|
||||||
```
|
```
|
||||||
|
|
@ -1,11 +0,0 @@
|
||||||
---
|
|
||||||
title: Example Guide
|
|
||||||
description: A guide in my new Starlight docs site.
|
|
||||||
---
|
|
||||||
|
|
||||||
Guides lead a user through a specific task they want to accomplish, often with a sequence of steps.
|
|
||||||
Writing a good guide requires thinking about what your users are trying to do.
|
|
||||||
|
|
||||||
## Further reading
|
|
||||||
|
|
||||||
- Read [about how-to guides](https://diataxis.fr/how-to-guides/) in the Diátaxis framework
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
---
|
---
|
||||||
title: Creating Initial Infrastructure
|
title: Initial Pipeline Run
|
||||||
description: A guide to running infctl for the first time.
|
description: A guide to running infctl for the first time.
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
---
|
---
|
||||||
title: Create a Local Vagrant K3s cluster
|
title: Create a vagrant 3 node cluster
|
||||||
description: A guide to creating a virtualized local k3s instance.
|
description: A guide to creating a virtualized local k3s instance.
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|
@ -50,38 +50,3 @@ This marshals each of the above tasks into a single, repeatable operation.
|
||||||
```bash
|
```bash
|
||||||
LOG_FORMAT=none infctl -f pipelines/dev/vagrant-k3s.json
|
LOG_FORMAT=none infctl -f pipelines/dev/vagrant-k3s.json
|
||||||
```
|
```
|
||||||
# Smoke test the cluster ...
|
|
||||||
|
|
||||||
If all has gone well, a cluster will now be running on your local system comprising of 3 nodes and a workstation.
|
|
||||||
|
|
||||||
We can check status by now switching directory to the vagrant dev folder and running a `vagrant status` command :
|
|
||||||
|
|
||||||
|
|
||||||
```bash
|
|
||||||
cd vagrant/dev/ubuntu/
|
|
||||||
vagrant status
|
|
||||||
Current machine states:
|
|
||||||
|
|
||||||
vm1 running (virtualbox)
|
|
||||||
vm2 running (virtualbox)
|
|
||||||
vm3 running (virtualbox)
|
|
||||||
workstation running (virtualbox)
|
|
||||||
|
|
||||||
This environment represents multiple VMs. The VMs are all listed
|
|
||||||
above with their current state. For more information about a specific
|
|
||||||
VM, run `vagrant status NAME`.
|
|
||||||
```
|
|
||||||
To work on our cluster we must first connect to the `workstation` and then use `kubectl` commands to interact with `k3s` :
|
|
||||||
```bash
|
|
||||||
vagrant ssh workstation
|
|
||||||
```
|
|
||||||
From the workstation, use [`kubectl`](https://kubernetes.io/docs/reference/kubectl/) to access our cluster
|
|
||||||
```bash
|
|
||||||
kubectl get nodes
|
|
||||||
NAME STATUS ROLES AGE VERSION
|
|
||||||
vm1 Ready control-plane,etcd,master 4h11m v1.33.3+k3s1
|
|
||||||
vm2 Ready control-plane,etcd,master 4h11m v1.33.3+k3s1
|
|
||||||
vm3 Ready control-plane,etcd,master 4h10m v1.33.3+k3s1
|
|
||||||
```
|
|
||||||
|
|
||||||
If you have got this far, congratulation you have a locally hosted k3s cluster running in 3 virtual machines and a workstation that can be used to manage it using `kubectl` and `ansible`.
|
|
||||||
|
|
@ -0,0 +1,40 @@
|
||||||
|
---
|
||||||
|
title: Smoke test the cluster
|
||||||
|
description: Basic smoke tests
|
||||||
|
---
|
||||||
|
|
||||||
|
# Smoke test the cluster ...
|
||||||
|
|
||||||
|
If all has gone well, a cluster will now be running on your local system comprising of 3 nodes and a workstation.
|
||||||
|
|
||||||
|
We can check status by now switching directory to the vagrant dev folder and running a `vagrant status` command :
|
||||||
|
|
||||||
|
|
||||||
|
```bash
|
||||||
|
cd vagrant/dev/ubuntu/
|
||||||
|
vagrant status
|
||||||
|
Current machine states:
|
||||||
|
|
||||||
|
vm1 running (virtualbox)
|
||||||
|
vm2 running (virtualbox)
|
||||||
|
vm3 running (virtualbox)
|
||||||
|
workstation running (virtualbox)
|
||||||
|
|
||||||
|
This environment represents multiple VMs. The VMs are all listed
|
||||||
|
above with their current state. For more information about a specific
|
||||||
|
VM, run `vagrant status NAME`.
|
||||||
|
```
|
||||||
|
To work on our cluster we must first connect to the `workstation` and then use `kubectl` commands to interact with `k3s` :
|
||||||
|
```bash
|
||||||
|
vagrant ssh workstation
|
||||||
|
```
|
||||||
|
From the workstation, use [`kubectl`](https://kubernetes.io/docs/reference/kubectl/) to access our cluster
|
||||||
|
```bash
|
||||||
|
kubectl get nodes
|
||||||
|
NAME STATUS ROLES AGE VERSION
|
||||||
|
vm1 Ready control-plane,etcd,master 4h11m v1.33.3+k3s1
|
||||||
|
vm2 Ready control-plane,etcd,master 4h11m v1.33.3+k3s1
|
||||||
|
vm3 Ready control-plane,etcd,master 4h10m v1.33.3+k3s1
|
||||||
|
```
|
||||||
|
|
||||||
|
If you have got this far, congratulation you have a locally hosted k3s cluster running in 3 virtual machines and a workstation that can be used to manage it using `kubectl` and `ansible`.
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
---
|
---
|
||||||
title: Longhorn storage Layer
|
title: Add Longhorn Storage
|
||||||
description: A guide to adding Longhorn storage.
|
description: A guide to adding Longhorn storage.
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
---
|
---
|
||||||
title: Traefik ingress
|
title: Add Ingress
|
||||||
description: A guide to adding ingress.
|
description: A guide to adding ingress.
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|
@ -38,18 +38,3 @@ traefik ingress can be installed with
|
||||||
LOG_FORMAT=basic infctl -f pipelines/vagrant-ingress.json
|
LOG_FORMAT=basic infctl -f pipelines/vagrant-ingress.json
|
||||||
```
|
```
|
||||||
|
|
||||||
## Smoke test ingress
|
|
||||||
|
|
||||||
If all has gone well, we should now be able to get the service for `traefik` and see an external IP address and type of `LoadBalancer` :
|
|
||||||
|
|
||||||
```bash
|
|
||||||
kubectl -n traefik get svc
|
|
||||||
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
|
|
||||||
traefik LoadBalancer 10.43.5.252 192.168.56.230 80:32066/TCP,443:32410/TCP 16s
|
|
||||||
```
|
|
||||||
|
|
||||||
Here the address of `192.168.56.230` is available to use to ingress route our services, pods and Kubernetes hosted apps on both plain text port 89 and over TLS https on port 443.
|
|
||||||
|
|
||||||
We will be able next to assign a certificate to this 2nd port such that `traefik` will be able to serve URL's on that port to our pods and apps.
|
|
||||||
|
|
||||||
Initially this will use a self signed certificate but we will be able to crate our own CA and have a secure connection without browser warnings on our local, vagrant mks cluster environment.
|
|
||||||
|
|
@ -0,0 +1,20 @@
|
||||||
|
---
|
||||||
|
title: Smoke Test Ingress
|
||||||
|
description: Simple test for ingress.
|
||||||
|
---
|
||||||
|
|
||||||
|
## Smoke test ingress
|
||||||
|
|
||||||
|
If all has gone well, we should now be able to get the service for `traefik` and see an external IP address and type of `LoadBalancer` :
|
||||||
|
|
||||||
|
```bash
|
||||||
|
kubectl -n traefik get svc
|
||||||
|
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
|
||||||
|
traefik LoadBalancer 10.43.5.252 192.168.56.230 80:32066/TCP,443:32410/TCP 16s
|
||||||
|
```
|
||||||
|
|
||||||
|
Here the address of `192.168.56.230` is available to use to ingress route our services, pods and Kubernetes hosted apps on both plain text port 89 and over TLS https on port 443.
|
||||||
|
|
||||||
|
We will be able next to assign a certificate to this 2nd port such that `traefik` will be able to serve URL's on that port to our pods and apps.
|
||||||
|
|
||||||
|
Initially this will use a self signed certificate but we will be able to crate our own CA and have a secure connection without browser warnings on our local, vagrant mks cluster environment.
|
||||||
|
|
@ -8,7 +8,7 @@ hero:
|
||||||
file: ../../assets/mvk.png
|
file: ../../assets/mvk.png
|
||||||
actions:
|
actions:
|
||||||
- text: MVK Guide
|
- text: MVK Guide
|
||||||
link: /guides/mvk/
|
link: /mvk/intro/
|
||||||
icon: right-arrow
|
icon: right-arrow
|
||||||
- text: infctl and mvk source
|
- text: infctl and mvk source
|
||||||
link: https://codeberg.org/headshed/infctl-cli
|
link: https://codeberg.org/headshed/infctl-cli
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
---
|
---
|
||||||
title: Minimal Viable Kubernetes
|
title: Minimal Viable Kubernetes Intro
|
||||||
description: introducing minimal viable Kubernetes and its guiding principles
|
description: introducing minimal viable Kubernetes and its guiding principles
|
||||||
---
|
---
|
||||||
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue