ForgeOps

Minikube cluster

Minikube software runs a single-node Kubernetes cluster in a virtual machine.

The cluster/minikube/cdk-minikube start command creates a Minikube cluster with a configuration that’s adequate for a CDK deployment.

  1. Determine which virtual machine driver you want Minikube to use. By default, the cdk-minikube command, which you run in the next step, starts Minikube with:

    • The Hyperkit driver on Intel x86-based macOS systems

    • The Docker driver on ARM-based macOS systems[1]

    • The Docker driver on Linux systems

    The default driver option is fine for most users. For more information about Minikube virtual machine drivers, refer to Drivers in the Minikube documentation.

    If you want to use a driver other than the default driver, specify the --driver option when you run the cdk-minikube command in the next step.

  2. Set up Minikube:

    $ cd /path/to/forgeops/cluster/minikube
    $ ./cdk-minikube start
    Running: "minikube start --cpus=3 --memory=9g --disk-size=40g --cni=true
    --kubernetes-version=stable --addons=ingress,volumesnapshots,metrics-server --driver=hyperkit"
    
    😄  minikube v1.32.0 on Darwin 13.6
    ✨  Using the hyperkit driver based on user configuration
    💿  Downloading VM boot image …​
        > minikube-v1.32.1-amd64.iso…​.:  65 B / 65 B [---------] 100.00% ? p/s 0s
        > minikube-v1.32.1-amd64.iso:  292.96 MiB / 292.96 MiB  100.00% 6.66 MiB p/
    👍  Starting control plane node minikube in cluster minikube
    💾  Downloading Kubernetes v1.28.3 preload …​
        > preloaded-images-k8s-v18-v1…​:  403.35 MiB / 403.35 MiB  100.00% 8.60 Mi
    🔥  Creating hyperkit VM (CPUs=3, Memory=9216MB, Disk=40960MB) …​
    🐳  Preparing Kubernetes v1.28.3 on Docker 24.0.7 …​
        ▪ Generating certificates and keys …​
        ▪ Booting up control plane …​
        ▪ Configuring RBAC rules …​
    🔗  Configuring CNI (Container Networking Interface) …​
    🔎  Verifying Kubernetes components…​
        ▪ Using image registry.k8s.io/ingress-nginx/kube-webhook-certgen:v20231011-8b53cabe0
        ▪ Using image registry.k8s.io/sig-storage/snapshot-controller:v6.1.0
        ▪ Using image registry.k8s.io/ingress-nginx/controller:v1.9.4
        ▪ Using image registry.k8s.io/ingress-nginx/kube-webhook-certgen:v20231011-8b53cabe0
        ▪ Using image registry.k8s.io/metrics-server/metrics-server:v0.6.4
        ▪ Using image gcr.io/k8s-minikube/storage-provisioner:v5
    🔎  Verifying ingress addon…​
    🌟  Enabled addons: storage-provisioner, metrics-server, default-storageclass, volumesnapshots, ingress
    🏄  Done! kubectl is now configured to use "minikube" cluster and "default" namespace by default
  3. Verify that your Minikube cluster is using the expected driver. For example:

    Running: "minikube start --cpus=3 --memory=9g --disk-size=40g --cni=true
    --kubernetes-version=stable --addons=ingress,volumesnapshots --driver=hyperkit"
    😄  minikube v1.32.0 on Darwin 13.6
    ✨  Using the hyperkit driver based on user configuration
    ...
    If you are running Minikube on an ARM-based macOS system and the cdk-minikube output indicates that you are using the qemu driver, you probably have not started the virtual machine that runs your Docker engine.

Next step


1. For example, systems based on M1 or M2 chipsets.
Copyright © 2010-2024 ForgeRock, all rights reserved.