Files
talos-cloud-controller-manager/README.md
Serge Logvinov 345c59f4e9 feat: init ccm
* Add base function of CCM
* Helm-chart deployment

Signed-off-by: Serge Logvinov <serge.logvinov@sinextra.dev>
2022-11-18 07:49:54 +02:00

2.6 KiB

Talos Cloud Provider Manager

Thank you for visiting the Talos Cloud Provider Manager repository!

Install

Prepare control-plane

On control-plane you need to allow API access feature:

machine:
  features:
    kubernetesTalosAPIAccess:
      enabled: true
      allowedRoles:
        - os:reader
      allowedKubernetesNamespaces:
        - kube-system

Method 1: talos machine config

cluster:
  externalCloudProvider:
    enabled: true
    manifests:
      - https://raw.githubusercontent.com/siderolabs/talos-cloud-controller-manager/main/docs/deploy/cloud-controller-manager.yml

Method 2: kubectl

kubectl apply -f https://raw.githubusercontent.com/siderolabs/talos-cloud-controller-manager/main/docs/deploy/cloud-controller-manager.yml

Method 3: helm chart

helm upgrade -i -n kube-system talos-cloud-controller-manager charts/talos-cloud-controller-manager

Features

Talos receives the metadata from a platform and labels the node according to the received data.

Well-Known labels:

  • topology.kubernetes.io/region
  • topology.kubernetes.io/zone
  • node.kubernetes.io/instance-type
  • providerID magic string
  • InternalIP and ExternalIP addresses

Talos specific:

  • node.cloudprovider.kubernetes.io/clustername - talos cluster name
  • node.cloudprovider.kubernetes.io/platform - name of platform

Example

apiVersion: v1
kind: Node
metadata:
  labels:
    ...
    node.cloudprovider.kubernetes.io/platform: someprovider
    node.kubernetes.io/instance-type: type-of-instance
    topology.kubernetes.io/region: region-2
    topology.kubernetes.io/zone: zone
  name: controlplane-1
spec:
  ...
  providerID: someproviderID:///e8e8c388-5812-4db0-87e2-ad1fee51a1c1
status:
  addresses:
  - address: 172.16.0.11
    type: InternalIP
  - address: 1.2.3.4
    type: ExternalIP
  - address: 2001:123:123:123::1
    type: ExternalIP
  - address: controlplane-1
    type: Hostname

Community

Contributing

Contributions are welcomed and appreciated! See Contributing for our guidelines.

License

See LICENSE (MIT)