This message was deleted.
# cabpr
a
This message was deleted.
r
Did you disable the cloud controller?
For example:
Copy code
apiVersion: <http://controlplane.cluster.x-k8s.io/v1alpha1|controlplane.cluster.x-k8s.io/v1alpha1>
kind: RKE2ControlPlane
metadata:
  name: test1-control-plane
  namespace: default
spec:
  agentConfig:
    version: v1.25.11+rke2r1
  infrastructureRef:
    apiVersion: <http://infrastructure.cluster.x-k8s.io/v1beta1|infrastructure.cluster.x-k8s.io/v1beta1>
    kind: DockerMachineTemplate
    name: controlplane
  serverConfig:
    cni: calico
    disableComponents:
      kubernetesComponents: [ "cloudController"]
......
c
My apologies. I was using file
samples/docker/online-default/rke2-sample.yaml
from the main branch rather than from the 0.2.2 branch. I'll fix that, retry, and confirm that resolves my problem.
👍 1
b
As expected, using the rke2-sample.yaml from the 0.2.2 branch fixed the v1alpha1 vs v1beta1 versioning issue. However, the control plane machine is still stuck in the Provisioning Phase. I disabled the cloudController but that did not seem to help. I included some relevant information below. Any suggestions to help troubleshoot this problem?
Copy code
$ kubectl get machine -A
NAMESPACE   NAME                                 CLUSTER          NODENAME   PROVIDERID   PHASE          AGE   VERSION
example     capd-rke2-test-control-plane-v8g8j   capd-rke2-test                           Provisioning   11m   v1.24.6
example     worker-md-0-6wcj2-cnntv              capd-rke2-test                           Pending        11m   v1.24.6
example     worker-md-0-6wcj2-sbb8j              capd-rke2-test                           Pending        11m   v1.24.6

$ kubectl logs -n rke2-control-plane-system rke2-control-plane-controller-manager-55cf678d5d-rg644
...
E0117 15:38:41.116260       1 rke2controlplane_controller.go:698]  "msg"="Unable to initialize workload cluster" "error"="failed to get API group resources: unable to retrieve the complete list of server APIs: v1: Get \"<https://www.xx.y.z:6443/api/v1?timeout=30s>\": EOF" "RKE2ControlPlane"={"name":"capd-rke2-test-control-plane","namespace":"example"} "controller"="rke2controlplane" "controllerGroup"="<http://controlplane.cluster.x-k8s.io|controlplane.cluster.x-k8s.io>" "controllerKind"="RKE2ControlPlane" "name"="capd-rke2-test-control-plane" "namespace"="example" "reconcileID"="a81b3988-e0d1-418c-872c-66c5024a9877"
E0117 15:38:41.116780       1 rke2controlplane_controller.go:463]  "msg"="failed to reconcile Control Plane conditions" "error"="failed to get API group resources: unable to retrieve the complete list of server APIs: v1: Get \"<https://www.xx.y.z:6443/api/v1?timeout=30s>\": EOF" "RKE2ControlPlane"={"name":"capd-rke2-test-control-plane","namespace":"example"} "controller"="rke2controlplane" "controllerGroup"="<http://controlplane.cluster.x-k8s.io|controlplane.cluster.x-k8s.io>" "controllerKind"="RKE2ControlPlane" "name"="capd-rke2-test-control-plane" "namespace"="example" "reconcileID"="a81b3988-e0d1-418c-872c-66c5024a9877"
E0117 15:38:41.150627       1 rke2controlplane_controller.go:153]  "msg"="Failed to update RKE2ControlPlane Status" "error"="some Control Plane machines exist and are ready but they have no IP Address available" "RKE2ControlPlane"={"name":"capd-rke2-test-control-plane","namespace":"example"} "cluster"="capd-rke2-test" "controller"="rke2controlplane" "controllerGroup"="<http://controlplane.cluster.x-k8s.io|controlplane.cluster.x-k8s.io>" "controllerKind"="RKE2ControlPlane" "name"="capd-rke2-test-control-plane" "namespace"="example" "reconcileID"="a81b3988-e0d1-418c-872c-66c5024a9877"
E0117 15:38:41.152179       1 controller.go:324]  "msg"="Reconciler error" "error"="[failed to get API group resources: unable to retrieve the complete list of server APIs: v1: Get \"<https://www.xx.y.z:6443/api/v1?timeout=30s>\": EOF, some Control Plane machines exist and are ready but they have no IP Address available]" "RKE2ControlPlane"={"name":"capd-rke2-test-control-plane","namespace":"example"} "controller"="rke2controlplane" "controllerGroup"="<http://controlplane.cluster.x-k8s.io|controlplane.cluster.x-k8s.io>" "controllerKind"="RKE2ControlPlane" "name"="capd-rke2-test-control-plane" "namespace"="example" "reconcileID"="a81b3988-e0d1-418c-872c-66c5024a9877"
r
Ah
some Control Plane machines exist and are ready but they have no IP Address available
This has come up before. We need to investigate and fix this.
One way around this could be to use a different registration method with kube-vip.
b
Is this issue specific to integration with the docker infrastructure provider or does it affect all other infra providers as well?
Hi @rapid-van-91305 It seems I was able to work-around the "IP Address available" error by reducing the number of CP and worker nodes to 1 each. I also confirmed my environment provisions the capi-quickstart w/kubeadm and docker fine with 3 CP and worker nodes each.
However, the following errors seem to prevent the cabpr example w/docker from working. Any other thoughts?
Copy code
capd logs
...
I0119 15:42:19.361323       1 machine.go:227] "Creating control plane machine container with image kindest/node:v1.24.15@sha256:7db4f8bea3e14b82d12e044e25e34bd53754b7f2b0e9d56df21774e6f66a70ab, mode kind 0.20" controller="dockermachine" controllerGroup="<http://infrastructure.cluster.x-k8s.io|infrastructure.cluster.x-k8s.io>" controllerKind="DockerMachine" DockerMachine="example/controlplane-5vqh6" namespace="example" name="controlplane-5vqh6" reconcileID="805bf066-8c8b-4a90-a33d-6d04ce0de1a6" Machine="example/capd-rke2-test-control-plane-krxcp" Machine="example/capd-rke2-test-control-plane-krxcp" Cluster="example/capd-rke2-test"
I0119 15:42:25.038952       1 loadbalancer.go:189] "Updating load balancer configuration" controller="dockermachine" controllerGroup="<http://infrastructure.cluster.x-k8s.io|infrastructure.cluster.x-k8s.io>" controllerKind="DockerMachine" DockerMachine="example/controlplane-5vqh6" namespace="example" name="controlplane-5vqh6" reconcileID="805bf066-8c8b-4a90-a33d-6d04ce0de1a6" Machine="example/capd-rke2-test-control-plane-krxcp" Machine="example/capd-rke2-test-control-plane-krxcp" Cluster="example/capd-rke2-test"
E0119 15:44:22.849375       1 controller.go:329] "Reconciler error" err="failed to generate workload cluster client: failed to create cluster accessor: error creating client for remote cluster \"example/capd-rke2-test\": error getting rest mapping: failed to get API group resources: unable to retrieve the complete list of server APIs: v1: client rate limiter Wait returned an error: context deadline exceeded - error from a previous attempt: EOF" controller="dockermachine" controllerGroup="<http://infrastructure.cluster.x-k8s.io|infrastructure.cluster.x-k8s.io>" controllerKind="DockerMachine" DockerMachine="example/controlplane-5vqh6" namespace="example" name="controlplane-5vqh6" reconcileID="dcf4489d-30a1-4591-8854-2d42a3c36756"
E0119 15:44:32.957766       1 controller.go:329] "Reconciler error" err="failed to generate workload cluster client: failed to create cluster accessor: error creating client for remote cluster \"example/capd-rke2-test\": error getting rest mapping: failed to get API group resources: unable to retrieve the complete list of server APIs: v1: client rate limiter Wait returned an error: context deadline exceeded - error from a previous attempt: EOF" controller="dockermachine" controllerGroup="<http://infrastructure.cluster.x-k8s.io|infrastructure.cluster.x-k8s.io>" controllerKind="DockerMachine" DockerMachine="example/controlplane-5vqh6" namespace="example" name="controlplane-5vqh6" reconcileID="5dbd65af-9847-4bdb-8dd8-fe193423ad6e"
...
rke2-control-plane logs
...
I0119 16:18:40.163235       1 rke2controlplane_controller.go:387]  "msg"="Reconcile RKE2 Control Plane" "RKE2ControlPlane"={"name":"capd-rke2-test-control-plane","namespace":"example"} "controller"="rke2controlplane" "controllerGroup"="<http://controlplane.cluster.x-k8s.io|controlplane.cluster.x-k8s.io>" "controllerKind"="RKE2ControlPlane" "name"="capd-rke2-test-control-plane" "namespace"="example" "reconcileID"="8ad3ae09-4596-445a-9092-f13a855e0db0"
E0119 16:18:50.213489       1 rke2controlplane_controller.go:698]  "msg"="Unable to initialize workload cluster" "error"="failed to get API group resources: unable to retrieve the complete list of server APIs: v1: Get \"<https://172.18.0.3:6443/api/v1?timeout=30s>\": EOF" "RKE2ControlPlane"={"name":"capd-rke2-test-control-plane","namespace":"example"} "controller"="rke2controlplane" "controllerGroup"="<http://controlplane.cluster.x-k8s.io|controlplane.cluster.x-k8s.io>" "controllerKind"="RKE2ControlPlane" "name"="capd-rke2-test-control-plane" "namespace"="example" "reconcileID"="8ad3ae09-4596-445a-9092-f13a855e0db0"
...
@rapid-van-91305 I opened the issue below to track this problem. Consider elevating its severity since it potentially blocks new users from successfully completing the README instructions. https://github.com/rancher-sandbox/cluster-api-provider-rke2/issues/252
👍 1