diff options
| author | Paul Buetow <paul@buetow.org> | 2025-12-31 17:30:45 +0200 |
|---|---|---|
| committer | Paul Buetow <paul@buetow.org> | 2025-12-31 17:30:45 +0200 |
| commit | 86a62d6b67bc8e2dbf0e198a53b728ac824e4ea2 (patch) | |
| tree | cb7b15331085ca627be2c221b26d8de9a8e902d0 /gemfeed | |
| parent | 0339a6a436693de70ab9f255ea1d260738f52b55 (diff) | |
Update content for html
Diffstat (limited to 'gemfeed')
| -rw-r--r-- | gemfeed/DRAFT-f3s-kubernetes-with-freebsd-part-X-OBSERVABILITY2.html | 154 | ||||
| -rw-r--r-- | gemfeed/DRAFT-using-supernote-nomad-offline.html | 166 |
2 files changed, 0 insertions, 320 deletions
diff --git a/gemfeed/DRAFT-f3s-kubernetes-with-freebsd-part-X-OBSERVABILITY2.html b/gemfeed/DRAFT-f3s-kubernetes-with-freebsd-part-X-OBSERVABILITY2.html deleted file mode 100644 index 44048b17..00000000 --- a/gemfeed/DRAFT-f3s-kubernetes-with-freebsd-part-X-OBSERVABILITY2.html +++ /dev/null @@ -1,154 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> -<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"> -<head> -<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> -<title>f3s: Kubernetes with FreeBSD - Part 9: Enabling etcd Metrics</title> -<link rel="shortcut icon" type="image/gif" href="/favicon.ico" /> -<link rel="stylesheet" href="../style.css" /> -<link rel="stylesheet" href="style-override.css" /> -</head> -<body> -<p class="header"> -<a href="https://foo.zone">Home</a> | <a href="https://codeberg.org/snonux/foo.zone/src/branch/content-md/gemfeed/DRAFT-f3s-kubernetes-with-freebsd-part-X-OBSERVABILITY2.md">Markdown</a> | <a href="gemini://foo.zone/gemfeed/DRAFT-f3s-kubernetes-with-freebsd-part-X-OBSERVABILITY2.gmi">Gemini</a> -</p> -<h1 style='display: inline' id='f3s-kubernetes-with-freebsd---part-9-enabling-etcd-metrics'>f3s: Kubernetes with FreeBSD - Part 9: Enabling etcd Metrics</h1><br /> -<br /> -<h2 style='display: inline' id='introduction'>Introduction</h2><br /> -<br /> -<span>This post covers enabling etcd metrics monitoring for the k3s cluster. The etcd dashboard in Grafana initially showed no data because k3s uses an embedded etcd that doesn't expose metrics by default.</span><br /> -<br /> -<a class='textlink' href='./2025-12-07-f3s-kubernetes-with-freebsd-part-8.html'>Part 8: Observability</a><br /> -<br /> -<h2 style='display: inline' id='enabling-etcd-metrics-in-k3s'>Enabling etcd metrics in k3s</h2><br /> -<br /> -<span>On each control-plane node (r0, r1, r2), create /etc/rancher/k3s/config.yaml:</span><br /> -<br /> -<pre> -etcd-expose-metrics: true -</pre> -<br /> -<span>Then restart k3s on each node:</span><br /> -<br /> -<pre> -systemctl restart k3s -</pre> -<br /> -<span>After restarting, etcd metrics are available on port 2381:</span><br /> -<br /> -<pre> -curl http://127.0.0.1:2381/metrics | grep etcd -</pre> -<br /> -<h2 style='display: inline' id='configuring-prometheus-to-scrape-etcd'>Configuring Prometheus to scrape etcd</h2><br /> -<br /> -<span>In persistence-values.yaml, enable kubeEtcd with the node IP addresses:</span><br /> -<br /> -<pre> -kubeEtcd: - enabled: true - endpoints: - - 192.168.1.120 - - 192.168.1.121 - - 192.168.1.122 - service: - enabled: true - port: 2381 - targetPort: 2381 -</pre> -<br /> -<span>Apply the changes:</span><br /> -<br /> -<pre> -just upgrade -</pre> -<br /> -<h2 style='display: inline' id='verifying-etcd-metrics'>Verifying etcd metrics</h2><br /> -<br /> -<span>After the changes, all etcd targets are being scraped:</span><br /> -<br /> -<pre> -kubectl exec -n monitoring prometheus-prometheus-kube-prometheus-prometheus-0 \ - -c prometheus -- wget -qO- 'http://localhost:9090/api/v1/query?query=etcd_server_has_leader' | \ - jq -r '.data.result[] | "\(.metric.instance): \(.value[1])"' -</pre> -<br /> -<span>Output:</span><br /> -<br /> -<pre> -192.168.1.120:2381: 1 -192.168.1.121:2381: 1 -192.168.1.122:2381: 1 -</pre> -<br /> -<span>The etcd dashboard in Grafana now displays metrics including Raft proposals, leader elections, and peer round trip times.</span><br /> -<br /> -<h2 style='display: inline' id='complete-persistence-valuesyaml'>Complete persistence-values.yaml</h2><br /> -<br /> -<span>The complete updated persistence-values.yaml:</span><br /> -<br /> -<pre> -kubeEtcd: - enabled: true - endpoints: - - 192.168.1.120 - - 192.168.1.121 - - 192.168.1.122 - service: - enabled: true - port: 2381 - targetPort: 2381 - -prometheus: - prometheusSpec: - additionalScrapeConfigsSecret: - enabled: true - name: additional-scrape-configs - key: additional-scrape-configs.yaml - storageSpec: - volumeClaimTemplate: - spec: - storageClassName: "" - accessModes: ["ReadWriteOnce"] - resources: - requests: - storage: 10Gi - selector: - matchLabels: - type: local - app: prometheus - -grafana: - persistence: - enabled: true - type: pvc - existingClaim: "grafana-data-pvc" - - initChownData: - enabled: false - - podSecurityContext: - fsGroup: 911 - runAsUser: 911 - runAsGroup: 911 -</pre> -<br /> -<h2 style='display: inline' id='summary'>Summary</h2><br /> -<br /> -<span>Enabled etcd metrics monitoring for the k3s embedded etcd by:</span><br /> -<br /> -<ul> -<li>Adding etcd-expose-metrics: true to /etc/rancher/k3s/config.yaml on each control-plane node</li> -<li>Configuring Prometheus to scrape etcd on port 2381</li> -</ul><br /> -<span>The etcd dashboard now provides visibility into cluster health, leader elections, and Raft consensus metrics.</span><br /> -<br /> -<a class='textlink' href='https://codeberg.org/snonux/conf/src/branch/master/f3s/prometheus'>prometheus configuration on Codeberg</a><br /> -<p class="footer"> - Generated with <a href="https://codeberg.org/snonux/gemtexter">Gemtexter 3.0.1-develop</a> | - served by <a href="https://www.OpenBSD.org">OpenBSD</a>/<a href="https://man.openbsd.org/relayd.8">relayd(8)</a>+<a href="https://man.openbsd.org/httpd.8">httpd(8)</a> | - <a href="https://foo.zone/site-mirrors.html">Site Mirrors</a> - <br /> - Webring: <a href="https://shring.sh/foo.zone/previous">previous</a> | <a href="https://shring.sh">shring</a> | <a href="https://shring.sh/foo.zone/next">next</a> -</p> -</body> -</html> diff --git a/gemfeed/DRAFT-using-supernote-nomad-offline.html b/gemfeed/DRAFT-using-supernote-nomad-offline.html deleted file mode 100644 index d0c9140f..00000000 --- a/gemfeed/DRAFT-using-supernote-nomad-offline.html +++ /dev/null @@ -1,166 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> -<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"> -<head> -<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> -<title>Using Supernote Nomad offline</title> -<link rel="shortcut icon" type="image/gif" href="/favicon.ico" /> -<link rel="stylesheet" href="../style.css" /> -<link rel="stylesheet" href="style-override.css" /> -</head> -<body> -<p class="header"> -<a href="https://foo.zone">Home</a> | <a href="https://codeberg.org/snonux/foo.zone/src/branch/content-md/gemfeed/DRAFT-using-supernote-nomad-offline.md">Markdown</a> | <a href="gemini://foo.zone/gemfeed/DRAFT-using-supernote-nomad-offline.gmi">Gemini</a> -</p> -<h1 style='display: inline' id='using-supernote-nomad-offline'>Using Supernote Nomad offline</h1><br /> -<br /> -<span>I am a note taker. For years, I've been searching for a good digital device that could complement my paper notebooks. I've finally found it in the Supernote Nomad. I use it completely offline without cloud-sync, and in this post, I'll explain why this is a benefit.</span><br /> -<br /> -<br /> -<a class='textlink' href='https://supernote.com/pages/supernote-nomad'>Supernote Nomad</a><br /> -<br /> -<span>I initially bought it because Retta stated on their website that an open-source Linux firmware would be released soon. However, after over a year, there still hasn't been any progress (hopefully there will be someday). So I looked into alternative ways to use this device.</span><br /> -<br /> -<pre> -⣿⣿⣿⣿⣿⣿⡿⠿⠿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿ -⣿⣿⣿⣿⣿⣏⠀⢶⣆⡘⠉⠙⠛⠿⠿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿ -⣿⣿⣿⣿⣿⠋⣤⣄⠘⠃⢠⣀⣀⠀⠀⠀⠀⠀⠉⠉⠛⠛⠿⢿⣿⣿⣿⣿⣿⣿ -⣿⣿⣿⣿⡿⠀⡉⠻⡟⠀⠈⠉⠙⠛⠷⠶⣦⣤⣄⣀⠀⠀⠀⠀⠀⣾⣿⣿⣿⣿ -⣿⣿⣿⣿⡄⠸⢿⣤⠀⢠⣤⣀⡀⠀⠀⠀⠀⠀⠉⠙⠛⠻⠶⠀⢰⣿⣿⠻⣿⣿ -⣿⣿⣿⣿⠠⣶⣆⡉⠀⠀⠈⠉⠙⠛⠳⠶⠦⣤⣤⣄⣀⡀⢀⣴⠟⠋⠙⢷⣬⣿ -⣿⣿⣿⠏⣠⡄⠹⠁⠰⢶⣤⣤⣀⡀⠀⠀⠀⠀⠀⠉⢉⣿⠟⠁⠀⠀⣠⣾⣿⣿ -⣿⣿⡿⠂⠙⠻⡆⠀⠀⠀⠀⠈⠉⠛⠛⠷⠶⣦⣤⣴⠟⠁⠀⠀⣠⣾⣿⣿⣿⣿ -⣿⣿⡇⠸⣿⣄⠀⠰⠶⢶⣤⣄⣀⡀⠀⠀⠀⣴⣟⠁⠀⠀⣠⣾⣿⣿⣿⣿⣿⣿ -⣿⡟⠀⣶⣀⠃⠀⠀⠀⠀⠀⠈⠉⠙⠛⠓⢾⡟⢙⣷⣤⢾⣿⣿⣿⣿⣿⣿⣿⣿ -⣿⠋⣀⡉⠻⠀⠘⠛⠻⠶⢶⣤⣤⣀⡀⢠⠿⠟⠛⠉⠁⣸⣿⣿⣿⣿⣿⣿⣿⣿ -⣿⡀⠛⠳⠆⠀⠀⠀⠀⠀⠀⠀⠉⠉⠛⠛⠷⠶⣦⠄⢀⣿⣿⣿⣿⣿⣿⣿⣿⣿ -⣿⣿⣿⣶⣦⣀⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣸⣿⣿⣿⣿⣿⣿⣿⣿⣿ -⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣶⣶⣤⣤⣀⣀⠀⠀⠀⢠⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿ -⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣶⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿ -</pre> -<br /> -<h2 style='display: inline' id='table-of-contents'>Table of Contents</h2><br /> -<br /> -<ul> -<li><a href='#using-supernote-nomad-offline'>Using Supernote Nomad offline</a></li> -<li>⇢ <a href='#the-joy-of-being-offline'>The Joy of Being Offline</a></li> -<li>⇢ ⇢ <a href='#battery-for-days'>Battery for Days</a></li> -<li>⇢ ⇢ <a href='#your-data-is-your-data'>Your Data is Your Data</a></li> -<li>⇢ <a href='#my-offline-workflow'>My Offline Workflow</a></li> -<li>⇢ ⇢ <a href='#getting-notes-to-my-laptop'>Getting Notes to my Laptop</a></li> -<li>⇢ ⇢ <a href='#converting-notes-to-pdf'>Converting Notes to PDF</a></li> -<li>⇢ ⇢ <a href='#syncing-to-my-phone'>Syncing to my Phone</a></li> -<li>⇢ ⇢ <a href='#firmware-updates'>Firmware updates</a></li> -<li>⇢ <a href='#the-writing-experience'>The Writing Experience</a></li> -<li>⇢ <a href='#conclusion'>Conclusion</a></li> -</ul><br /> -<h2 style='display: inline' id='the-joy-of-being-offline'>The Joy of Being Offline</h2><br /> -<br /> -<span>In a world of constant connectivity, the Supernote Nomad offers a sanctuary. By keeping it offline, I can focus on my thoughts and notes without compromise of my privacy.</span><br /> -<br /> -<h3 style='display: inline' id='battery-for-days'>Battery for Days</h3><br /> -<br /> -<span>One of the most significant advantages of keeping Wi-Fi off is the battery life. The Supernote Nomad can last a week, on a single charge when it's not constantly searching for a network. This makes it a good companion for long trips or intense note-taking sessions.</span><br /> -<br /> -<h3 style='display: inline' id='your-data-is-your-data'>Your Data is Your Data</h3><br /> -<br /> -<span>Privacy was my main concern. By not syncing my notes to Retta's cloud service, I retain full ownership and control over my data. There's no risk of my personal thoughts and ideas being accessed or mined by third parties. It's a simple and effective way to ensure my privacy.</span><br /> -<br /> -<a href='./using-supernote-nomad-offline/nomad2.jpg'><img alt='A picture of the Supernote Nomad' title='A picture of the Supernote Nomad' src='./using-supernote-nomad-offline/nomad2.jpg' /></a><br /> -<br /> -<h2 style='display: inline' id='my-offline-workflow'>My Offline Workflow</h2><br /> -<br /> -<span>My workflow is simple and efficient, relying on a direct USB connection to my Linux laptop.</span><br /> -<br /> -<h3 style='display: inline' id='getting-notes-to-my-laptop'>Getting Notes to my Laptop</h3><br /> -<br /> -<span>I connect my Supernote Nomad to my Linux laptop via a USB-C cable. The device is automatically recognized as a storage device, and I can directly access the <span class='inlinecode'>Note</span> folder, which contains all my notes as <span class='inlinecode'>.note</span> files. I then copy these files to a dedicated archive folder on my laptop.</span><br /> -<br /> -<h3 style='display: inline' id='converting-notes-to-pdf'>Converting Notes to PDF</h3><br /> -<br /> -<span>To make my notes accessible and shareable, I convert them from the proprietary <span class='inlinecode'>.note</span> format to PDF. For this, I use a fantastic open-source tool called <span class='inlinecode'>supernote-tool</span>. It's not an official tool from Ratta (the manufacturer of the Supernote), but it works flawlessly.</span><br /> -<br /> -<a class='textlink' href='https://github.com/jya-dev/supernote-tool'>https://github.com/jya-dev/supernote-tool</a><br /> -<br /> -<span>I've created a small shell script to automate the conversion process. This script, <span class='inlinecode'>convert-notes-to-pdfs.sh</span>, resides in my notes archive folder:</span><br /> -<br /> -<!-- Generator: GNU source-highlight 3.1.9 -by Lorenzo Bettini -http://www.lorenzobettini.it -http://www.gnu.org/software/src-highlite --> -<pre><i><font color="silver">#!/usr/bin/env bash</font></i> - -convert () { - find . -name \*.note \ - | <b><u><font color="#000000">while</font></u></b> <b><u><font color="#000000">read</font></u></b> -r note; <b><u><font color="#000000">do</font></u></b> - echo supernote-tool convert -a -t pdf <font color="#808080">"$note"</font> <font color="#808080">"${note/.note/.pdf}"</font> - supernote-tool convert -a -t pdf <font color="#808080">"$note"</font> <font color="#808080">"${note/.note/.pdf}.tmp"</font> - mv <font color="#808080">"${note/.note/.pdf}.tmp"</font> <font color="#808080">"${note/.note/.pdf}"</font> - du -hs <font color="#808080">"$note"</font> <font color="#808080">"${note/.note/.pdf}"</font> - echo - <b><u><font color="#000000">done</font></u></b> -} - -<i><font color="silver"># Mage the PDFs available on my Phone as well</font></i> -copy () { - <b><u><font color="#000000">if</font></u></b> [ ! -d ~/Documents/Supernote ]; <b><u><font color="#000000">then</font></u></b> - echo <font color="#808080">"Directory ~/Documents/Supernote does not exist, skipping"</font> - <b><u><font color="#000000">exit</font></u></b> <font color="#000000">1</font> - <b><u><font color="#000000">fi</font></u></b> - - rsync -delete -av --include=<font color="#808080">'*/'</font> --include=<font color="#808080">'*.pdf'</font> --exclude=<font color="#808080">'*'</font> . ~/Documents/Supernote/ - echo This was copied from $(pwd) so dont edit manually >~/Documents/Supernote/README.txt -} - -convert -copy -</pre> -<br /> -<span>This script does two things:</span><br /> -<br /> -<ul> -<li>It finds all <span class='inlinecode'>.note</span> files in the current directory and converts them to PDF using <span class='inlinecode'>supernote-tool</span>.</li> -<li>It copies the generated PDFs to my <span class='inlinecode'>~/Documents/Supernote</span> folder.</li> -</ul><br /> -<h3 style='display: inline' id='syncing-to-my-phone'>Syncing to my Phone</h3><br /> -<br /> -<span>The <span class='inlinecode'>~/Documents/Supernote</span> folder on my laptop is synchronized with my phone using Syncthing. This way, I have access to all my notes in PDF format on my phone, wherever I go, without relying on any cloud service.</span><br /> -<br /> -<a class='textlink' href='https://syncthing.net/'>https://syncthing.net/</a><br /> -<br /> -<h3 style='display: inline' id='firmware-updates'>Firmware updates</h3><br /> -<br /> -<span>One usually updates the software or firmware of the Supernote Nomad via Wi-Fi. However, it is also possible to update it completely offline. To install the firmware update, follow the steps below (the following instructions were copied from the Supernote website):</span><br /> -<br /> -<ul> -<li>Connect your Supernote to your PC with a USB-C cable. For macOS, an MTP software (e.g. OpenMTP or Android File Transfer) is required for your Supernote to show up on your Mac. </li> -<li>For Manta, Nomad, A5 X and A6 X devices, copy the firmware (DO NOT UNZIP) to the "Export" folder of Supernote; for A5 and A6 devices, copy the firmware (DO NOT UNZIP) to the root directory of Supernote.</li> -<li>Unplug the USB connection, tap “OK” on your Supernote to continue, and if no prompt pops up, please restart your device directly to proceed to update.</li> -</ul><br /> -<h2 style='display: inline' id='the-writing-experience'>The Writing Experience</h2><br /> -<br /> -<span>The writing feel of the Supernote Nomad is simply great. The combination of the screen's texture and the ceramic nib of the pen creates a feeling that is remarkably close to writing on real paper. The latency is almost non-existent, and the pressure sensitivity allows for a natural and expressive writing experience. It's great to write on, and it makes me want to take more notes.</span><br /> -<br /> -<a href='./using-supernote-nomad-offline/nomad1.jpg'><img alt='Another picture of the Supernote Nomad' title='Another picture of the Supernote Nomad' src='./using-supernote-nomad-offline/nomad1.jpg' /></a><br /> -<br /> -<h2 style='display: inline' id='conclusion'>Conclusion</h2><br /> -<br /> -<span>The Supernote Nomad has become an additional tool for me. By using it offline, I've created a distraction-free and private note-taking environment. The simple, manual workflow for transferring and converting notes gives me full control over my data, and the writing experience is second to none. If you're looking for a digital notebook that respects your privacy and helps you focus, I highly recommend giving the Supernote Nomad a try with an offline-first approach.</span><br /> -<br /> -<span>The Supernote didn't fully replace my traditional paper journals, though. Each of them has its own use case. However, that is outside the scope of this blog post.</span><br /> -<br /> -<span>Other related posts:</span><br /> -<br /> -<a class='textlink' href='./2026-01-01-cloudless-kobo-forma-with-koreader.html'>2026-01-01 Cloudless Kobo Forma with KOReader</a><br /> -<br /> -<span>E-Mail your comments to <span class='inlinecode'>paul@nospam.buetow.org</span> :-)</span><br /> -<br /> -<a class='textlink' href='../'>Back to the main site</a><br /> -<p class="footer"> - Generated with <a href="https://codeberg.org/snonux/gemtexter">Gemtexter 3.0.1-develop</a> | - served by <a href="https://www.OpenBSD.org">OpenBSD</a>/<a href="https://man.openbsd.org/relayd.8">relayd(8)</a>+<a href="https://man.openbsd.org/httpd.8">httpd(8)</a> | - <a href="https://foo.zone/site-mirrors.html">Site Mirrors</a> - <br /> - Webring: <a href="https://shring.sh/foo.zone/previous">previous</a> | <a href="https://shring.sh">shring</a> | <a href="https://shring.sh/foo.zone/next">next</a> -</p> -</body> -</html> |
