Kubernetes cloud-provider for KubeVirt
helm repo add christianhuth https://charts.christianhuth.de
helm repo update
helm install my-release christianhuth/kubevirt-cloud-controller-managerThis chart installs the KubeVirt Cloud Provider using the Helm package manager.
- Kubernetes 1.19+
To install the chart with the release name my-release:
helm repo add christianhuth https://charts.christianhuth.de
helm repo update
helm install my-release christianhuth/kubevirt-cloud-controller-managerThese commands deploy the KubeVirt Cloud Provider on the Kubernetes cluster in the default configuration. The Values section lists the values that can be configured during installation.
Tip: List all releases using
helm list
To uninstall the my-release deployment:
helm uninstall my-releaseThe command removes all the Kubernetes components associated with the chart and deletes the release.
| Key | Type | Default | Description |
|---|---|---|---|
| affinity | object | {} |
Affinity settings for pod assignment |
| autoscaling.enabled | bool | false |
Enable Horizontal POD autoscaling |
| autoscaling.maxReplicas | int | 100 |
Maximum number of replicas |
| autoscaling.minReplicas | int | 1 |
Minimum number of replicas |
| autoscaling.targetCPUUtilizationPercentage | int | 80 |
Target CPU utilization percentage |
| extraEnv | list | [] |
additional environment variables to be added to the pods |
| fullnameOverride | string | "" |
String to fully override "kubevirt-cloud-controller-manager.fullname" |
| image.pullPolicy | string | "Always" |
image pull policy |
| image.registry | string | "quay.io" |
image registory |
| image.repository | string | "kubevirt/kubevirt-cloud-controller-manager" |
image repository |
| image.tag | string | "v0.6.0" |
Overrides the image tag |
| imagePullSecrets | list | [] |
If defined, uses a Secret to pull an image from a private Docker registry or repository. |
| kccm.additionalLabels.enabled | bool | true |
Adds additional capi labels to the cloud controller manager resources |
| kccm.cloudConfig.instancesV2.enabled | bool | true |
Whether to use the instancesV2 API for listing and watching instances. This is required for OpenShift 4.13 and later. |
| kccm.cloudConfig.instancesV2.zoneAndRegionEnabled | bool | false |
Whether to use the zone and region information from the instance metadata. This is required for OpenShift 4.13 and later. |
| kccm.cloudConfig.loadBalancer.creationPollInterval | int | 5 |
The interval at which the cloud controller manager polls for the creation of load balancers |
| kccm.cloudConfig.loadBalancer.creationPollTimeout | int | 60 |
The timeout for polling for the creation of load balancers |
| kccm.cluster.kubeconfig.content.cluster.ca | string | "" |
The base64-encoded value of the cluster CA |
| kccm.cluster.kubeconfig.content.cluster.server | string | "" |
The address of the CAPI api server in the form https://: |
| kccm.cluster.kubeconfig.content.users.cert | string | "" |
The base64-encoded value of the user certificate |
| kccm.cluster.kubeconfig.content.users.key | string | "" |
The base64-encoded value of the user key |
| kccm.cluster.kubeconfig.create | bool | false |
create a Secret for the kubeconfig created through the values defined in kccm.cluster.kubeconfig.content.* |
| kccm.cluster.kubeconfig.existingSecret | string | "" |
The name of the secret containing the kubeconfig to access the CAPI cluster. If not set, will default to "-kubeconfig" |
| kccm.cluster.name | string | "" |
The name of the cluster to which the cloud controller manager belongs. This is used by the cloud controller manager to watch for changes to the cluster object and update its status accordingly. |
| kccm.cluster.namespace | string | "" |
The namespace in which the cloud controller manager should watch for changes to the cluster object. If not set, the cloud controller manager will watch for changes to the cluster object in the Release namespace. |
| kccm.deploymentMode | string | "isolated" |
Indicates whether the cloud controller manager is installed outside of the managed cluster (isolated) or inside |
| nameOverride | string | "" |
Provide a name in place of kubevirt-cloud-controller-manager |
| nodeSelector | object | {"node-role.kubernetes.io/control-plane":""} |
Node labels for pod assignment |
| podAnnotations | object | {} |
Annotations to be added to exporter pods |
| podSecurityContext | object | {} |
pod-level security context |
| replicaCount | int | 1 |
Number of replicas |
| resources | object | {"limits":{"cpu":"100m","memory":"128Mi"},"requests":{"cpu":"100m","memory":"128Mi"}} |
Resource limits and requests for the pods. |
| revisionHistoryLimit | int | 0 |
The number of old ReplicaSets to retain |
| securityContext | object | {"privileged":true} |
container-level security context |
| serviceAccount.annotations | object | {} |
Annotations to add to the service account |
| serviceAccount.create | bool | true |
Specifies whether a service account should be created |
| serviceAccount.name | string | "" |
The name of the service account to use. If not set and create is true, a name is generated using the fullname template |
| tolerations | list | [{"effect":"NoSchedule","key":"node.cloudprovider.kubernetes.io/uninitialized","value":"true"},{"effect":"NoSchedule","key":"node-role.kubernetes.io/control-plane"}] |
Toleration labels for pod assignment |
Specify each parameter using the --set key=value[,key=value] argument to helm install.
Alternatively, a YAML file that specifies the values for the parameters can be provided while installing the chart. For example,
helm install my-release -f values.yaml christianhuth/kubevirt-cloud-controller-manager