From ae919ab958a11ebc35ff0ee3741e6eed47392530 Mon Sep 17 00:00:00 2001 From: Paul Buetow Date: Fri, 26 Dec 2025 23:35:09 +0200 Subject: Update content for html --- about/resources.html | 200 ++++++++++----------- ...5-07-14-f3s-kubernetes-with-freebsd-part-6.html | 14 +- ...ernetes-with-freebsd-part-X-OBSERVABILITY2.html | 154 ++++++++++++++++ gemfeed/atom.xml | 16 +- index.html | 2 +- uptime-stats.html | 2 +- 6 files changed, 281 insertions(+), 107 deletions(-) create mode 100644 gemfeed/DRAFT-f3s-kubernetes-with-freebsd-part-X-OBSERVABILITY2.html diff --git a/about/resources.html b/about/resources.html index f622b0df..b2e09a6d 100644 --- a/about/resources.html +++ b/about/resources.html @@ -50,112 +50,112 @@ In random order:


Technical references



I didn't read them from the beginning to the end, but I am using them to look up things. The books are in random order:


Self-development and soft-skills books



In random order:


Here are notes of mine for some of the books

@@ -164,31 +164,31 @@ Some of these were in-person with exams; others were online learning lectures only. In random order:


Technical guides



These are not whole books, but guides (smaller or larger) which I found very useful. in random order:


Podcasts



@@ -197,61 +197,61 @@ In random order:


Podcasts I liked



I liked them but am not listening to them anymore. The podcasts have either "finished" (no more episodes) or I stopped listening to them due to time constraints or a shift in my interests.


Newsletters I like



This is a mix of tech and non-tech newsletters I am subscribed to. In random order:


Magazines I like(d)



This is a mix of tech I like(d). I may not be a current subscriber, but now and then, I buy an issue. In random order:


Formal education



diff --git a/gemfeed/2025-07-14-f3s-kubernetes-with-freebsd-part-6.html b/gemfeed/2025-07-14-f3s-kubernetes-with-freebsd-part-6.html index 86e1b8d6..aa845763 100644 --- a/gemfeed/2025-07-14-f3s-kubernetes-with-freebsd-part-6.html +++ b/gemfeed/2025-07-14-f3s-kubernetes-with-freebsd-part-6.html @@ -1741,13 +1741,23 @@ Domain = lan.buetow.org .
-And afterwards, we need to run the following on all 3 Rocky hosts::
+We also need to increase the inotify limit, otherwise nfs-idmapd may fail to start with "Too many open files":

-
[root@r0 ~]# systemctl enable --now nfs-idmapd
+
[root@r0 ~]# echo 'fs.inotify.max_user_instances = 512' > /etc/sysctl.d/99-inotify.conf
+[root@r0 ~]# sysctl -w fs.inotify.max_user_instances=512
+
+
+And afterwards, we need to run the following on all 3 Rocky hosts:
+
+ +
[root@r0 ~]# systemctl start nfs-idmapd
 [root@r0 ~]# systemctl enable --now nfs-client.target
 

diff --git a/gemfeed/DRAFT-f3s-kubernetes-with-freebsd-part-X-OBSERVABILITY2.html b/gemfeed/DRAFT-f3s-kubernetes-with-freebsd-part-X-OBSERVABILITY2.html new file mode 100644 index 00000000..44048b17 --- /dev/null +++ b/gemfeed/DRAFT-f3s-kubernetes-with-freebsd-part-X-OBSERVABILITY2.html @@ -0,0 +1,154 @@ + + + + +f3s: Kubernetes with FreeBSD - Part 9: Enabling etcd Metrics + + + + + +

+Home | Markdown | Gemini +

+

f3s: Kubernetes with FreeBSD - Part 9: Enabling etcd Metrics


+
+

Introduction


+
+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.
+
+Part 8: Observability
+
+

Enabling etcd metrics in k3s


+
+On each control-plane node (r0, r1, r2), create /etc/rancher/k3s/config.yaml:
+
+
+etcd-expose-metrics: true
+
+
+Then restart k3s on each node:
+
+
+systemctl restart k3s
+
+
+After restarting, etcd metrics are available on port 2381:
+
+
+curl http://127.0.0.1:2381/metrics | grep etcd
+
+
+

Configuring Prometheus to scrape etcd


+
+In persistence-values.yaml, enable kubeEtcd with the node IP addresses:
+
+
+kubeEtcd:
+  enabled: true
+  endpoints:
+    - 192.168.1.120
+    - 192.168.1.121
+    - 192.168.1.122
+  service:
+    enabled: true
+    port: 2381
+    targetPort: 2381
+
+
+Apply the changes:
+
+
+just upgrade
+
+
+

Verifying etcd metrics


+
+After the changes, all etcd targets are being scraped:
+
+
+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])"'
+
+
+Output:
+
+
+192.168.1.120:2381: 1
+192.168.1.121:2381: 1
+192.168.1.122:2381: 1
+
+
+The etcd dashboard in Grafana now displays metrics including Raft proposals, leader elections, and peer round trip times.
+
+

Complete persistence-values.yaml


+
+The complete updated persistence-values.yaml:
+
+
+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
+
+
+

Summary


+
+Enabled etcd metrics monitoring for the k3s embedded etcd by:
+
+
+The etcd dashboard now provides visibility into cluster health, leader elections, and Raft consensus metrics.
+
+prometheus configuration on Codeberg
+ + + diff --git a/gemfeed/atom.xml b/gemfeed/atom.xml index 994c89f9..7e7f3733 100644 --- a/gemfeed/atom.xml +++ b/gemfeed/atom.xml @@ -1,6 +1,6 @@ - 2025-12-26T08:51:40+02:00 + 2025-12-26T23:33:35+02:00 foo.zone feed To be in the .zone! @@ -6673,13 +6673,23 @@ Domain = lan.buetow.org .

-And afterwards, we need to run the following on all 3 Rocky hosts::
+We also need to increase the inotify limit, otherwise nfs-idmapd may fail to start with "Too many open files":

-
[root@r0 ~]# systemctl enable --now nfs-idmapd
+
[root@r0 ~]# echo 'fs.inotify.max_user_instances = 512' > /etc/sysctl.d/99-inotify.conf
+[root@r0 ~]# sysctl -w fs.inotify.max_user_instances=512
+
+
+And afterwards, we need to run the following on all 3 Rocky hosts:
+
+ +
[root@r0 ~]# systemctl start nfs-idmapd
 [root@r0 ~]# systemctl enable --now nfs-client.target
 

diff --git a/index.html b/index.html index c87ad5fc..de6c141c 100644 --- a/index.html +++ b/index.html @@ -13,7 +13,7 @@

Hello!



-This site was generated at 2025-12-26T08:51:39+02:00 by Gemtexter
+This site was generated at 2025-12-26T23:33:35+02:00 by Gemtexter

Welcome to the foo.zone!

diff --git a/uptime-stats.html b/uptime-stats.html index e6307ca5..b20bca2a 100644 --- a/uptime-stats.html +++ b/uptime-stats.html @@ -13,7 +13,7 @@

My machine uptime stats



-This site was last updated at 2025-12-26T08:51:39+02:00
+This site was last updated at 2025-12-26T23:33:35+02:00

The following stats were collected via uptimed on all of my personal computers over many years and the output was generated by guprecords, the global uptime records stats analyser of mine.

-- cgit v1.2.3