-
Notifications
You must be signed in to change notification settings - Fork 51
microk8s configuration notes
Stéphane Bidoul edited this page Jan 3, 2022
·
7 revisions
This page describes a simple microk8s configuration for a single node cluster.
The following microk8s addons can be enabled:
- dns
- ingress
- storage (for a single node cluster local storage)
In /var/snap/microk8s/common/args/kube-apiserver
, change service-cluster-ip-range
to 10.152.0.0/16
to allow deploying up to ~65k builds. Otherwise it is limited to ~255 builds and we have the error Internal error occurred: failed to allocate a serviceIP: range is full
.
The default maximum number of pods per nodes is 110. Be sure to configure RUNBOAT_MAX_STARTED
, RUNBOAT_MAX_INITIALIZING
and the kubelet's --max-pods
option so the maximum number of started and initializing builds is well below the total number of pods allowed in your cluster.
kind: Namespace
apiVersion: v1
metadata:
name: runboat-builds
---
apiVersion: v1
kind: ServiceAccount
metadata:
name: runboat-build-user
namespace: runboat-builds
---
kind: Role
apiVersion: rbac.authorization.k8s.io/v1
metadata:
name: runboat-builds-full-access
namespace: runboat-builds
rules:
- apiGroups: ["", "networking.k8s.io", "apps", "batch"]
resources: ["*"]
verbs: ["*"]
---
kind: RoleBinding
apiVersion: rbac.authorization.k8s.io/v1
metadata:
name: runboat-builds-full-access-runboat-build-user
namespace: runboat-builds
subjects:
- kind: ServiceAccount
name: runboat-build-user
namespace: runboat-builds
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: Role
name: runboat-builds-full-access