Minikube Virtual Machine

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

The following configuration has been validated for CDK deployments on Minikube:

  • Kubernetes version: the current stable version for Minikube. See the Minikube CLI documentation.

  • Memory: 10 GB or more.

  • Disk space: 40 GB or more.

To set up Minikube:

  1. Use the minikube start command to create a Minikube VM. In this example, the Minikube VM is created with a Kubernetes cluster suitable for building custom Docker images for the ForgeRock Identity Platform:

    $ minikube start --memory=10240 --cpus=3 --disk-size=40g --cni=true --vm=true \
     --driver=virtualbox --bootstrapper kubeadm --kubernetes-version=stable
    😄  minikube v1.19.0 on Darwin 11.2.2
    ✨  Using the virtualbox driver based on user configuration
    👍  Starting control plane node minikube in cluster minikube
    🔥  Creating virtualbox VM (CPUs=3, Memory=10240MB, Disk=40960MB) . . .
        > kubeadm.sha256: 65 B / 65 B [--------------------------] 100.00% ? p/s 0s
        > kubelet.sha256: 65 B / 65 B [--------------------------] 100.00% ? p/s 0s
        > kubectl.sha256: 65 B / 65 B [--------------------------] 100.00% ? p/s 0s
        > kubeadm: 37.52 MiB / 37.52 MiB [------------] 100.00% 5.92 MiB p/s 6.533s
        > kubectl: 41.48 MiB / 41.48 MiB [------------] 100.00% 3.50 MiB p/s 12.05s
        > kubelet: 106.46 MiB / 106.46 MiB [----------] 100.00% 6.06 MiB p/s 17.77s
    
        ▪ Generating certificates and keys …​
        ▪ Booting up control plane …​
        ▪ Configuring RBAC rules …​
    🔗  Configuring CNI (Container Networking Interface) . . .
    🔎  Verifying Kubernetes components. . .
        ▪ Using image gcr.io/k8s-minikube/storage-provisioner:v5
    🌟  Enabled addons: default-storageclass, storage-provisioner
    
    🏄  Done! kubectl is now configured to use "minikube" cluster and "default"
    namespace by default
  2. Run the following command to enable the ingress controller built into Minikube:

    $ minikube addons enable ingress
        ▪ Using image k8s.gcr.io/ingress-nginx/controller:v0.44.0
        ▪ Using image docker.io/jettech/kube-webhook-certgen:v1.5.1
        ▪ Using image docker.io/jettech/kube-webhook-certgen:v1.5.1
    🔎  Verifying ingress addon. . .
    🌟  The 'ingress' addon is enabled

Next Step