diff --git a/posts/2021-07-28_work-related_Icons SVGs Fonts and Icomoon.md b/posts/2021-07-28_work-related_Icons SVGs Fonts and Icomoon.md
index 4efea6c..a218796 100644
--- a/posts/2021-07-28_work-related_Icons SVGs Fonts and Icomoon.md
+++ b/posts/2021-07-28_work-related_Icons SVGs Fonts and Icomoon.md
@@ -14,47 +14,44 @@ I noticed the use of some clever CSS/font work, creating a tag and prepending it
The basics of the solution are below.
-```scss
-@charset "UTF-8";
-@font-face {
- font-family: "icomoon";
- src: url("fonts/icomoon.eot?36cs2a");
- src: url("fonts/icomoon.eot?36cs2a#iefix") format("embedded-opentype"), url("fonts/icomoon.ttf?36cs2a")
- format("truetype"), url("fonts/icomoon.woff?36cs2a") format("woff"),
- url("fonts/icomoon.svg?36cs2a#icomoon") format("svg");
- font-weight: normal;
- font-style: normal;
- font-display: block;
-}
-[class^="my-icons-"],
-[class*=" my-icons-"] {
- /* use !important to prevent issues with browser extensions that change fonts */
- font-family: "icomoon" !important;
- speak: never;
- font-style: normal;
- font-weight: normal;
- font-variant: normal;
- text-transform: none;
- line-height: 1;
- /* Better Font Rendering =========== */
- -webkit-font-smoothing: antialiased;
- -moz-osx-font-smoothing: grayscale;
-}
+ #!scss
+ @charset "UTF-8";
+ @font-face {
+ font-family: "icomoon";
+ src: url("fonts/icomoon.eot?36cs2a");
+ src: url("fonts/icomoon.eot?36cs2a#iefix") format("embedded-opentype"), url("fonts/icomoon.ttf?36cs2a")
+ format("truetype"), url("fonts/icomoon.woff?36cs2a") format("woff"),
+ url("fonts/icomoon.svg?36cs2a#icomoon") format("svg");
+ font-weight: normal;
+ font-style: normal;
+ font-display: block;
+ }
+ [class^="my-icons-"],
+ [class*=" my-icons-"] {
+ /* use !important to prevent issues with browser extensions that change fonts */
+ font-family: "icomoon" !important;
+ speak: never;
+ font-style: normal;
+ font-weight: normal;
+ font-variant: normal;
+ text-transform: none;
+ line-height: 1;
+ /* Better Font Rendering =========== */
+ -webkit-font-smoothing: antialiased;
+ -moz-osx-font-smoothing: grayscale;
+ }
-.my-icons-icon-1:before {
- content: "";
-}
+ .my-icons-icon-1:before {
+ content: "";
+ }
-.my-icons-icon-2:before {
- content: "";
-}
-```
+ .my-icons-icon-2:before {
+ content: "";
+ }
Then to insert the icon where it is wanted one can simply do the following
-```html
-
-```
+``
And the icon specified as content in the scss above will sit in the place of the `` tag.
@@ -72,10 +69,6 @@ And with that, I had found our solution.
Icomoon is really a magical black box but what it produces is brilliant.
-```
-detail in long how solution works
-```
-
Source controlling the processed files and building the font and css into an npm package that we store in a private registry worked great and we have been using the same solution since, approx. 8 months I think. If ever you need a simple way of producing your own set of easily usable icons for a project, I suggest Icomoon.
-ink.
diff --git a/posts/2021-08-09_servers_K3s on Odroid MC1s, a Guide.md b/posts/2021-08-09_servers_K3s on Odroid MC1s, a Guide.md
index 6c77d2d..750c967 100644
--- a/posts/2021-08-09_servers_K3s on Odroid MC1s, a Guide.md
+++ b/posts/2021-08-09_servers_K3s on Odroid MC1s, a Guide.md
@@ -30,24 +30,21 @@ Both network and hostname can be setup by mounting rootfs and manually editing/a
Example netplan '10-config.yaml':
-```yaml
- network:
- version: 2
- renderer: networkd
- ethernets:
- eth0:
- addresses: [192.168.0.XXX/16]
- gateway4: 192.168.0.1
- nameservers:
- addresses: [192.168.0.1, 1.1.1.1]
- search: [mydomain]
-```
+ #!yaml
+ network:
+ version: 2
+ renderer: networkd
+ ethernets:
+ eth0:
+ addresses: [192.168.0.XXX/16]
+ gateway4: 192.168.0.1
+ nameservers:
+ addresses: [192.168.0.1, 1.1.1.1]
+ search: [mydomain]
Also set timezone if you want.
-```shell
-sudo timedatectl set-timezone Australia/Adelaide
-```
+`sudo timedatectl set-timezone Australia/Adelaide`
In my case the following was used:
@@ -64,62 +61,56 @@ We must rebuild kernel with updated options so that cgroup_pids is enabled. Hard
note that the following tools are required for the build: bison, flex, libssl-dev, and bc
-```shell
-apt install bison flex libssl-dev bc -y
-```
+`apt install bison flex libssl-dev bc -y`
### The K3S install
Run the following on all nodes:
-```shell
- iptables -F \
- && update-alternatives --set iptables /usr/sbin/iptables-legacy \
- && update-alternatives --set ip6tables /usr/sbin/ip6tables-legacy \
- && reboot
+ #!shell
+ iptables -F \
+ && update-alternatives --set iptables /usr/sbin/iptables-legacy \
+ && update-alternatives --set ip6tables /usr/sbin/ip6tables-legacy \
+ && reboot
- apt update; apt upgrade -y; apt autoremove -y; apt clean; apt install docker.io curl -y
- reboot
+ apt update; apt upgrade -y; apt autoremove -y; apt clean; apt install docker.io curl -y
+ reboot
- systemctl start docker
- systemctl enable docker
+ systemctl start docker
+ systemctl enable docker
- systemctl status docker
+ systemctl status docker
- # Be sure that the firewall is disabled for ease
- ufw disable
-```
+ # Be sure that the firewall is disabled for ease
+ ufw disable
Then run the following only on the master node:
-```shell
- # for master
- curl -sfL https://get.k3s.io | K3S_KUBECONFIG_MODE="644" sh -s - --docker
+ #!shell
+ # for master
+ curl -sfL https://get.k3s.io | K3S_KUBECONFIG_MODE="644" sh -s - --docker
- # check its running
- systemctl status k3s
- kubectl get nodes
+ # check its running
+ systemctl status k3s
+ kubectl get nodes
- # Get token from master, make sure to store it somewhere
- cat /var/lib/rancher/k3s/server/node-token
-```
+ # Get token from master, make sure to store it somewhere
+ cat /var/lib/rancher/k3s/server/node-token
Then run the following on the worker nodes, updating the command for each:
-```shell
- # for workers
- # Fill this out ...
- curl -sfL http://get.k3s.io | K3S_URL=https://:6443 K3S_TOKEN= K3S_NODE_NAME="odroid-mc1-X" sh -s - --docker
+ #!shell
+ # for workers
+ # Fill this out ...
+ curl -sfL http://get.k3s.io | K3S_URL=https://:6443 K3S_TOKEN= K3S_NODE_NAME="odroid-mc1-X" sh -s - --docker
- systemctl status k3s-agent
-```
+ systemctl status k3s-agent
And thus you should be done, check the master node to see:
-```shell
- # Check node was added on master
- kubectl get nodes
-```
+ #!shell
+ # Check node was added on master
+ kubectl get nodes
And all should be up and running correctly, it was for me at least.
@@ -137,10 +128,10 @@ Once these have been set up with ip addresses and hostnames (odroid-n2, odroid-m
Either the following to set up users and access:
-```yml
- - hosts: all
- become: yes
- tasks:
+ #!yml
+ - hosts: all
+ become: yes
+ tasks:
- name: create the 'kuber' user
user: name=kuber append=yes state=present createhome=yes bash=/bin/bash
@@ -154,57 +145,49 @@ Either the following to set up users and access:
authorized_key: user=kuber key="{{item}}"
with_file:
- ~/.ssh/id_rsa.pub
-```
+
Or if you already set up users:
-```yml
- - hosts: all
- become: yes
- tasks:
- - name: set up authorised keys for the 'root' user
- authorized_key: user=root key="{{item}}"
- with_file:
- - ~/.ssh/id_rsa.pub
-```
+ #!yml
+ - hosts: all
+ become: yes
+ tasks:
+ - name: set up authorised keys for the 'root' user
+ authorized_key: user=root key="{{item}}"
+ with_file:
+ - ~/.ssh/id_rsa.pub
The above can be used with a hosts file such as the following
-```
- [masters]
- master ansible_host=192.168.0.XXX ansible_user= ansible_ssh_pass=
+ [masters]
+ master ansible_host=192.168.0.XXX ansible_user= ansible_ssh_pass=
- [workers]
- worker1 ansible_host=192.168.0.XXX ansible_user= ansible_ssh_pass=
- worker2...
- ...
+ [workers]
+ worker1 ansible_host=192.168.0.XXX ansible_user= ansible_ssh_pass=
+ worker2...
+ ...
- [all:vars]
- ansible_python_interpreter=/usr/bin/python3
-```
+ [all:vars]
+ ansible_python_interpreter=/usr/bin/python3
Then the following commands:
-```shell
- sudo iptables -F \
- && sudo update-alternatives --set iptables /usr/sbin/iptables-legacy \
- && sudo update-alternatives --set ip6tables /usr/sbin/ip6tables-legacy \
- && sudo reboot
-```
+ #!shell
+ sudo iptables -F \
+ && sudo update-alternatives --set iptables /usr/sbin/iptables-legacy \
+ && sudo update-alternatives --set ip6tables /usr/sbin/ip6tables-legacy \
+ && sudo reboot
useful command formatted from step 2.2.1 of reference material [here](https://learn.networkchuck.com/courses/take/ad-free-youtube-videos/lessons/26093614-i-built-a-raspberry-pi-super-computer-ft-kubernetes-k3s-cluster-w-rancher)
Then the following on the master node:
-```shell
-curl -sfL https://get.k3s.io | K3S_KUBECONFIG_MODE="644" sh -s -
-```
+`curl -sfL https://get.k3s.io | K3S_KUBECONFIG_MODE="644" sh -s -`
Then on the master node grab its node token
-```shell
-sudo cat /var/lib/rancher/k3s/server/node-token
-```
+`sudo cat /var/lib/rancher/k3s/server/node-token`
Then run the following on each of the workers:
(note in my case curl was not installed)
@@ -215,11 +198,10 @@ YOURTOKEN = token from above
servername = unique name for node (I use hostname)
-```shell
- curl -sfL https://get.k3s.io | K3S_TOKEN="YOURTOKEN" K3S_URL="https://[your server]:6443" K3S_NODE_NAME="servername" sh -z
+ #!shell
+ curl -sfL https://get.k3s.io | K3S_TOKEN="YOURTOKEN" K3S_URL="https://[your server]:6443" K3S_NODE_NAME="servername" sh -z
- # I used
- apt install curl -y && curl -sfL https://get.k3s.io | K3S_TOKEN="YOURTOKEN" K3S_URL="https://[your server]:6443" K3S_NODE_NAME="servername" sh -z
-```
+ # I used
+ apt install curl -y && curl -sfL https://get.k3s.io | K3S_TOKEN="YOURTOKEN" K3S_URL="https://[your server]:6443" K3S_NODE_NAME="servername" sh -z
Sadly this is where my notes ended as, although the install worked, all of the system pods were failing and thus I moved on to the method listed above.