Skip to content

Commit dfa280b

Browse files
brushknightJohn William Bowen
andauthored
fix typo (#51)
* fix typo Signed-off-by: Grigorii Merkushev <brushknight@gmail.com> * added blog post * added latch github link --------- Signed-off-by: Grigorii Merkushev <brushknight@gmail.com> Co-authored-by: John William Bowen <wbowen@uptime.industries>
1 parent 1f35245 commit dfa280b

File tree

10 files changed

+156
-25
lines changed

10 files changed

+156
-25
lines changed

.vscode/settings.json

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,18 @@
11
{
22
"terminal.integrated.cwd": "${workspaceFolder}/docs",
3-
"cSpell.enabledFileTypes": {"*": true},
3+
"cSpell.enabledFileTypes": {
4+
"*": true,
5+
"lock": false
6+
},
47
"cSpell.words": [
58
"adafruit",
69
"backplane",
710
"bladerunner",
811
"bootloader",
912
"BOOTSEL",
13+
"brushknight",
14+
"Buehrle",
15+
"buyzero",
1016
"CIRCUITPY",
1117
"circuitpython",
1218
"datasheet",
@@ -17,13 +23,18 @@
1723
"fanunit",
1824
"GPIO",
1925
"gpiozero",
26+
"Grigorii",
2027
"hynix",
2128
"Imager",
29+
"Kamotski",
2230
"Kapton",
2331
"Kickstarter",
2432
"KIOXIA",
2533
"Kuleshov",
34+
"Merkushev",
35+
"merocle",
2636
"microcontroller",
37+
"microk8s",
2738
"microsd",
2839
"misalign",
2940
"Molex",
@@ -34,6 +45,7 @@
3445
"OPTIGA",
3546
"Pico",
3647
"RPIBOOT",
48+
"Sascha",
3749
"Semaf",
3850
"Silvertel",
3951
"SMSC",
@@ -42,6 +54,7 @@
4254
"Ubiquiti",
4355
"UGREEN",
4456
"usbboot",
57+
"usermod",
4558
"webp",
4659
"Welectron",
4760
"Yubi",
Lines changed: 115 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,115 @@
1+
---
2+
title: System setup process
3+
description: A step-by-step guide to configure a production-ready Kubernetes environment on ComputeBlade.
4+
authors: brushknight
5+
# tags: [hello, docusaurus-v2]
6+
image: /img/blog/19in_blades.webp
7+
# hide_table_of_contents: false
8+
---
9+
This guide outlines the complete process for setting up a Kubernetes system using MicroK8s, a lightweight Kubernetes distribution. The setup includes essential components like kubectl and Helm, along with necessary configurations for running containerized applications.
10+
11+
![19in Rack with compute blades](/img/blog/19in_blades.webp)
12+
13+
<!-- truncate -->
14+
15+
16+
17+
18+
Follow these steps sequentially to ensure a proper setup of your Kubernetes environment. Each section provides detailed commands and explanations to help you understand what you’re implementing.
19+
20+
## About ComputeBlade platform
21+
ComputeBlade is a rack-mountable, Power over Ethernet (PoE)-powered carrier board designed for the Raspberry Pi Compute Module 4 / Compute Module 5 (CM4 / CM5) and compatible devices. It enables the creation of high-density, low-power-consuming, plug-and-play blade servers suitable for both home and data center environments.
22+
23+
![Compute Blade version 1](/img/blog/compute_blade_purple.webp)
24+
25+
## Step-by-step guide
26+
In the end of this instruction you’ll have set up ComputeBlade with a functioning Kubernetes environment, including:
27+
- A single-node MicroK8s Kubernetes cluster
28+
- kubectl command-line tool for cluster management
29+
- Helm package manager for Kubernetes
30+
- Basic understanding of cluster operations and management
31+
This setup will serve as a foundation for deploying and managing containerized applications on your ComputeBlade hardware.
32+
33+
### Installing MicroK8s
34+
MicroK8s is a user-friendly Kubernetes distribution maintained by Canonical (Ubuntu). It provides a lightweight, production-ready Kubernetes that’s easy to install and manage, making it an ideal choice for both development and production environments.
35+
```bash
36+
sudo snap install microk8s --classic
37+
```
38+
### Adding your user to the microk8s admin group
39+
MicroK8s creates a group to enable seamless usage of commands which require admin privilege. Use the following commands to join the group:
40+
```bash
41+
sudo usermod -a -G microk8s $USER
42+
sudo chown -f -R $USER ~/.kube
43+
```
44+
You will also need to re-enter the session for the group update to take place:
45+
```bash
46+
su - $USER
47+
```
48+
### Check the status while Kubernetes starts
49+
```bash
50+
microk8s status --wait-ready
51+
```
52+
Give it some time to finish.
53+
54+
### Turn on the services you want
55+
We recommend to start next services by default:
56+
```bash
57+
microk8s enable dashboard dns ingress
58+
```
59+
Try `microk8s enable --help` for a list of available services and optional features. `microk8s disable ‹name›` turns off a service.
60+
### Start using Kubernetes
61+
```bash
62+
microk8s kubectl get all --all-namespaces
63+
```
64+
### Access the Kubernetes dashboard (optional)
65+
```bash
66+
microk8s dashboard-proxy
67+
```
68+
69+
### Installing kubectl
70+
kubectl is the official command-line tool for Kubernetes that allows you to run commands against Kubernetes clusters. You can use kubectl to deploy applications, inspect and manage cluster resources, and view logs. It’s an essential tool for:
71+
72+
- Deploying and managing applications in Kubernetes clusters
73+
- Viewing and modifying cluster state and configuration
74+
- Debugging and troubleshooting cluster issues
75+
- Accessing cluster documentation and getting help with commands
76+
- kubectl communicates with the Kubernetes API server to execute commands and manage your cluster resources. It’s a fundamental tool for any Kubernetes administrator or developer.
77+
78+
To install it execute the following command:
79+
```bash
80+
sudo snap install kubectl --classic
81+
```
82+
Export config for kubectl:
83+
```bash
84+
microk8s config > $HOME/.kube/config
85+
chmod -R 700 /home/ubuntu/.kube/config
86+
```
87+
### Installing Helm
88+
Helm is a package manager for Kubernetes that simplifies the process of installing and managing applications. It serves several key purposes:
89+
90+
- Manages complex application deployments through pre-configured “charts” — packages of Kubernetes resources
91+
- Enables version control and rollback of deployments to maintain application stability
92+
- Simplifies sharing and reuse of Kubernetes applications across different environments
93+
- Provides templating to customize application configurations without changing the original chart
94+
Think of Helm as the “apt” or “yum” of Kubernetes — it makes it much easier to install, upgrade, and manage applications in your Kubernetes cluster.
95+
96+
You can fetch that script, and then execute it locally. It’s well documented so that you can read through it and understand what it is doing before you run it.
97+
```bash
98+
curl -fsSL -o get_helm.sh https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3
99+
chmod 700 get_helm.sh
100+
./get_helm.sh
101+
```
102+
### Well done
103+
Congratulations! You have successfully set up a complete Kubernetes environment on your ComputeBlade. Your system now includes:
104+
105+
- A functioning MicroK8s Kubernetes cluster
106+
- Kubectl command-line tool for cluster management
107+
- Helm package manager for deploying applications
108+
You’re now ready to start deploying and managing containerized applications on your ComputeBlade. The foundation you’ve built will allow you to explore more advanced Kubernetes features and deployments as needed.
109+
110+
## Resources
111+
- [Installing Helm](https://helm.sh/docs/intro/install/) | HELM Project
112+
- [Install Kubernetes](https://ubuntu.com/kubernetes/install#multi-node) | Canonical Kubernetes
113+
114+
115+
![2024 Cyber bundle ad](/img/blog/2024_cyber_x_mas.webp)

docs/blog/authors.yml

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
william:
22
name: J william Bowen
3-
title: Comunity Manager
3+
title: Community Manager
44
url: https://github.com/bowenjw
55
image_url: https://github.com/bowenjw.png
66

@@ -10,16 +10,19 @@ sascha:
1010
url: https://github.com/saschabuehrle
1111
image_url: https://github.com/saschabuehrle.png
1212

13-
ivan:
13+
merocle:
1414
name: Ivan Kuleshov
1515
title: Systems Engineer
1616
url: https://github.com/merocle
1717
image_url: https://github.com/merocle.png
1818

19-
grigorii:
19+
brushknight:
2020
name: Grigorii Merkushev
21-
title: Software Engineer
21+
title: Head of Software
2222
url: https://github.com/brushknight
23+
socials:
24+
github: brushknight
25+
linkedin: brushknight
2326
image_url: https://github.com/brushknight.png
2427

2528
gena:

docs/docs/blade/getting-started/assembly.mdx

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,10 @@ Next press firmly until the pieces snap together.
3636
Be sure to assemble the two parts correctly; it is difficult to separate them and can damage the latch.
3737
:::
3838

39+
:::note
40+
Models for the latches can be found on [GitHub](https://github.com/uptime-industries/compute-blade/tree/brushknight-patch-1/models/bladerunner/latch)
41+
:::
42+
3943
<img src="/img/blade/latch-assembled.webp" alt="Latch is now assembled" width={'70%'}/>
4044

4145
With the Latch assembled it can be secured to the blade. Using a PH1 screw driver, take the two M3x6 screws and secure the latch to the blade.
@@ -114,7 +118,7 @@ Place the heat sink on to the CM4. The text on the edge of the heat sink should
114118
The Heat sink can now be secured with the four included M2.5x8 screws. Using a PH1 screw driver, tighten the screws to secure the heat sink.
115119

116120
:::warning
117-
Do not over tighten the screws. Over tightening will cause the Compute Blade to bend.
121+
Do not over tighten the screws. Over tightening will cause the Compute Module to bend.
118122
:::
119123

120124
<img src="/img/blade/mk4-k-hs-assembled.webp" alt="Blade with Heat Sink attached" width={'70%'}/>

docs/docs/timeline.mdx

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,10 +11,11 @@ and has began shipping pledges to territories outside the EU. See the bellow tab
1111

1212
<Admonition type="note" title="Retail Availability">
1313
Compute Blade is a available in at the following retailers. Currently retail in other markets is **block** by completion of full certification
14-
- [RaspberryPi.dk](https://raspberrypi.dk/?s=compute+blade&post_type=product)
15-
- [Semaf Electronics](https://electronics.semaf.at/#bms_q=compute%20blade%7Cfilter)
16-
- [buyzero by pi3g](https://buyzero.de/search?type=product&q=compute+blade)
17-
- [Welectron](https://www.welectron.com/navi.php?qs=compute+blade&dfm%5Bbrand%5D=Uptime+Industries)
14+
- [RaspberryPi.dk](https://raspberrypi.dk/en/?s=compute+blade&post_type=product)
15+
- [Semaf Electronics](https://electronics.semaf.at/uptime-industries)
16+
- [buyzero by pi3g](https://buyzero.de/collections/uptime-industries)
17+
- [Welectron](https://www.welectron.com/Uptime-Industries)
18+
- [BerryBase](https://www.berrybase.de/uptime-industries/)
1819
</Admonition>
1920

2021

docs/docusaurus.config.ts

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -110,12 +110,7 @@ const config: Config = {
110110
position: 'right'
111111
},
112112

113-
// {to: '/blog', label: 'Blog', position: 'left'},
114-
// {
115-
// label: 'Website',
116-
// href: 'https://computeblade.com',
117-
// position: 'right'
118-
// },
113+
{to: '/blog', label: 'Blog', position: 'right'},
119114
{
120115
href: 'https://computeblade.com',
121116
position: 'right',
298 KB
Loading
240 KB
Loading
95.2 KB
Loading

docs/yarn.lock

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -3255,9 +3255,9 @@ chalk@^4.0.0, chalk@^4.1.0, chalk@^4.1.2:
32553255
supports-color "^7.1.0"
32563256

32573257
chalk@^5.0.1, chalk@^5.2.0:
3258-
version "5.4.0"
3259-
resolved "https://registry.yarnpkg.com/chalk/-/chalk-5.4.0.tgz#846fdb5d5d939d6fa3d565cd5545697b6f8b6923"
3260-
integrity sha512-ZkD35Mx92acjB2yNJgziGqT9oKHEOxjTBTDRpOsRWtdecL/0jM3z5kM/CTzHWvHIen1GvkM85p6TuFfDGfc8/Q==
3258+
version "5.4.1"
3259+
resolved "https://registry.yarnpkg.com/chalk/-/chalk-5.4.1.tgz#1b48bf0963ec158dce2aacf69c093ae2dd2092d8"
3260+
integrity sha512-zgVZuo2WcZgfUEmsn6eO3kINexW8RAE4maiQ8QNs8CtpPCSyMiYsULR3HQYkm3w8FIA3SberyMJMSldGsW+U3w==
32613261

32623262
char-regex@^1.0.2:
32633263
version "1.0.2"
@@ -5093,9 +5093,9 @@ ignore@^5.2.0, ignore@^5.2.4:
50935093
integrity sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==
50945094

50955095
image-size@^1.0.2:
5096-
version "1.1.1"
5097-
resolved "https://registry.yarnpkg.com/image-size/-/image-size-1.1.1.tgz#ddd67d4dc340e52ac29ce5f546a09f4e29e840ac"
5098-
integrity sha512-541xKlUw6jr/6gGuk92F+mYM5zaFAc5ahphvkqvNe2bQ6gVBkd6bfrmVJ2t4KDAfikAYZyIqTnktX3i6/aQDrQ==
5096+
version "1.2.0"
5097+
resolved "https://registry.yarnpkg.com/image-size/-/image-size-1.2.0.tgz#312af27a2ff4ff58595ad00b9344dd684c910df6"
5098+
integrity sha512-4S8fwbO6w3GeCVN6OPtA9I5IGKkcDMPcKndtUlpJuCwu7JLjtj7JZpwqLuyY2nrmQT3AWsCJLSKPsc2mPBSl3w==
50995099
dependencies:
51005100
queue "6.0.2"
51015101

@@ -5225,9 +5225,9 @@ is-ci@^3.0.1:
52255225
ci-info "^3.2.0"
52265226

52275227
is-core-module@^2.16.0:
5228-
version "2.16.0"
5229-
resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.16.0.tgz#6c01ffdd5e33c49c1d2abfa93334a85cb56bd81c"
5230-
integrity sha512-urTSINYfAYgcbLb0yDQ6egFm6h3Mo1DcF9EkyXSRjjzdHbsulg01qhwWuXdOoUBuTkbQ80KDboXa0vFJ+BDH+g==
5228+
version "2.16.1"
5229+
resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.16.1.tgz#2a98801a849f43e2add644fbb6bc6229b19a4ef4"
5230+
integrity sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==
52315231
dependencies:
52325232
hasown "^2.0.2"
52335233

0 commit comments

Comments
 (0)