diff --git a/feed_rss_created.xml b/feed_rss_created.xml
index 2dfcf293..b8dc82f4 100644
--- a/feed_rss_created.xml
+++ b/feed_rss_created.xml
@@ -1 +1 @@
-Andreas Karis BlogAndreas Karis' blog about anything Kubernetes, OpenShift, Linux and Networkinghttps://andreaskaris.github.io/blog/enFri, 19 Jul 2024 15:36:59 -0000Fri, 19 Jul 2024 15:36:59 -00001440MkDocs RSS plugin - v1.11.1SELinux Cheat Sheet<h1>SELinux Cheat Sheet</h1><h3>Reading SELinux status</h3><p>| Command | Description | Examples ||---|---|---|| cat /etc/selinux/config | Get SELinux boot configu...</p>https://andreaskaris.github.io/blog/linux/selinux-cheatsheet/ Fri, 19 Jul 2024 15:04:32 +0000https://andreaskaris.github.io/blog/linux/selinux-cheatsheet/Protect Lenovo laptop battery<p>In order to protect your Lenovo battery, you can set charge start and end thresholds.According to [anecdotal evidence](https://linrunner.de/tlp/faq/battery....</p>https://andreaskaris.github.io/blog/linux/protect-lenovo-battery/ Thu, 20 Jun 2024 14:59:35 +0000https://andreaskaris.github.io/blog/linux/protect-lenovo-battery/Netlink and MAC addresses<h2>Netlink address fields IFLA_ADDRESS, IFLA_BROADCAST and IFLA_PERM_ADDRESS</h2><p>A few days ago, I had to figure out how applications such as iproute2 read the ...</p>https://andreaskaris.github.io/blog/networking/netlink-address-fields/ Sun, 12 May 2024 21:25:38 +0000https://andreaskaris.github.io/blog/networking/netlink-address-fields/CPU isolation in Red Hat OpenShift Container Platform<h2>CPU isolation in Red Hat OpenShift Container Platform</h2><p>Two complementary features allow admins to partition the node's CPUs according to their needs. The ...</p>https://andreaskaris.github.io/blog/openshift/cpu-isolation-in-openshift/ Mon, 06 May 2024 20:08:03 +0000https://andreaskaris.github.io/blog/openshift/cpu-isolation-in-openshift/udev rules to apply ethtool settings<h1>udev rules to apply ethtool settings</h1><p>In order to apply specific ethtool settings to all interfaces matching a specific regular expression, run:```cat <<...</p>https://andreaskaris.github.io/blog/linux/udev-ethtool/ Mon, 29 Apr 2024 19:44:04 +0000https://andreaskaris.github.io/blog/linux/udev-ethtool/OpenShift with iSCSI multipath<h2>Kubernets iSCSI volume driver</h2><p>The iSCSI volume driver can work as both a single path iSCSI initiator or with multipath.For some information about the dr...</p>https://andreaskaris.github.io/blog/openshift/openshift-with-multipath/ Fri, 12 Jan 2024 17:53:42 +0000https://andreaskaris.github.io/blog/openshift/openshift-with-multipath/kernel-ml on OpenShift<h1>kernel-ml on OpenShift</h1><p>In order to find out if a kernel bug was already fixed upstream, it may sometimes be necessary to test the upstreamkernel on top o...</p>https://andreaskaris.github.io/blog/openshift/kernel-ml-on-openshift/ Thu, 23 Nov 2023 18:41:02 +0000https://andreaskaris.github.io/blog/openshift/kernel-ml-on-openshift/Seccomp defaults in Red Hat OpenShift Container Platform<h1>Seccomp defaults in Red Hat OpenShift Container Platform</h1><p>Seccomp can be used to restrict the syscalls that processes running inside a container are allowe...</p>https://andreaskaris.github.io/blog/openshift/seccomp-defaults-ocp/ Mon, 25 Sep 2023 19:20:43 +0000https://andreaskaris.github.io/blog/openshift/seccomp-defaults-ocp/Hands-on with OVN Interconnection<h1>Hands-on with OVN Interconnection (OVN IC)</h1><p><a href="https://docs.ovn.org/en/latest/tutorials/ovn-interconnection.html">OVN Interconnection</a> (OVN IC) allows admini...</p>https://andreaskaris.github.io/blog/networking/ovn-interconnection/ Mon, 11 Sep 2023 19:06:05 +0000https://andreaskaris.github.io/blog/networking/ovn-interconnection/rpm-ostreed failed to find image<h2>rpm-ostreed failed to find image</h2><p>Today, I ran into a strange issue after messing around a bit too much with OpenShift's Machine Config Operator.After de...</p>https://andreaskaris.github.io/blog/openshift/rpm-ostree-failed-to-find-image/ Tue, 15 Aug 2023 20:03:49 +0000https://andreaskaris.github.io/blog/openshift/rpm-ostree-failed-to-find-image/Workaround for org.gnome.shell.overrides not installed<h1>Settings schema 'org.gnome.shell.overrides' is not installed</h1><p>I recently upgraded to Fedora 38 and Gnome 44, and one of my installed applications give this...</p>https://andreaskaris.github.io/blog/linux/org-gnome-shell-overrides/ Wed, 03 May 2023 19:38:38 +0000https://andreaskaris.github.io/blog/linux/org-gnome-shell-overrides/DedicatedServiceMonitors in OpenShift Monitoring<h2>DedicatedServiceMonitors in Red Hat OpenShift Monitoring</h2><h3>Introduction</h3><p>By default, OpenShift's Prometheus stack will pull pod CPU and memory usage fr...</p>https://andreaskaris.github.io/blog/openshift/dedicated-service-monitors/ Wed, 03 May 2023 15:53:44 +0000https://andreaskaris.github.io/blog/openshift/dedicated-service-monitors/Using cgroups for CFS bandwidth control<h1>Using cgroups for CFS bandwidth control (CPU quotas)</h1><p>CFS bandwidth control is a feature that allows you to limit the amount of CPU time that a control gro...</p>https://andreaskaris.github.io/blog/linux/cgroups_cpu_quota/ Mon, 27 Mar 2023 11:28:05 +0000https://andreaskaris.github.io/blog/linux/cgroups_cpu_quota/How kubelet monitors filesystems<h1>How kubelet monitors filesystems</h1><p>Kubelet can monitor 2 file systems, nodefs and imagefs. nodefs is auto-discovered by the presence of <code>/var/lib/kubelet</code>....</p>https://andreaskaris.github.io/blog/openshift/kubelet-filesystems/ Wed, 22 Mar 2023 17:03:35 +0000https://andreaskaris.github.io/blog/openshift/kubelet-filesystems/Golang IP address conversion<h2>IP address conversion with golang</h2><h3>Finding an IP network's broadcast IP</h3><p>The following function calculates the broadcast IP for both IPv4 and IPv6 net...</p>https://andreaskaris.github.io/blog/coding/golang-ip-conversion/ Fri, 24 Feb 2023 12:45:32 +0000https://andreaskaris.github.io/blog/coding/golang-ip-conversion/Controller Reconciliation<h2>Reconciliation with the Operator SDK</h2><p>In the Operator SDK, controllers implement the [Reconciler](https://github.com/kubernetes-sigs/controller-runtime/bl...</p>https://andreaskaris.github.io/blog/coding/operator-sdk-reconciliation/ Fri, 24 Feb 2023 12:45:32 +0000https://andreaskaris.github.io/blog/coding/operator-sdk-reconciliation/My vimrc<h1>My vimrc</h1><p>Below my configuration for vim which I use for go and python development:~~~cat <<'EOF' > ~/.vimrccall plug#begin() Plug 'vim-airline/vim-ai...</p>https://andreaskaris.github.io/blog/coding/vimrc/ Fri, 24 Feb 2023 12:45:32 +0000https://andreaskaris.github.io/blog/coding/vimrc/SCCs and mutating webhooks - a lesson learned<p><img alt="title" src="https://user-images.githubusercontent.com/3291433/220175185-f58bf274-e886-45ef-ab32-92b6cd3f1739.png"></p><h1>SCCs and mutating webhooks - or how to lear...</h1>https://andreaskaris.github.io/blog/openshift/openshift-scc-with-mutating-webhooks/ Mon, 13 Feb 2023 22:16:16 +0000https://andreaskaris.github.io/blog/openshift/openshift-scc-with-mutating-webhooks/Building custom release images for OpenShift<h2>Building custom release images for OpenShift</h2><h3>Using custom container image for a specific component / operator</h3><p>The following example builds a custom ...</p>https://andreaskaris.github.io/blog/openshift/ocp-custom-release-image/ Wed, 19 Oct 2022 14:17:44 +0000https://andreaskaris.github.io/blog/openshift/ocp-custom-release-image/OVN standalone on Fedora<h1>OVN standalone on Fedora</h1><p>For instruction to build OVN and OVS from source, see: https://docs.ovn.org/en/latest/intro/install/fedora.html#fedora-rhel-7-...</p>https://andreaskaris.github.io/blog/networking/ovn_standalone_on_fedora/ Tue, 14 Jun 2022 13:38:40 +0000https://andreaskaris.github.io/blog/networking/ovn_standalone_on_fedora/
\ No newline at end of file
+Andreas Karis BlogAndreas Karis' blog about anything Kubernetes, OpenShift, Linux and Networkinghttps://andreaskaris.github.io/blog/enThu, 08 Aug 2024 21:36:32 -0000Thu, 08 Aug 2024 21:36:32 -00001440MkDocs RSS plugin - v1.11.1RSS, IRQ affinity and RPS on Linux<h1>RSS, IRQ affinity and RPS on Linux</h1><h2>Lab setup</h2><p>2 RHEL 9 virtual machines with 2 interfaces each. We are going to connect to the instances via eth0 and w...</p>https://andreaskaris.github.io/blog/networking/rss-irq-affinity-and-rps/ Thu, 08 Aug 2024 23:36:27 +0000https://andreaskaris.github.io/blog/networking/rss-irq-affinity-and-rps/SELinux Cheat Sheet<h1>SELinux Cheat Sheet</h1><h3>Reading SELinux status</h3><p>| Command | Description | Examples ||---|---|---|| cat /etc/selinux/config | Get SELinux boot configu...</p>https://andreaskaris.github.io/blog/linux/selinux-cheatsheet/ Fri, 19 Jul 2024 15:04:32 +0000https://andreaskaris.github.io/blog/linux/selinux-cheatsheet/Protect Lenovo laptop battery<p>In order to protect your Lenovo battery, you can set charge start and end thresholds.According to [anecdotal evidence](https://linrunner.de/tlp/faq/battery....</p>https://andreaskaris.github.io/blog/linux/protect-lenovo-battery/ Thu, 20 Jun 2024 14:59:35 +0000https://andreaskaris.github.io/blog/linux/protect-lenovo-battery/Netlink and MAC addresses<h2>Netlink address fields IFLA_ADDRESS, IFLA_BROADCAST and IFLA_PERM_ADDRESS</h2><p>A few days ago, I had to figure out how applications such as iproute2 read the ...</p>https://andreaskaris.github.io/blog/networking/netlink-address-fields/ Sun, 12 May 2024 21:25:38 +0000https://andreaskaris.github.io/blog/networking/netlink-address-fields/CPU isolation in Red Hat OpenShift Container Platform<h2>CPU isolation in Red Hat OpenShift Container Platform</h2><p>Two complementary features allow admins to partition the node's CPUs according to their needs. The ...</p>https://andreaskaris.github.io/blog/openshift/cpu-isolation-in-openshift/ Mon, 06 May 2024 20:08:03 +0000https://andreaskaris.github.io/blog/openshift/cpu-isolation-in-openshift/udev rules to apply ethtool settings<h1>udev rules to apply ethtool settings</h1><p>In order to apply specific ethtool settings to all interfaces matching a specific regular expression, run:```cat <<...</p>https://andreaskaris.github.io/blog/linux/udev-ethtool/ Mon, 29 Apr 2024 19:44:04 +0000https://andreaskaris.github.io/blog/linux/udev-ethtool/OpenShift with iSCSI multipath<h2>Kubernets iSCSI volume driver</h2><p>The iSCSI volume driver can work as both a single path iSCSI initiator or with multipath.For some information about the dr...</p>https://andreaskaris.github.io/blog/openshift/openshift-with-multipath/ Fri, 12 Jan 2024 17:53:42 +0000https://andreaskaris.github.io/blog/openshift/openshift-with-multipath/kernel-ml on OpenShift<h1>kernel-ml on OpenShift</h1><p>In order to find out if a kernel bug was already fixed upstream, it may sometimes be necessary to test the upstreamkernel on top o...</p>https://andreaskaris.github.io/blog/openshift/kernel-ml-on-openshift/ Thu, 23 Nov 2023 18:41:02 +0000https://andreaskaris.github.io/blog/openshift/kernel-ml-on-openshift/Seccomp defaults in Red Hat OpenShift Container Platform<h1>Seccomp defaults in Red Hat OpenShift Container Platform</h1><p>Seccomp can be used to restrict the syscalls that processes running inside a container are allowe...</p>https://andreaskaris.github.io/blog/openshift/seccomp-defaults-ocp/ Mon, 25 Sep 2023 19:20:43 +0000https://andreaskaris.github.io/blog/openshift/seccomp-defaults-ocp/Hands-on with OVN Interconnection<h1>Hands-on with OVN Interconnection (OVN IC)</h1><p><a href="https://docs.ovn.org/en/latest/tutorials/ovn-interconnection.html">OVN Interconnection</a> (OVN IC) allows admini...</p>https://andreaskaris.github.io/blog/networking/ovn-interconnection/ Mon, 11 Sep 2023 19:06:05 +0000https://andreaskaris.github.io/blog/networking/ovn-interconnection/rpm-ostreed failed to find image<h2>rpm-ostreed failed to find image</h2><p>Today, I ran into a strange issue after messing around a bit too much with OpenShift's Machine Config Operator.After de...</p>https://andreaskaris.github.io/blog/openshift/rpm-ostree-failed-to-find-image/ Tue, 15 Aug 2023 20:03:49 +0000https://andreaskaris.github.io/blog/openshift/rpm-ostree-failed-to-find-image/Workaround for org.gnome.shell.overrides not installed<h1>Settings schema 'org.gnome.shell.overrides' is not installed</h1><p>I recently upgraded to Fedora 38 and Gnome 44, and one of my installed applications give this...</p>https://andreaskaris.github.io/blog/linux/org-gnome-shell-overrides/ Wed, 03 May 2023 19:38:38 +0000https://andreaskaris.github.io/blog/linux/org-gnome-shell-overrides/DedicatedServiceMonitors in OpenShift Monitoring<h2>DedicatedServiceMonitors in Red Hat OpenShift Monitoring</h2><h3>Introduction</h3><p>By default, OpenShift's Prometheus stack will pull pod CPU and memory usage fr...</p>https://andreaskaris.github.io/blog/openshift/dedicated-service-monitors/ Wed, 03 May 2023 15:53:44 +0000https://andreaskaris.github.io/blog/openshift/dedicated-service-monitors/Using cgroups for CFS bandwidth control<h1>Using cgroups for CFS bandwidth control (CPU quotas)</h1><p>CFS bandwidth control is a feature that allows you to limit the amount of CPU time that a control gro...</p>https://andreaskaris.github.io/blog/linux/cgroups_cpu_quota/ Mon, 27 Mar 2023 11:28:05 +0000https://andreaskaris.github.io/blog/linux/cgroups_cpu_quota/How kubelet monitors filesystems<h1>How kubelet monitors filesystems</h1><p>Kubelet can monitor 2 file systems, nodefs and imagefs. nodefs is auto-discovered by the presence of <code>/var/lib/kubelet</code>....</p>https://andreaskaris.github.io/blog/openshift/kubelet-filesystems/ Wed, 22 Mar 2023 17:03:35 +0000https://andreaskaris.github.io/blog/openshift/kubelet-filesystems/Golang IP address conversion<h2>IP address conversion with golang</h2><h3>Finding an IP network's broadcast IP</h3><p>The following function calculates the broadcast IP for both IPv4 and IPv6 net...</p>https://andreaskaris.github.io/blog/coding/golang-ip-conversion/ Fri, 24 Feb 2023 12:45:32 +0000https://andreaskaris.github.io/blog/coding/golang-ip-conversion/Controller Reconciliation<h2>Reconciliation with the Operator SDK</h2><p>In the Operator SDK, controllers implement the [Reconciler](https://github.com/kubernetes-sigs/controller-runtime/bl...</p>https://andreaskaris.github.io/blog/coding/operator-sdk-reconciliation/ Fri, 24 Feb 2023 12:45:32 +0000https://andreaskaris.github.io/blog/coding/operator-sdk-reconciliation/My vimrc<h1>My vimrc</h1><p>Below my configuration for vim which I use for go and python development:~~~cat <<'EOF' > ~/.vimrccall plug#begin() Plug 'vim-airline/vim-ai...</p>https://andreaskaris.github.io/blog/coding/vimrc/ Fri, 24 Feb 2023 12:45:32 +0000https://andreaskaris.github.io/blog/coding/vimrc/SCCs and mutating webhooks - a lesson learned<p><img alt="title" src="https://user-images.githubusercontent.com/3291433/220175185-f58bf274-e886-45ef-ab32-92b6cd3f1739.png"></p><h1>SCCs and mutating webhooks - or how to lear...</h1>https://andreaskaris.github.io/blog/openshift/openshift-scc-with-mutating-webhooks/ Mon, 13 Feb 2023 22:16:16 +0000https://andreaskaris.github.io/blog/openshift/openshift-scc-with-mutating-webhooks/Building custom release images for OpenShift<h2>Building custom release images for OpenShift</h2><h3>Using custom container image for a specific component / operator</h3><p>The following example builds a custom ...</p>https://andreaskaris.github.io/blog/openshift/ocp-custom-release-image/ Wed, 19 Oct 2022 14:17:44 +0000https://andreaskaris.github.io/blog/openshift/ocp-custom-release-image/
\ No newline at end of file
diff --git a/feed_rss_updated.xml b/feed_rss_updated.xml
index 26459582..63cec5c3 100644
--- a/feed_rss_updated.xml
+++ b/feed_rss_updated.xml
@@ -1 +1 @@
-Andreas Karis BlogAndreas Karis' blog about anything Kubernetes, OpenShift, Linux and Networkinghttps://andreaskaris.github.io/blog/enFri, 19 Jul 2024 15:36:59 -0000Fri, 19 Jul 2024 15:36:59 -00001440MkDocs RSS plugin - v1.11.1SELinux Cheat Sheet<h1>SELinux Cheat Sheet</h1><h3>Reading SELinux status</h3><p>| Command | Description | Examples ||---|---|---|| cat /etc/selinux/config | Get SELinux boot configu...</p>https://andreaskaris.github.io/blog/linux/selinux-cheatsheet/ Fri, 19 Jul 2024 17:19:19 +0000https://andreaskaris.github.io/blog/linux/selinux-cheatsheet/Protect Lenovo laptop battery<p>In order to protect your Lenovo battery, you can set charge start and end thresholds.According to [anecdotal evidence](https://linrunner.de/tlp/faq/battery....</p>https://andreaskaris.github.io/blog/linux/protect-lenovo-battery/ Thu, 20 Jun 2024 14:59:35 +0000https://andreaskaris.github.io/blog/linux/protect-lenovo-battery/Netlink and MAC addresses<h2>Netlink address fields IFLA_ADDRESS, IFLA_BROADCAST and IFLA_PERM_ADDRESS</h2><p>A few days ago, I had to figure out how applications such as iproute2 read the ...</p>https://andreaskaris.github.io/blog/networking/netlink-address-fields/ Mon, 13 May 2024 11:22:39 +0000https://andreaskaris.github.io/blog/networking/netlink-address-fields/CPU isolation in Red Hat OpenShift Container Platform<h2>CPU isolation in Red Hat OpenShift Container Platform</h2><p>Two complementary features allow admins to partition the node's CPUs according to their needs. The ...</p>https://andreaskaris.github.io/blog/openshift/cpu-isolation-in-openshift/ Mon, 06 May 2024 22:24:07 +0000https://andreaskaris.github.io/blog/openshift/cpu-isolation-in-openshift/udev rules to apply ethtool settings<h1>udev rules to apply ethtool settings</h1><p>In order to apply specific ethtool settings to all interfaces matching a specific regular expression, run:```cat <<...</p>https://andreaskaris.github.io/blog/linux/udev-ethtool/ Mon, 29 Apr 2024 19:44:04 +0000https://andreaskaris.github.io/blog/linux/udev-ethtool/OpenShift with iSCSI multipath<h2>Kubernets iSCSI volume driver</h2><p>The iSCSI volume driver can work as both a single path iSCSI initiator or with multipath.For some information about the dr...</p>https://andreaskaris.github.io/blog/openshift/openshift-with-multipath/ Fri, 12 Jan 2024 18:05:09 +0000https://andreaskaris.github.io/blog/openshift/openshift-with-multipath/kernel-ml on OpenShift<h1>kernel-ml on OpenShift</h1><p>In order to find out if a kernel bug was already fixed upstream, it may sometimes be necessary to test the upstreamkernel on top o...</p>https://andreaskaris.github.io/blog/openshift/kernel-ml-on-openshift/ Thu, 23 Nov 2023 18:46:14 +0000https://andreaskaris.github.io/blog/openshift/kernel-ml-on-openshift/Setting journalctl limits<h2>Changing the size of data that journald retains</h2><p>The systemd journal by default retains 4GB of data. In order to increase or decrease that value, set `Sys...</p>https://andreaskaris.github.io/blog/linux/setting-journalctl-limits/ Thu, 09 Nov 2023 17:19:41 +0000https://andreaskaris.github.io/blog/linux/setting-journalctl-limits/Seccomp defaults in Red Hat OpenShift Container Platform<h1>Seccomp defaults in Red Hat OpenShift Container Platform</h1><p>Seccomp can be used to restrict the syscalls that processes running inside a container are allowe...</p>https://andreaskaris.github.io/blog/openshift/seccomp-defaults-ocp/ Wed, 11 Oct 2023 18:48:34 +0000https://andreaskaris.github.io/blog/openshift/seccomp-defaults-ocp/Hands-on with OVN Interconnection<h1>Hands-on with OVN Interconnection (OVN IC)</h1><p><a href="https://docs.ovn.org/en/latest/tutorials/ovn-interconnection.html">OVN Interconnection</a> (OVN IC) allows admini...</p>https://andreaskaris.github.io/blog/networking/ovn-interconnection/ Mon, 11 Sep 2023 19:16:51 +0000https://andreaskaris.github.io/blog/networking/ovn-interconnection/rpm-ostreed failed to find image<h2>rpm-ostreed failed to find image</h2><p>Today, I ran into a strange issue after messing around a bit too much with OpenShift's Machine Config Operator.After de...</p>https://andreaskaris.github.io/blog/openshift/rpm-ostree-failed-to-find-image/ Tue, 15 Aug 2023 20:03:49 +0000https://andreaskaris.github.io/blog/openshift/rpm-ostree-failed-to-find-image/My vimrc<h1>My vimrc</h1><p>Below my configuration for vim which I use for go and python development:~~~cat <<'EOF' > ~/.vimrccall plug#begin() Plug 'vim-airline/vim-ai...</p>https://andreaskaris.github.io/blog/coding/vimrc/ Tue, 25 Jul 2023 13:34:48 +0000https://andreaskaris.github.io/blog/coding/vimrc/Workaround for org.gnome.shell.overrides not installed<h1>Settings schema 'org.gnome.shell.overrides' is not installed</h1><p>I recently upgraded to Fedora 38 and Gnome 44, and one of my installed applications give this...</p>https://andreaskaris.github.io/blog/linux/org-gnome-shell-overrides/ Wed, 03 May 2023 19:38:38 +0000https://andreaskaris.github.io/blog/linux/org-gnome-shell-overrides/DedicatedServiceMonitors in OpenShift Monitoring<h2>DedicatedServiceMonitors in Red Hat OpenShift Monitoring</h2><h3>Introduction</h3><p>By default, OpenShift's Prometheus stack will pull pod CPU and memory usage fr...</p>https://andreaskaris.github.io/blog/openshift/dedicated-service-monitors/ Wed, 03 May 2023 16:41:21 +0000https://andreaskaris.github.io/blog/openshift/dedicated-service-monitors/Using cgroups for CFS bandwidth control<h1>Using cgroups for CFS bandwidth control (CPU quotas)</h1><p>CFS bandwidth control is a feature that allows you to limit the amount of CPU time that a control gro...</p>https://andreaskaris.github.io/blog/linux/cgroups_cpu_quota/ Mon, 27 Mar 2023 11:42:03 +0000https://andreaskaris.github.io/blog/linux/cgroups_cpu_quota/How kubelet monitors filesystems<h1>How kubelet monitors filesystems</h1><p>Kubelet can monitor 2 file systems, nodefs and imagefs. nodefs is auto-discovered by the presence of <code>/var/lib/kubelet</code>....</p>https://andreaskaris.github.io/blog/openshift/kubelet-filesystems/ Wed, 22 Mar 2023 17:18:49 +0000https://andreaskaris.github.io/blog/openshift/kubelet-filesystems/Golang IP address conversion<h2>IP address conversion with golang</h2><h3>Finding an IP network's broadcast IP</h3><p>The following function calculates the broadcast IP for both IPv4 and IPv6 net...</p>https://andreaskaris.github.io/blog/coding/golang-ip-conversion/ Fri, 24 Feb 2023 12:45:32 +0000https://andreaskaris.github.io/blog/coding/golang-ip-conversion/Controller Reconciliation<h2>Reconciliation with the Operator SDK</h2><p>In the Operator SDK, controllers implement the [Reconciler](https://github.com/kubernetes-sigs/controller-runtime/bl...</p>https://andreaskaris.github.io/blog/coding/operator-sdk-reconciliation/ Fri, 24 Feb 2023 12:45:32 +0000https://andreaskaris.github.io/blog/coding/operator-sdk-reconciliation/SCCs and mutating webhooks - a lesson learned<p><img alt="title" src="https://user-images.githubusercontent.com/3291433/220175185-f58bf274-e886-45ef-ab32-92b6cd3f1739.png"></p><h1>SCCs and mutating webhooks - or how to lear...</h1>https://andreaskaris.github.io/blog/openshift/openshift-scc-with-mutating-webhooks/ Mon, 20 Feb 2023 19:22:20 +0000https://andreaskaris.github.io/blog/openshift/openshift-scc-with-mutating-webhooks/Useful commands<h1>Useful commands</h1><h2>Tracking the evolution of conntrack with lnstat</h2><p>lnstat is a neat tool to check the evolution of entries (and other counters) in the co...</p>https://andreaskaris.github.io/blog/networking/useful-commands/ Tue, 17 Jan 2023 15:36:04 +0000https://andreaskaris.github.io/blog/networking/useful-commands/
\ No newline at end of file
+Andreas Karis BlogAndreas Karis' blog about anything Kubernetes, OpenShift, Linux and Networkinghttps://andreaskaris.github.io/blog/enThu, 08 Aug 2024 21:36:32 -0000Thu, 08 Aug 2024 21:36:32 -00001440MkDocs RSS plugin - v1.11.1RSS, IRQ affinity and RPS on Linux<h1>RSS, IRQ affinity and RPS on Linux</h1><h2>Lab setup</h2><p>2 RHEL 9 virtual machines with 2 interfaces each. We are going to connect to the instances via eth0 and w...</p>https://andreaskaris.github.io/blog/networking/rss-irq-affinity-and-rps/ Thu, 08 Aug 2024 23:36:27 +0000https://andreaskaris.github.io/blog/networking/rss-irq-affinity-and-rps/SELinux Cheat Sheet<h1>SELinux Cheat Sheet</h1><h3>Reading SELinux status</h3><p>| Command | Description | Examples ||---|---|---|| cat /etc/selinux/config | Get SELinux boot configu...</p>https://andreaskaris.github.io/blog/linux/selinux-cheatsheet/ Fri, 19 Jul 2024 17:46:48 +0000https://andreaskaris.github.io/blog/linux/selinux-cheatsheet/Protect Lenovo laptop battery<p>In order to protect your Lenovo battery, you can set charge start and end thresholds.According to [anecdotal evidence](https://linrunner.de/tlp/faq/battery....</p>https://andreaskaris.github.io/blog/linux/protect-lenovo-battery/ Thu, 20 Jun 2024 14:59:35 +0000https://andreaskaris.github.io/blog/linux/protect-lenovo-battery/Netlink and MAC addresses<h2>Netlink address fields IFLA_ADDRESS, IFLA_BROADCAST and IFLA_PERM_ADDRESS</h2><p>A few days ago, I had to figure out how applications such as iproute2 read the ...</p>https://andreaskaris.github.io/blog/networking/netlink-address-fields/ Mon, 13 May 2024 11:22:39 +0000https://andreaskaris.github.io/blog/networking/netlink-address-fields/CPU isolation in Red Hat OpenShift Container Platform<h2>CPU isolation in Red Hat OpenShift Container Platform</h2><p>Two complementary features allow admins to partition the node's CPUs according to their needs. The ...</p>https://andreaskaris.github.io/blog/openshift/cpu-isolation-in-openshift/ Mon, 06 May 2024 22:24:07 +0000https://andreaskaris.github.io/blog/openshift/cpu-isolation-in-openshift/udev rules to apply ethtool settings<h1>udev rules to apply ethtool settings</h1><p>In order to apply specific ethtool settings to all interfaces matching a specific regular expression, run:```cat <<...</p>https://andreaskaris.github.io/blog/linux/udev-ethtool/ Mon, 29 Apr 2024 19:44:04 +0000https://andreaskaris.github.io/blog/linux/udev-ethtool/OpenShift with iSCSI multipath<h2>Kubernets iSCSI volume driver</h2><p>The iSCSI volume driver can work as both a single path iSCSI initiator or with multipath.For some information about the dr...</p>https://andreaskaris.github.io/blog/openshift/openshift-with-multipath/ Fri, 12 Jan 2024 18:05:09 +0000https://andreaskaris.github.io/blog/openshift/openshift-with-multipath/kernel-ml on OpenShift<h1>kernel-ml on OpenShift</h1><p>In order to find out if a kernel bug was already fixed upstream, it may sometimes be necessary to test the upstreamkernel on top o...</p>https://andreaskaris.github.io/blog/openshift/kernel-ml-on-openshift/ Thu, 23 Nov 2023 18:46:14 +0000https://andreaskaris.github.io/blog/openshift/kernel-ml-on-openshift/Setting journalctl limits<h2>Changing the size of data that journald retains</h2><p>The systemd journal by default retains 4GB of data. In order to increase or decrease that value, set `Sys...</p>https://andreaskaris.github.io/blog/linux/setting-journalctl-limits/ Thu, 09 Nov 2023 17:19:41 +0000https://andreaskaris.github.io/blog/linux/setting-journalctl-limits/Seccomp defaults in Red Hat OpenShift Container Platform<h1>Seccomp defaults in Red Hat OpenShift Container Platform</h1><p>Seccomp can be used to restrict the syscalls that processes running inside a container are allowe...</p>https://andreaskaris.github.io/blog/openshift/seccomp-defaults-ocp/ Wed, 11 Oct 2023 18:48:34 +0000https://andreaskaris.github.io/blog/openshift/seccomp-defaults-ocp/Hands-on with OVN Interconnection<h1>Hands-on with OVN Interconnection (OVN IC)</h1><p><a href="https://docs.ovn.org/en/latest/tutorials/ovn-interconnection.html">OVN Interconnection</a> (OVN IC) allows admini...</p>https://andreaskaris.github.io/blog/networking/ovn-interconnection/ Mon, 11 Sep 2023 19:16:51 +0000https://andreaskaris.github.io/blog/networking/ovn-interconnection/rpm-ostreed failed to find image<h2>rpm-ostreed failed to find image</h2><p>Today, I ran into a strange issue after messing around a bit too much with OpenShift's Machine Config Operator.After de...</p>https://andreaskaris.github.io/blog/openshift/rpm-ostree-failed-to-find-image/ Tue, 15 Aug 2023 20:03:49 +0000https://andreaskaris.github.io/blog/openshift/rpm-ostree-failed-to-find-image/My vimrc<h1>My vimrc</h1><p>Below my configuration for vim which I use for go and python development:~~~cat <<'EOF' > ~/.vimrccall plug#begin() Plug 'vim-airline/vim-ai...</p>https://andreaskaris.github.io/blog/coding/vimrc/ Tue, 25 Jul 2023 13:34:48 +0000https://andreaskaris.github.io/blog/coding/vimrc/Workaround for org.gnome.shell.overrides not installed<h1>Settings schema 'org.gnome.shell.overrides' is not installed</h1><p>I recently upgraded to Fedora 38 and Gnome 44, and one of my installed applications give this...</p>https://andreaskaris.github.io/blog/linux/org-gnome-shell-overrides/ Wed, 03 May 2023 19:38:38 +0000https://andreaskaris.github.io/blog/linux/org-gnome-shell-overrides/DedicatedServiceMonitors in OpenShift Monitoring<h2>DedicatedServiceMonitors in Red Hat OpenShift Monitoring</h2><h3>Introduction</h3><p>By default, OpenShift's Prometheus stack will pull pod CPU and memory usage fr...</p>https://andreaskaris.github.io/blog/openshift/dedicated-service-monitors/ Wed, 03 May 2023 16:41:21 +0000https://andreaskaris.github.io/blog/openshift/dedicated-service-monitors/Using cgroups for CFS bandwidth control<h1>Using cgroups for CFS bandwidth control (CPU quotas)</h1><p>CFS bandwidth control is a feature that allows you to limit the amount of CPU time that a control gro...</p>https://andreaskaris.github.io/blog/linux/cgroups_cpu_quota/ Mon, 27 Mar 2023 11:42:03 +0000https://andreaskaris.github.io/blog/linux/cgroups_cpu_quota/How kubelet monitors filesystems<h1>How kubelet monitors filesystems</h1><p>Kubelet can monitor 2 file systems, nodefs and imagefs. nodefs is auto-discovered by the presence of <code>/var/lib/kubelet</code>....</p>https://andreaskaris.github.io/blog/openshift/kubelet-filesystems/ Wed, 22 Mar 2023 17:18:49 +0000https://andreaskaris.github.io/blog/openshift/kubelet-filesystems/Golang IP address conversion<h2>IP address conversion with golang</h2><h3>Finding an IP network's broadcast IP</h3><p>The following function calculates the broadcast IP for both IPv4 and IPv6 net...</p>https://andreaskaris.github.io/blog/coding/golang-ip-conversion/ Fri, 24 Feb 2023 12:45:32 +0000https://andreaskaris.github.io/blog/coding/golang-ip-conversion/Controller Reconciliation<h2>Reconciliation with the Operator SDK</h2><p>In the Operator SDK, controllers implement the [Reconciler](https://github.com/kubernetes-sigs/controller-runtime/bl...</p>https://andreaskaris.github.io/blog/coding/operator-sdk-reconciliation/ Fri, 24 Feb 2023 12:45:32 +0000https://andreaskaris.github.io/blog/coding/operator-sdk-reconciliation/SCCs and mutating webhooks - a lesson learned<p><img alt="title" src="https://user-images.githubusercontent.com/3291433/220175185-f58bf274-e886-45ef-ab32-92b6cd3f1739.png"></p><h1>SCCs and mutating webhooks - or how to lear...</h1>https://andreaskaris.github.io/blog/openshift/openshift-scc-with-mutating-webhooks/ Mon, 20 Feb 2023 19:22:20 +0000https://andreaskaris.github.io/blog/openshift/openshift-scc-with-mutating-webhooks/
\ No newline at end of file
diff --git a/index.html b/index.html
index d7e460fa..ae58f222 100644
--- a/index.html
+++ b/index.html
@@ -2741,6 +2741,35 @@
Note If you set up your VMs with Virtual Machine Manager, you have to add line <driver name='vhost' queues='4'/>
+via the XML input field.
+
+
Test application
+
The test application is a simple client <-> server application written in Golang. The client opens a connection, writes
+a message which is received by the server, and closes the connection. It does so asynchronously at a given provided
+rate. The application's goal is not to be particularly performant; instead, it shall be easy to understand, have a
+configurable rate and support both IPv4 UDP and TCP.
RSS, short for Receive Side Scaling, is an in-hardware feature that allows a NIC to "send different packets to different
+queues to distribute processing among CPUs. The NIC distributes packets by applying a filter to each packet that assigns
+it to one of a small number of logical flows. Packets for each flow are steered to a separate receive queue, which in
+turn can be processed by separate CPUs." For more details, have a look at the
+Scaling in the Linux Networking Stack.
+
RSS happens in hardware for modern NICs and is enabled by default. Virtio supports multiqueue and RSS when the vhostnet
+driver is used (see our Virtual Machine setup instructions earlier).
+
It's possible to show some information about RSS with ethtool-x<interface>. As far as I know, it's not possible to
+modify RSS configuration for virtio (when I tried, my VM froze). However, for real NICs such as recent Intel or
+Mellanox/Nvidia devices, plenty of configuration options are available to influence how RSS steers packets to queues.
And you can see that interrupts for queues virtio6-input.0 and virtio6-input.1 increment as RSS balances flows
+across the 2 remaining queues. At the same time, queues 2 and 3 are disabled.
That matches what we saw earlier: virtio6-input.0's affinity currently is CPUs 0-3 and in /proc/interrupts we saw that
+it generated interrupts on CPU 0. virtio6-input.1's affinity currently is CPUs 4-7 and in /proc/interrupts we saw that
+it generated interrupts on CPU 5. But wait, irqbalance is switched off, and we even rebooted the system. Why are our
+IRQs distributed between our CPUs and why aren't they allowed on all CPUs? To be confirmed, but the answer may be in
+this commit.
+
Let's force virtio6-input.0 onto CPU 2 and virtio6-input.1 onto CPU 3. The affinity can be any CPU, regardless of our
+tuned configuration, either from the system CPU set or from the isolated CPU set. But I already moved IRQs to isolated
+CPUs during an earlier test, so for the sake of it, I want to move them to system reserved CPUs now :-)
Now that we configured out server to run on CPUs 6 and 7, and our receive queue interrupts on CPUs 2 and 3, let's
+profile our CPUs. Let's use perf script to create flamegraphs: