Skip to content

Commit

Permalink
fix typo (#51)
Browse files Browse the repository at this point in the history
* 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>
  • Loading branch information
brushknight and bowenjw authored Dec 22, 2024
1 parent 1f35245 commit dfa280b
Show file tree
Hide file tree
Showing 10 changed files with 156 additions and 25 deletions.
15 changes: 14 additions & 1 deletion .vscode/settings.json
Original file line number Diff line number Diff line change
@@ -1,12 +1,18 @@
{
"terminal.integrated.cwd": "${workspaceFolder}/docs",
"cSpell.enabledFileTypes": {"*": true},
"cSpell.enabledFileTypes": {
"*": true,
"lock": false
},
"cSpell.words": [
"adafruit",
"backplane",
"bladerunner",
"bootloader",
"BOOTSEL",
"brushknight",
"Buehrle",
"buyzero",
"CIRCUITPY",
"circuitpython",
"datasheet",
Expand All @@ -17,13 +23,18 @@
"fanunit",
"GPIO",
"gpiozero",
"Grigorii",
"hynix",
"Imager",
"Kamotski",
"Kapton",
"Kickstarter",
"KIOXIA",
"Kuleshov",
"Merkushev",
"merocle",
"microcontroller",
"microk8s",
"microsd",
"misalign",
"Molex",
Expand All @@ -34,6 +45,7 @@
"OPTIGA",
"Pico",
"RPIBOOT",
"Sascha",
"Semaf",
"Silvertel",
"SMSC",
Expand All @@ -42,6 +54,7 @@
"Ubiquiti",
"UGREEN",
"usbboot",
"usermod",
"webp",
"Welectron",
"Yubi",
Expand Down
115 changes: 115 additions & 0 deletions docs/blog/2024/12/22/System setup process.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,115 @@
---
title: System setup process
description: A step-by-step guide to configure a production-ready Kubernetes environment on ComputeBlade.
authors: brushknight
# tags: [hello, docusaurus-v2]
image: /img/blog/19in_blades.webp
# hide_table_of_contents: false
---
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.

![19in Rack with compute blades](/img/blog/19in_blades.webp)

<!-- truncate -->




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.

## About ComputeBlade platform
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.

![Compute Blade version 1](/img/blog/compute_blade_purple.webp)

## Step-by-step guide
In the end of this instruction you’ll have set up ComputeBlade with a functioning Kubernetes environment, including:
- A single-node MicroK8s Kubernetes cluster
- kubectl command-line tool for cluster management
- Helm package manager for Kubernetes
- Basic understanding of cluster operations and management
This setup will serve as a foundation for deploying and managing containerized applications on your ComputeBlade hardware.

### Installing MicroK8s
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.
```bash
sudo snap install microk8s --classic
```
### Adding your user to the microk8s admin group
MicroK8s creates a group to enable seamless usage of commands which require admin privilege. Use the following commands to join the group:
```bash
sudo usermod -a -G microk8s $USER
sudo chown -f -R $USER ~/.kube
```
You will also need to re-enter the session for the group update to take place:
```bash
su - $USER
```
### Check the status while Kubernetes starts
```bash
microk8s status --wait-ready
```
Give it some time to finish.

### Turn on the services you want
We recommend to start next services by default:
```bash
microk8s enable dashboard dns ingress
```
Try `microk8s enable --help` for a list of available services and optional features. `microk8s disable ‹name›` turns off a service.
### Start using Kubernetes
```bash
microk8s kubectl get all --all-namespaces
```
### Access the Kubernetes dashboard (optional)
```bash
microk8s dashboard-proxy
```

### Installing kubectl
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:

- Deploying and managing applications in Kubernetes clusters
- Viewing and modifying cluster state and configuration
- Debugging and troubleshooting cluster issues
- Accessing cluster documentation and getting help with commands
- 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.

To install it execute the following command:
```bash
sudo snap install kubectl --classic
```
Export config for kubectl:
```bash
microk8s config > $HOME/.kube/config
chmod -R 700 /home/ubuntu/.kube/config
```
### Installing Helm
Helm is a package manager for Kubernetes that simplifies the process of installing and managing applications. It serves several key purposes:

- Manages complex application deployments through pre-configured “charts” — packages of Kubernetes resources
- Enables version control and rollback of deployments to maintain application stability
- Simplifies sharing and reuse of Kubernetes applications across different environments
- Provides templating to customize application configurations without changing the original chart
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.

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.
```bash
curl -fsSL -o get_helm.sh https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3
chmod 700 get_helm.sh
./get_helm.sh
```
### Well done
Congratulations! You have successfully set up a complete Kubernetes environment on your ComputeBlade. Your system now includes:

- A functioning MicroK8s Kubernetes cluster
- Kubectl command-line tool for cluster management
- Helm package manager for deploying applications
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.

## Resources
- [Installing Helm](https://helm.sh/docs/intro/install/) | HELM Project
- [Install Kubernetes](https://ubuntu.com/kubernetes/install#multi-node) | Canonical Kubernetes


![2024 Cyber bundle ad](/img/blog/2024_cyber_x_mas.webp)
11 changes: 7 additions & 4 deletions docs/blog/authors.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
william:
name: J william Bowen
title: Comunity Manager
title: Community Manager
url: /~https://github.com/bowenjw
image_url: /~https://github.com/bowenjw.png

Expand All @@ -10,16 +10,19 @@ sascha:
url: /~https://github.com/saschabuehrle
image_url: /~https://github.com/saschabuehrle.png

ivan:
merocle:
name: Ivan Kuleshov
title: Systems Engineer
url: /~https://github.com/merocle
image_url: /~https://github.com/merocle.png

grigorii:
brushknight:
name: Grigorii Merkushev
title: Software Engineer
title: Head of Software
url: /~https://github.com/brushknight
socials:
github: brushknight
linkedin: brushknight
image_url: /~https://github.com/brushknight.png

gena:
Expand Down
6 changes: 5 additions & 1 deletion docs/docs/blade/getting-started/assembly.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,10 @@ Next press firmly until the pieces snap together.
Be sure to assemble the two parts correctly; it is difficult to separate them and can damage the latch.
:::

:::note
Models for the latches can be found on [GitHub](/~https://github.com/uptime-industries/compute-blade/tree/brushknight-patch-1/models/bladerunner/latch)
:::

<img src="/img/blade/latch-assembled.webp" alt="Latch is now assembled" width={'70%'}/>

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.
Expand Down Expand Up @@ -114,7 +118,7 @@ Place the heat sink on to the CM4. The text on the edge of the heat sink should
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.

:::warning
Do not over tighten the screws. Over tightening will cause the Compute Blade to bend.
Do not over tighten the screws. Over tightening will cause the Compute Module to bend.
:::

<img src="/img/blade/mk4-k-hs-assembled.webp" alt="Blade with Heat Sink attached" width={'70%'}/>
Expand Down
9 changes: 5 additions & 4 deletions docs/docs/timeline.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -11,10 +11,11 @@ and has began shipping pledges to territories outside the EU. See the bellow tab

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


Expand Down
7 changes: 1 addition & 6 deletions docs/docusaurus.config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -110,12 +110,7 @@ const config: Config = {
position: 'right'
},

// {to: '/blog', label: 'Blog', position: 'left'},
// {
// label: 'Website',
// href: 'https://computeblade.com',
// position: 'right'
// },
{to: '/blog', label: 'Blog', position: 'right'},
{
href: 'https://computeblade.com',
position: 'right',
Expand Down
Binary file added docs/static/img/blog/19in_blades.webp
Binary file not shown.
Binary file added docs/static/img/blog/2024_cyber_x_mas.webp
Binary file not shown.
Binary file added docs/static/img/blog/compute_blade_purple.webp
Binary file not shown.
18 changes: 9 additions & 9 deletions docs/yarn.lock
Original file line number Diff line number Diff line change
Expand Up @@ -3255,9 +3255,9 @@ chalk@^4.0.0, chalk@^4.1.0, chalk@^4.1.2:
supports-color "^7.1.0"

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

char-regex@^1.0.2:
version "1.0.2"
Expand Down Expand Up @@ -5093,9 +5093,9 @@ ignore@^5.2.0, ignore@^5.2.4:
integrity sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==

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

Expand Down Expand Up @@ -5225,9 +5225,9 @@ is-ci@^3.0.1:
ci-info "^3.2.0"

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

Expand Down

0 comments on commit dfa280b

Please sign in to comment.