Minikube Tutorial on Fedora

Install and use minikube on Fedora 44 with kubectl and helm.

What you'll learn

How to install minikube on Fedora 44, run a local Kubernetes cluster with the docker driver and containerd runtime, and deploy applications with both kubectl and helm. Later sections cover Istio service mesh and (optionally) KEDA HTTP-driven autoscaling β€” reference material for using those tools against a local cluster. All container images are UBI-based and do not require Red Hat subscription registration.

Overview

Tutorial outline

What this tutorial covers, in what order, and how the sections build on each other.

2 minutes Read β†’
Section 1

Prerequisites

Hardware, operating system, and tooling you need before starting.

10 minutes Read β†’
Section 2

Installation

Install minikube, kubectl, helm, and the supporting toolbox on Fedora 44.

20 minutes Read β†’
Section 3

Starting minikube

Start a minikube cluster with the docker driver and containerd, publish NodePorts to loopback, verify it's healthy, manage its lifecycle.

15 minutes Read β†’
Section 4

Custom resources, profiles, multi-node

Override CPU/memory per cluster, run multiple clusters side by side with profiles, and run single clusters with multiple nodes.

15 minutes Read β†’
Section 5

Addons and the dashboard

Enable optional cluster features via minikube addons; the metrics-server, ingress, and dashboard addons used by later sections.

10 minutes Read β†’
Section 6

Deploying with kubectl

Deploy a workload with kubectl β€” Pods, Deployments, Services, scaling, rolling updates β€” using a UBI nginx image.

25 minutes Read β†’
Section 7

Services and NodePort

Service types compared, NodePort mechanics, and how minikube publishes NodePorts to host loopback so no helper process is needed.

20 minutes Read β†’
Section 8

Persistent volumes

PersistentVolumes, PersistentVolumeClaims, and StorageClasses β€” giving stateful workloads storage that outlives any Pod.

25 minutes Read β†’
Section 9

Helm

Helm 4 as a Kubernetes package manager; authoring a small chart that deploys the same UBI nginx via templated manifests and a ConfigMap.

25 minutes Read β†’
Section 10

Editor, shell, terminal

Practical tooling for fast feedback when editing manifests, running kubectl, and navigating the cluster.

20 minutes Read β†’
Section 11

Istio

Service mesh on minikube β€” install Istio, sidecar-inject an existing Deployment, deploy Bookinfo, and exercise traffic routing and fault injection.

40 minutes Read β†’
Section 12

KEDA

Event-driven autoscaling on Kubernetes. Two patterns β€” Kafka consumer-lag scaling with Strimzi, and HTTP request scaling with the KEDA HTTP add-on β€” both with scale-to-zero.

45 minutes Read β†’
Section 13

Alternatives to minikube

A brief tour of kind, k3s, and MicroShift. When each is the right choice on a Fedora or RHEL host, and why this tutorial runs minikube on Docker Engine.

5 minutes Read β†’
Section 14

FAQ

Common pain points hit while working through this tutorial, with the diagnostic commands and the fixes. Plus a consolidated cleanup-recipes section at the end.

5 minutes Read β†’
Section 15

Where to go next

Concrete next steps after this tutorial β€” production-like upgrades, deeper resources, and follow-on tutorial ideas worth pursuing.

5 minutes Read β†’
Section 16

Examples

Index of all runnable examples in the tutorial. Each example has its own dedicated page and a runnable demo.sh script in the repo.

varies Read β†’
Section 17

Capstone: a data mesh on minikube

A working data-mesh implementation that exercises everything from Β§1–§12 in one coherent system β€” services across REST, gRPC, GraphQL, and Kafka, deployed via helm to a dedicated minikube profile, with contracts, a catalog, progressive delivery, autoscaling, and full observability.

multi-session Read β†’