<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Benoit Schipper</title>
    <description>The latest articles on DEV Community by Benoit Schipper (@benoitschipper).</description>
    <link>https://dev.to/benoitschipper</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4206824%2F7869c69c-2399-48d0-a054-83400e61e3df.jpeg</url>
      <title>DEV Community: Benoit Schipper</title>
      <link>https://dev.to/benoitschipper</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/benoitschipper"/>
    <language>en</language>
    <item>
      <title>First post on dev.to, enjoying the platform as it is very Markdown friendly &lt;3</title>
      <dc:creator>Benoit Schipper</dc:creator>
      <pubDate>Mon, 26 Oct 2026 07:06:06 +0000</pubDate>
      <link>https://dev.to/benoitschipper/first-post-on-devto-enjoying-the-platform-as-it-is-very-markdown-friendly-3-491h</link>
      <guid>https://dev.to/benoitschipper/first-post-on-devto-enjoying-the-platform-as-it-is-very-markdown-friendly-3-491h</guid>
      <description>&lt;div class="ltag__link--embedded"&gt;
  &lt;div class="crayons-story "&gt;
  &lt;a href="https://dev.to/benoitschipper/kubesolo-at-the-edge-very-lightweight-kubernetes-with-built-in-observability-47ei" class="crayons-story__hidden-navigation-link"&gt;KubeSolo at the Edge: Very Lightweight Kubernetes with Built-In Observability&lt;/a&gt;


  &lt;div class="crayons-story__body crayons-story__body-full_post"&gt;
    &lt;div class="crayons-story__top"&gt;
      &lt;div class="crayons-story__meta"&gt;
        &lt;div class="crayons-story__author-pic"&gt;

          &lt;a href="/benoitschipper" class="crayons-avatar  crayons-avatar--l  "&gt;
            &lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4206824%2F7869c69c-2399-48d0-a054-83400e61e3df.jpeg" alt="benoitschipper profile" class="crayons-avatar__image"&gt;
          &lt;/a&gt;
        &lt;/div&gt;
        &lt;div&gt;
          &lt;div&gt;
            &lt;a href="/benoitschipper" class="crayons-story__secondary fw-medium m:hidden"&gt;
              Benoit Schipper
            &lt;/a&gt;
            &lt;div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"&gt;
              
                Benoit Schipper
                
                
              
              &lt;div id="story-author-preview-content-4916134" class="profile-preview-card__content crayons-dropdown branded-7 p-4 pt-0"&gt;
                &lt;div class="gap-4 grid"&gt;
                  &lt;div class="-mt-4"&gt;
                    &lt;a href="/benoitschipper" class="flex"&gt;
                      &lt;span class="crayons-avatar crayons-avatar--xl mr-2 shrink-0"&gt;
                        &lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4206824%2F7869c69c-2399-48d0-a054-83400e61e3df.jpeg" class="crayons-avatar__image" alt=""&gt;
                      &lt;/span&gt;
                      &lt;span class="crayons-link crayons-subtitle-2 mt-5"&gt;Benoit Schipper&lt;/span&gt;
                    &lt;/a&gt;
                  &lt;/div&gt;
                  &lt;div class="print-hidden"&gt;
                    
                      Follow
                    
                  &lt;/div&gt;
                  &lt;div class="author-preview-metadata-container"&gt;&lt;/div&gt;
                &lt;/div&gt;
              &lt;/div&gt;
            &lt;/div&gt;

          &lt;/div&gt;
          &lt;a href="https://dev.to/benoitschipper/kubesolo-at-the-edge-very-lightweight-kubernetes-with-built-in-observability-47ei" class="crayons-story__tertiary fs-xs"&gt;&lt;time&gt;Oct 25&lt;/time&gt;&lt;span class="time-ago-indicator-initial-placeholder"&gt;&lt;/span&gt;&lt;/a&gt;
        &lt;/div&gt;
      &lt;/div&gt;

    &lt;/div&gt;

    &lt;div class="crayons-story__indention"&gt;
      &lt;h2 class="crayons-story__title crayons-story__title-full_post"&gt;
        &lt;a href="https://dev.to/benoitschipper/kubesolo-at-the-edge-very-lightweight-kubernetes-with-built-in-observability-47ei" id="article-link-4916134"&gt;
          KubeSolo at the Edge: Very Lightweight Kubernetes with Built-In Observability
        &lt;/a&gt;
      &lt;/h2&gt;
        &lt;div class="crayons-story__tags"&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/kubesolo"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;kubesolo&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/edge"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;edge&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/kubernetes"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;kubernetes&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/observabillity"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;observabillity&lt;/a&gt;
        &lt;/div&gt;
      &lt;div class="crayons-story__bottom"&gt;
        &lt;div class="crayons-story__details"&gt;
          &lt;a href="https://dev.to/benoitschipper/kubesolo-at-the-edge-very-lightweight-kubernetes-with-built-in-observability-47ei" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left"&gt;
            &lt;div class="multiple_reactions_aggregate"&gt;
              &lt;span class="multiple_reactions_icons_container"&gt;
                  &lt;span class="crayons_icon_container"&gt;
                    &lt;img src="https://assets.dev.to/assets/raised-hands-74b2099fd66a39f2d7eed9305ee0f4553df0eb7b4f11b01b6b1b499973048fe5.svg" width="18" height="18"&gt;
                  &lt;/span&gt;
              &lt;/span&gt;
              &lt;span class="aggregate_reactions_counter"&gt;1&lt;span class="hidden s:inline"&gt;&amp;nbsp;reaction&lt;/span&gt;&lt;/span&gt;
            &lt;/div&gt;
          &lt;/a&gt;
            &lt;a href="https://dev.to/benoitschipper/kubesolo-at-the-edge-very-lightweight-kubernetes-with-built-in-observability-47ei#comments" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left flex items-center"&gt;
              

              &lt;span class="hidden s:inline"&gt;Add&amp;nbsp;Comment&lt;/span&gt;
            &lt;/a&gt;
        &lt;/div&gt;
        &lt;div class="crayons-story__save"&gt;
          &lt;small class="crayons-story__tertiary fs-xs mr-2"&gt;
            5 min read
          &lt;/small&gt;
        &lt;/div&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;


</description>
      <category>devops</category>
      <category>kubernetes</category>
      <category>opensource</category>
    </item>
    <item>
      <title>KubeSolo at the Edge: Very Lightweight Kubernetes with Built-In Observability</title>
      <dc:creator>Benoit Schipper</dc:creator>
      <pubDate>Sun, 25 Oct 2026 15:32:48 +0000</pubDate>
      <link>https://dev.to/benoitschipper/kubesolo-at-the-edge-very-lightweight-kubernetes-with-built-in-observability-47ei</link>
      <guid>https://dev.to/benoitschipper/kubesolo-at-the-edge-very-lightweight-kubernetes-with-built-in-observability-47ei</guid>
      <description>&lt;h2&gt;
  
  
  KubeSolo at the Edge: Very Lightweight Kubernetes with Built-In Observability
&lt;/h2&gt;

&lt;p&gt;In my engineering journeys I frequently encounter resource-constrained infrastructure environments. One of our recent edge projects provided bare-metal hardware with barely 2 GB of RAM. In such constrained settings, conventional Kubernetes distributions consume the majority of available system capacity before user workloads even launch. Yet, I wanted to see if it was possible to have the identical Kubernetes experience on our edge devices as we already maintain across our central management clusters. Basically, kubectl everywhere! Adopting &lt;a href="https://kubesolo.io/" rel="noopener noreferrer"&gt;KubeSolo&lt;/a&gt; resolved this challenge directly, even within these constrained environments.&lt;/p&gt;

&lt;h3&gt;
  
  
  Engineering Kubernetes for Extreme Resource Constraints
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://kubesolo.io/" rel="noopener noreferrer"&gt;KubeSolo&lt;/a&gt; delivers a complete, single-node Kubernetes distribution packaged within a solitary binary. Maintained under the Portainer ecosystem and hosted on the &lt;a href="https://github.com/portainer/kubesolo" rel="noopener noreferrer"&gt;KubeSolo GitHub repository&lt;/a&gt;, the project eliminates clustering overhead entirely. The architecture replaces etcd with an embedded SQLite database using Kine and a lightweight NodeSetter webhook manages pod placement, which removes the need for a standard kube-scheduler. Pretty nifty!&lt;/p&gt;

&lt;p&gt;The API server, controller manager, kubelet, and containerd runtime execute together within a single process. Consequently, the entire baseline control plane operates inside an idle memory footprint well under 200 MB of RAM, typically hovering around 180 MB. Standard manifests, Helm charts, and Custom Resource Definitions function without modification, allowing teams to preserve their established deployment practices. It also made my edge setup OS agnostic, making my design way more portable as it could run on any system that could run KubeSolo. Exactly what I was looking for.&lt;/p&gt;

&lt;p&gt;I have been in direct contact with the developers and friendly Portainer staff early on and many improvements were made to make KubeSolo even more flexible and fit for even more scenarios. Kudos to those who I have been in contact with and thank you for listening to your community and end-users. Much appreciated! And thank you for shipping me a KubeSolo t-shirt, I wear it proudly 😎.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F5v13cvl01ey6u4avbrog.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F5v13cvl01ey6u4avbrog.jpg" alt="Thinking about KubeSolo at Disneyland Paris" width="800" height="1067"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Driving Consistency Across Edge and CI/CD
&lt;/h3&gt;

&lt;p&gt;Edge deployments represent only part of the operational value. I also actively integrate KubeSolo into our continuous integration and continuous deployment pipelines. Automated test runners require rapid, disposable cluster provisioning without the overhead of heavy virtualization or multi-node coordination. &lt;/p&gt;

&lt;p&gt;KubeSolo initializes in seconds, executes integration tests against real Kubernetes APIs, and terminates cleanly. Engineers benefit from identical deployment behaviors across development workstations, automated testing pipelines, and remote production edge gateways. All in a small form factor binary. Pretty handy if I might say so.&lt;/p&gt;

&lt;h3&gt;
  
  
  Native Observability in KubeSolo v1.2.0
&lt;/h3&gt;

&lt;p&gt;Operational transparency remains essential when running production workloads at the edge. The release of KubeSolo v1.2.0 introduces native Prometheus metrics endpoints for both the API server and the kubelet. Operators can inspect runtime health, API request latencies, and cAdvisor container telemetry directly through standard Prometheus scrape endpoints on port 6443. This enhancement combines the ultra-lightweight runtime with a level of observability integration that the community expects these days.&lt;/p&gt;

&lt;h3&gt;
  
  
  Hands-On Demo: Podman, Grafana Alloy, and Pre-Built Dashboards
&lt;/h3&gt;

&lt;p&gt;To help engineering teams evaluate this architecture, I assembled a complete yet simple demonstration environment. The demo packages KubeSolo inside an isolated Podman container on macOS or Linux (Have not tested this on Windows, mileage may vary 😉). The container bundles &lt;code&gt;kubectl&lt;/code&gt; directly, eliminating the need to install host-level cluster management binaries. Users can launch the container with a single command, verify cluster readiness within twenty seconds, and immediately deploy containerized applications such as an MQTT broker. KubeSolo's own control plane keeps idling well under 200 MB of RAM (about 180 MB) inside this container; layering CoreDNS, the local-path-provisioner, Grafana Alloy, and the Mosquitto MQTT broker on top adds roughly 140 MB more, bringing the full demo to around 320 MB. You can find the full demo, including the Containerfile, Grafana Alloy manifests, and dashboards, in the &lt;a href="https://opencommit.eu/benoit/kubesolo-blog/src/branch/main/kubesolo-demo" rel="noopener noreferrer"&gt;&lt;code&gt;kubesolo-demo&lt;/code&gt;&lt;/a&gt; directory of this blog's repository.&lt;/p&gt;

&lt;p&gt;Collecting telemetry from this deployment requires minimal configuration. If you'd like to check it out, the demo deploys Grafana Alloy as a native workload inside the KubeSolo cluster itself. Authenticating through a standard in-cluster ServiceAccount, Alloy scrapes both the API server and the kubelet proxy endpoints. It then forwards the time-series data via Prometheus remote-write protocols to Grafana Cloud (what I have tested it with) or to an endpoint on your privately managed Grafana stack or Prometheus. Grafana offers a &lt;a href="https://grafana.com/products/cloud/free-tier/" rel="noopener noreferrer"&gt;free cloud tier&lt;/a&gt; that you can also use. With &lt;a href="https://grafana.com/docs/alloy/latest/" rel="noopener noreferrer"&gt;Grafana Alloy&lt;/a&gt; you have many options, check out the docs and see how you can connect Grafana Alloy with your locally managed setup.&lt;/p&gt;

&lt;p&gt;To complete the implementation, the repository provides pre-built Grafana dashboards. These dashboards import directly into Grafana Cloud or self-hosted environments. They render immediate operational visibility into API server latencies, controller workqueues, node resource consumption, and container workloads. Both the classic and the V2 API versions of the dashboards are present within the repo. V2 API gives you the nicest looking dashboard as it uses the latest and greatest Grafana dashboard options, you should be able to either sync your dashboard from within Grafana with any git repo or apply the dashboard directly via the Grafana API endpoint.&lt;/p&gt;

&lt;p&gt;Speaking of giving back, I actually ended up donating this very Grafana dashboard to the KubeSolo project, and the Portainer team was kind enough to merge it in. So rather than copy-pasting JSON from a blog post, you can now grab the dashboard straight from the official &lt;a href="https://github.com/portainer/kubesolo/tree/develop/examples/grafana" rel="noopener noreferrer"&gt;KubeSolo examples folder&lt;/a&gt; on GitHub, which feels like a nicer, more sustainable home for it. Always a good feeling when open source gives back more than you put in.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fyg62u75acsohrlhht789.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fyg62u75acsohrlhht789.png" alt="Screenshot Grafana Dashboard" width="799" height="418"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Conclusion
&lt;/h3&gt;

&lt;p&gt;KubeSolo demonstrates that resource-constrained edge computing does not require sacrificing standard Kubernetes control planes. By minimizing its own control-plane footprint to well under 200 MB while supporting native APIs and Prometheus metrics, it delivers practical utility for both edge devices and automated CI/CD pipelines, even once real workloads and full observability tooling are layered on top. Explore the official project documentation at &lt;a href="https://kubesolo.io/" rel="noopener noreferrer"&gt;KubeSolo&lt;/a&gt; and inspect the source code on the &lt;a href="https://github.com/portainer/kubesolo" rel="noopener noreferrer"&gt;KubeSolo GitHub repository&lt;/a&gt; to start testing today.&lt;/p&gt;

&lt;p&gt;If you want to know more about how I use KubeSolo for my edge project, please feel free to contact me via &lt;a href="https://opencommit.eu/benoit" rel="noopener noreferrer"&gt;OpenCommit&lt;/a&gt;, &lt;a href="https://www.linkedin.com/in/benoitschipper/" rel="noopener noreferrer"&gt;LinkedIn&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>kubesolo</category>
      <category>edge</category>
      <category>kubernetes</category>
      <category>observabillity</category>
    </item>
  </channel>
</rss>
