Skip to content

Latest commit

 

History

History
66 lines (53 loc) · 1.38 KB

manual-installation.md

File metadata and controls

66 lines (53 loc) · 1.38 KB

Manual Installation

Prerequisites

  • kubectl configured to access your cluster
  • Linode API token
  • Target region identified

Installation Steps

  1. Generate the manifest:
./deploy/generate-manifest.sh $LINODE_API_TOKEN $REGION
  1. Review the generated manifest: The script creates ccm-linode.yaml containing:
  • ServiceAccount
  • ClusterRole and ClusterRoleBinding
  • Secret with API token
  • DaemonSet for the CCM
  1. Apply the manifest:
kubectl apply -f ccm-linode.yaml

Customization

Environment Variables

You can modify the DaemonSet to include custom environment variables:

env:
  - name: LINODE_INSTANCE_CACHE_TTL
    value: "15"
  - name: LINODE_ROUTES_CACHE_TTL_SECONDS
    value: "60"

Resource Limits

Adjust compute resources as needed:

resources:
  requests:
    cpu: 100m
    memory: 128Mi
  limits:
    cpu: 200m
    memory: 256Mi

Prometheus metrics

Cloud Controller Manager exposes metrics by default on port given by --secure-port flag. The endpoint is protected from unauthenticated access by default. To allow unauthenticated clients (system:anonymous) access Prometheus metrics, use --authorization-always-allow-paths="/metrics" command-line flag.

Linode API calls can be monitored using ccm_linode_client_requests_total metric.

Uninstalling

To remove the CCM:

kubectl delete -f ccm-linode.yaml