Make sure to set --cloud-provider=external
in Kubelet arguments. If not installed yet, use a launch configuration like this:
echo '
# Configure cluster CIDR | |
IPv4_CLUSTER_CIDR="10.1.0.0/16" | |
IPv6_CLUSTER_CIDR="" | |
# Require cgroup2 to be mounted | |
cgroup_hostroot="$(mount -t cgroup2 | head -1 | cut -d' ' -f3)" | |
if [ -z "$cgroup_hostroot" ]; then | |
echo "cgroup2 mount not found, fail" | |
exit 1 | |
fi |
Configure custom device classes (e.g. nvme disks, high io disks, limiting hosts)
By default, ceph uses ssd and hdd disk classes
ceph osd df
ID CLASS WEIGHT REWEIGHT SIZE RAW USE DATA OMAP META AVAIL %USE VAR PGS STATUS
0 hdd 0.01459 1.00000 15 GiB 6.2 GiB 1.2 GiB 1 KiB 513 MiB 8.8 GiB 41.44 1.48 44 up
secret.yaml
with openstack credentials, use template from this gist. Required actions:
ca.crt
key.ignore-volume-az
line.values.yaml
using the template from this gist.
availability
to the name of the cinder AZ.microk8s helm repo add openstack https://kubernetes.github.io/cloud-provider-openstack
apiVersion: kubevirt.io/v1 | |
kind: KubeVirt | |
metadata: | |
name: kubevirt | |
namespace: kubevirt | |
spec: | |
certificateRotateStrategy: {} | |
configuration: | |
developerConfiguration: {} | |
customizeComponents: |
apiVersion: cluster.x-k8s.io/v1beta1 | |
kind: Cluster | |
metadata: | |
name: test | |
namespace: default | |
spec: | |
controlPlaneRef: | |
apiVersion: controlplane.cluster.x-k8s.io/v1beta1 | |
kind: MicroK8sControlPlane | |
name: test-control-plane |
#!/bin/bash | |
# The script below documents the steps needed to install the NVIDIA GPU operator on MicroK8s 1.21 (for Ubuntu OS) | |
# 1. install microk8s and enable required addons | |
sudo snap install microk8s --classic --channel 1.21 | |
microk8s enable dns | |
microk8s enable helm3 | |
# 2. install nvidia drivers |