This chart starts a Daemonset to disable transparent huge pages (THP) on the Linux hosts.
helm install [name] nuodb/transparent-hugepage [--generate-name] [--set parameter] [--values myvalues.yaml]
Please visit the NuoDB Helm Chart main page for software version prerequisites.
All configurable parameters for each top-level scope are detailed below, organized by scope.
The purpose of this section is to specify global settings.
The following tables list the configurable parameters for the global
option:
Parameter | Description | Default |
---|---|---|
global.imageRegistry |
Global Docker image registry | nil |
global.imagePullSecrets |
Global Docker registry secret names as an array | [] (does not add image pull secrets to deployed pods) |
The purpose of this section is to specify the cloud provider, and specify the availability zones where a solution is deployed.
The following tables list the configurable parameters for the cloud
option:
Parameter | Description | Default |
---|---|---|
provider |
Cloud provider; permissible values include: azure , amazon , or google |
nil |
zones |
List of availability zones to deploy to | [] |
For example, for the Google Cloud:
cloud:
provider: google
zones:
- us-central1-a
- us-central1-b
- us-central1-c
The purpose of this section is to specify the Busybox image parameters.
Busybox is used as the daemonset image that disables THP.
The following tables list the configurable parameters for the busybox
option:
Parameter | Description | Default |
---|---|---|
image.registry |
busybox container registry | docker.io |
image.repository |
busybox container image name | busybox |
image.tag |
busybox container image tag | latest |
image.pullPolicy |
busybox container pull policy | IfNotPresent |
image.pullSecrets |
Specify docker-registry secret names as an array | [] (does not add image pull secrets to deployed pods) |
The registry
option can be used to connect to private image repositories, such as Artifactory.
The registry
, repository
, and tag
values are combined to form the image
declaration in the Helm charts.
For example, when using GlusterFS storage class, you would supply the following parameter:
...
--set busybox.image.registry=acme-dockerv2-virtual.jfrog.io
...
For example:
busybox:
image:
registry: docker.io
repository: busybox
tag: latest
pullPolicy: IfNotPresent
The following tables list the configurable parameters of the transparent-hugepages chart and their default values.
Parameter | Description | Default |
---|---|---|
nameOverride |
Overrides only the release name portion of the application name | "" |
fullNameOverride |
Overrides the full application name | "" |
affinity |
Container affinity | {} |
nodeSelector |
Container nodeSelector | {} |
tolerations |
Container tolerations | [] |
For example:
thp:
affinity: |
nodeAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
nodeSelectorTerms:
- matchExpressions:
- key: topology.kubernetes.io/zone
operator: In
values:
{{- range .Values.cloud.zones }}
- {{ . }}
{{- end }}
Verify the Helm chart:
helm install thp nuodb/transparent-hugepage --debug --dry-run
Run the Helm Chart:
helm install thp nuodb/transparent-hugepage
Check the deployment status:
helm status thp
Verify the pods are running:
$ kubectl get pods -l app=disable-thp-transparent-hugepage
NAME READY STATUS RESTARTS AGE
disable-thp-transparent-hugepage-96tzq 1/1 Running 0 3m45s
disable-thp-transparent-hugepage-cbc8d 1/1 Running 0 3m45s
disable-thp-transparent-hugepage-cr8km 1/1 Running 0 3m45s
disable-thp-transparent-hugepage-g7bjb 1/1 Running 0 3m45s
Run the files/tuned.sh
script on each node to disable THP and set kernel parameters for NuoDB.
The file MUST be run as root/sudo.
To uninstall/delete the deployment:
helm delete thp
The command removes all the Kubernetes components associated with the chart and deletes the release.