hcloud-cloud-controller-manager icon indicating copy to clipboard operation
hcloud-cloud-controller-manager copied to clipboard

CCM installation with microk8s

Open telemorphix opened this issue 3 weeks ago • 1 comments

TL;DR

Hi. I'm currently installing CCM with microk8s. The installation steps are not comparable to the current installation manual (e.g. kubeadm not available). For a simplified Kubernetes installation based on Ubuntu (microK8s), such an official manual would be very helpful, because I got stuck with the installation (error below).

Are there any plans to include a microk8s installation manual, or do you have such manual available. Thanks.

Expected behavior

The installation of CCM with microk8s works fine so far.

Environment:

  • microk8s v1.30 (vanilla installation with snap install microk8s)
  • one node only (for testing)
  • calico is running

I followed these steps:

  • kubectl -n kube-system create secret generic hcloud --from-literal=token=<your_token>
  • microk8s helm repo add hcloud https://charts.hetzner.cloud
  • microk8s helm repo update hcloud
  • microk8s helm install hccm hcloud/hcloud-cloud-controller-manager -n kube-system

With the yaml file below, the service is create and I can see the new load balancer in the Hetzner Cloud panel, but the service creates an error: Warning SyncLoadBalancerFailed 4s (x2 over 9s) service-controller Error syncing load balancer: failed to ensure load balancer: hcloud/loadBalancers.EnsureLoadBalancer: hcops/LoadBalancerOps.ReconcileHCLBTargets: providerID does not have one of the the expected prefixes (hcloud://, hrobot://, hcloud://bm-):

I added "--cloud-provider=external" to the:

  • /var/snap/microk8s/current/args/kubelet, and
  • /var/snap/microk8s/current/args/kube-controller-manager

config files and restarted microk8s, but that did not work out.

I did not configure anything to tolerate the uninitialized taint (yet, would not know where).

yaml

apiVersion: v1 kind: Service metadata: name: balancer-test-service annotations: load-balancer.hetzner.cloud/location: fsn1 spec: selector: app: test-apps ports: - port: 80 targetPort: 8080 type: LoadBalancer

telemorphix avatar Jun 14 '24 20:06 telemorphix