Helm Installation
Prerequisites
- Helm 3.x installed
- kubectl configured to access your cluster
- Linode API token
- Target region identified
Installation Steps
- Add the CCM Helm repository:
helm repo add ccm-linode https://linode.github.io/linode-cloud-controller-manager/
helm repo update ccm-linode
- Create a values file (values.yaml):
apiToken: "your-api-token"
region: "us-east"
# Optional: Configure route controller
routeController:
vpcNames: "" # Comma separated VPC names
clusterCIDR: "10.0.0.0/8"
configureCloudRoutes: true
# Optional: Assign node internal IPs from VPCs without enabling route controller
# Not required if specified in routeController
vpcNames: "" # Comma separated VPC names
# Optional: Allow /metrics scraping without authorization on secure HTTPS port (10253 by default)
allowUnauthorizedMetrics=true
Token injection modes
- Legacy mode (default):
secretRef.mountSecretunset/false. Chart injectsLINODE_API_TOKENfrom Secret key. - Mounted mode: set
secretRef.mountSecret: true. Chart mounts token file and setsLINODE_API_TOKEN_FILE.
Mounted mode example:
secretRef:
name: linode-ccm
apiTokenRef: apiToken
regionRef: region
mountSecret: true
# Optional, defaults to /var/run/secrets/linode/api-token
mountPath: /var/run/secrets/linode/api-token
- Install the CCM:
helm install ccm-linode \
--namespace kube-system \
-f values.yaml \
ccm-linode/ccm-linode
Upgrading
To upgrade an existing installation:
helm upgrade ccm-linode \
--namespace kube-system \
-f values.yaml \
ccm-linode/ccm-linode
Uninstalling
To remove the CCM:
helm uninstall ccm-linode -n kube-system