<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>K8squest on [BLOG].rdiez.es</title>
        <link>https://blog.rdiez.es/en/tags/k8squest/</link>
        <description>Recent content in K8squest on [BLOG].rdiez.es</description>
        <generator>Hugo -- gohugo.io</generator>
        <language>en</language>
        <lastBuildDate>Tue, 14 Apr 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://blog.rdiez.es/en/tags/k8squest/index.xml" rel="self" type="application/rss+xml" /><item>
        <title>Install K8sQuest on Linux with Podman Rootless: Cgroups Solution</title>
        <link>https://blog.rdiez.es/en/p/install-k8squest-on-linux-with-podman-rootless-cgroups-solution/</link>
        <pubDate>Tue, 14 Apr 2026 00:00:00 +0000</pubDate>
        
        <guid>https://blog.rdiez.es/en/p/install-k8squest-on-linux-with-podman-rootless-cgroups-solution/</guid>
        <description>&lt;img src="https://blog.rdiez.es/p/instalar-k8squest-en-linux-con-podman-rootless-soluci%C3%B3n-a-cgroups/k8squest-podman.png" alt="Featured image of post Install K8sQuest on Linux with Podman Rootless: Cgroups Solution" /&gt;&lt;p&gt;Recently I came across &lt;strong&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/Manoj-engineer/k8squest&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;K8sQuest&lt;/a&gt;&lt;/strong&gt;. It is a gamified learning platform where we get familiar with &lt;strong&gt;Kubernetes&lt;/strong&gt; through different missions, where something will break&amp;hellip; and we will have to diagnose and fix it. It runs completely locally, using &lt;strong&gt;Kind&lt;/strong&gt; (Kubernetes in Docker/Podman) to spin up under the hood the cluster we will interact with.&lt;/p&gt;
&lt;p&gt;When running the installer, it tries to install the cluster with Kind, but since I use &lt;strong&gt;Podman in rootless mode&lt;/strong&gt; (without root privileges) on my machine, I hit a wall in the form of an error:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-sh&#34; data-lang=&#34;sh&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;🔧 Creating Kubernetes cluster...
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;enabling experimental podman provider
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;ERROR: failed to create cluster: running kind with rootless provider requires setting systemd property &lt;span class=&#34;s2&#34;&gt;&amp;#34;Delegate=yes&amp;#34;&lt;/span&gt;, see &lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;https://kind.sigs.k8s.io/docs/user/rootless/&lt;span class=&#34;o&#34;&gt;](&lt;/span&gt;https://kind.sigs.k8s.io/docs/user/rootless/&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;In this post we will see why this happens, how to fix it, and some brief guidance on how to start playing with K8sQuest in our Linux environment.&lt;/p&gt;
&lt;h2 id=&#34;the-problem-systemd-and-cgroups-delegation&#34;&gt;The problem: Systemd and Cgroups delegation
&lt;/h2&gt;&lt;p&gt;When we use &lt;strong&gt;Kind&lt;/strong&gt; with &lt;strong&gt;Podman&lt;/strong&gt; rootless, the system tries to create containers that act as &amp;ldquo;nodes&amp;rdquo; of our Kubernetes cluster. These nodes need to manage their own CPU and memory limits using &lt;strong&gt;cgroups v2&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;By default, and for security reasons, systemd blocks a normal user from delegating these controls. Although the official documentation recommends modifying systemd configuration files or using &lt;code&gt;systemctl --user&lt;/code&gt;, these solutions often fail silently or are simply not the easiest ones.&lt;/p&gt;
&lt;h2 id=&#34;the-solution&#34;&gt;The solution
&lt;/h2&gt;&lt;p&gt;Instead of fighting with global session configuration or restarting services randomly, the most effective way that worked for me is to inject the permission directly at the moment of running the installer.&lt;/p&gt;
&lt;p&gt;To do this, we wrap our installation script with &lt;strong&gt;systemd-run&lt;/strong&gt;. This tool allows us to launch a process by creating a &amp;ldquo;scope&amp;rdquo; (an ephemeral environment) where we pass exactly the property it needs: &lt;code&gt;Delegate=yes&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;We move to the directory of the cloned K8sQuest repository and run the installation like this:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;systemd-run --scope --user -p &lt;span class=&#34;s2&#34;&gt;&amp;#34;Delegate=yes&amp;#34;&lt;/span&gt; ./install.sh
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;When executing it, you will see a brief message indicating that it is running as a systemd unit (e.g. &lt;code&gt;Running as unit: run-XXXX.scope&lt;/code&gt;), and then the installation will continue without issues until completion, creating the cluster correctly and all the required K8sQuest dependencies.&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt; 1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 8
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 9
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;10
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;11
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;12
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;13
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;14
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;15
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;16
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;17
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;18
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;19
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;20
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;21
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;22
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;23
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;24
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;25
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;26
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;27
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;28
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;29
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;30
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;31
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;32
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;33
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;34
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;35
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;36
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;37
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;38
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;39
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;40
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;41
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;42
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;43
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;44
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;45
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;46
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-sh&#34; data-lang=&#34;sh&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;❯ systemd-run --scope --user -p &lt;span class=&#34;s2&#34;&gt;&amp;#34;Delegate=yes&amp;#34;&lt;/span&gt; ./install.sh
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Running as unit: run-r2e1b14ae02bf40a7bc0041218fe81c35.scope&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt; invocation ID: 40e8bc6093734d0da4ec058c445ef224
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;🎮 K8sQuest &lt;span class=&#34;nv&#34;&gt;Installation&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;========================&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;✅ Python 3.14 detected
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;✅ Prerequisites OK
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;📦 Installing Python dependencies...
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;notice&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt; A new release of pip is available: 26.0 -&amp;gt; 26.0.1
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;notice&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt; To update, run: pip install --upgrade pip
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;✅ Python packages installed
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;enabling experimental podman provider
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;No kind clusters found.
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;🔧 Creating Kubernetes cluster...
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;enabling experimental podman provider
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Creating cluster &lt;span class=&#34;s2&#34;&gt;&amp;#34;k8squest&amp;#34;&lt;/span&gt; ...
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt; ✓ Ensuring node image &lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;kindest/node:v1.35.0&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt; 🖼 
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt; ✓ Preparing nodes 📦  
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt; ✓ Writing configuration 📜 
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt; ✓ Starting control-plane 🕹️ 
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt; ✓ Installing CNI 🔌 
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt; ✓ Installing StorageClass 💾 
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Set kubectl context to &lt;span class=&#34;s2&#34;&gt;&amp;#34;kind-k8squest&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;You can now use your cluster with:
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;kubectl cluster-info --context kind-k8squest
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Have a nice day! 👋
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Switched to context &lt;span class=&#34;s2&#34;&gt;&amp;#34;kind-k8squest&amp;#34;&lt;/span&gt;.
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;🏗️  Setting up k8squest namespace...
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;namespace/k8squest created
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;🛡️  Configuring safety guards &lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;RBAC&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt;...
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;serviceaccount/k8squest-player created
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;role.rbac.authorization.k8s.io/k8squest-player-role created
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;rolebinding.rbac.authorization.k8s.io/k8squest-player-binding created
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;clusterrole.rbac.authorization.k8s.io/k8squest-viewer created
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;clusterrolebinding.rbac.authorization.k8s.io/k8squest-viewer-binding created
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;✅ Safety guards configured
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;🚀 Setup Complete!
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;To start playing, use the shortcut:
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  ./play.sh
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h2 id=&#34;getting-started-with-k8squest&#34;&gt;Getting started with K8sQuest
&lt;/h2&gt;&lt;p&gt;Once the installer has finished, we already have our cluster up and running in Podman completely transparently and without compromising the security of our system by using the root account.&lt;/p&gt;
&lt;p&gt;To start working with it, the usual steps are:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Verify the cluster&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;We can make sure the Kind cluster has been created correctly by checking the nodes (remember that if you use Podman, you might need to export the KUBECONFIG variable if the installer indicated it):&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;kubectl get nodes
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;You should see the K8sQuest node(s) in Ready state.&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;❯ kubectl get nodes
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Alias tip: k get nodes
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;NAME                     STATUS   ROLES           AGE     VERSION
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;k8squest-control-plane   Ready    control-plane   5m40s   v1.35.0
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Start the game&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;To start the game, we just need to open a terminal in the directory with the K8sQuest files and run:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;./play.sh
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;&lt;img src=&#34;https://blog.rdiez.es/p/instalar-k8squest-en-linux-con-podman-rootless-soluci%C3%B3n-a-cgroups/play_sh.png&#34;
	width=&#34;1194&#34;
	height=&#34;608&#34;
	srcset=&#34;https://blog.rdiez.es/p/instalar-k8squest-en-linux-con-podman-rootless-soluci%C3%B3n-a-cgroups/play_sh_hu8666686849453324325.png 480w, https://blog.rdiez.es/p/instalar-k8squest-en-linux-con-podman-rootless-soluci%C3%B3n-a-cgroups/play_sh_hu2514867941246471631.png 1024w&#34;
	loading=&#34;lazy&#34;
	
		alt=&#34;play_sh&#34;
	
	
		class=&#34;gallery-image&#34; 
		data-flex-grow=&#34;196&#34;
		data-flex-basis=&#34;471px&#34;
	
&gt;&lt;/p&gt;
&lt;p&gt;After accepting, our first mission will begin: &amp;ldquo;Fix the Crashing Pod&amp;rdquo;&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://blog.rdiez.es/p/instalar-k8squest-en-linux-con-podman-rootless-soluci%C3%B3n-a-cgroups/1_mission.png&#34;
	width=&#34;1193&#34;
	height=&#34;459&#34;
	srcset=&#34;https://blog.rdiez.es/p/instalar-k8squest-en-linux-con-podman-rootless-soluci%C3%B3n-a-cgroups/1_mission_hu14706458559407845789.png 480w, https://blog.rdiez.es/p/instalar-k8squest-en-linux-con-podman-rootless-soluci%C3%B3n-a-cgroups/1_mission_hu1999919504474125379.png 1024w&#34;
	loading=&#34;lazy&#34;
	
		alt=&#34;Primera mision&#34;
	
	
		class=&#34;gallery-image&#34; 
		data-flex-grow=&#34;259&#34;
		data-flex-basis=&#34;623px&#34;
	
&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://blog.rdiez.es/p/instalar-k8squest-en-linux-con-podman-rootless-soluci%C3%B3n-a-cgroups/2_mission.png&#34;
	width=&#34;1613&#34;
	height=&#34;865&#34;
	srcset=&#34;https://blog.rdiez.es/p/instalar-k8squest-en-linux-con-podman-rootless-soluci%C3%B3n-a-cgroups/2_mission_hu3282272066466982066.png 480w, https://blog.rdiez.es/p/instalar-k8squest-en-linux-con-podman-rootless-soluci%C3%B3n-a-cgroups/2_mission_hu11759419106932234744.png 1024w&#34;
	loading=&#34;lazy&#34;
	
		alt=&#34;Primera mision descripcion&#34;
	
	
		class=&#34;gallery-image&#34; 
		data-flex-grow=&#34;186&#34;
		data-flex-basis=&#34;447px&#34;
	
&gt;&lt;/p&gt;
&lt;p&gt;It gives a series of very important instructions to be able to play:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;We must open a new terminal window/tab where we will &amp;ldquo;play&amp;rdquo;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;We will use the &lt;code&gt;kubectl&lt;/code&gt; command to apply the solutions&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;We will return to this tab to verify the solution.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Run K8sQuest&lt;/strong&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Since the entire cluster is contained within our Podman user environment, it can be managed comfortably. If at any point we need to stop the cluster to free up system resources, it can be done using the Kind CLI indicating the experimental provider:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;KIND_EXPERIMENTAL_PROVIDER&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;podman kind delete cluster --name k8squest
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;With all this, we now have a functional, lightweight, and secure Kubernetes environment on our Linux to keep tinkering and learning with K8sQuest. See you in the next post!&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://blog.rdiez.es/p/instalar-k8squest-en-linux-con-podman-rootless-soluci%C3%B3n-a-cgroups/victory.png&#34;
	width=&#34;1400&#34;
	height=&#34;296&#34;
	srcset=&#34;https://blog.rdiez.es/p/instalar-k8squest-en-linux-con-podman-rootless-soluci%C3%B3n-a-cgroups/victory_hu10471903723582569948.png 480w, https://blog.rdiez.es/p/instalar-k8squest-en-linux-con-podman-rootless-soluci%C3%B3n-a-cgroups/victory_hu9723349772883599173.png 1024w&#34;
	loading=&#34;lazy&#34;
	
		alt=&#34;Victory&#34;
	
	
		class=&#34;gallery-image&#34; 
		data-flex-grow=&#34;472&#34;
		data-flex-basis=&#34;1135px&#34;
	
&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;&lt;strong&gt;PS&lt;/strong&gt;: The banner image of this post has been generated with AI.&lt;/p&gt;
</description>
        </item>
        
    </channel>
</rss>
