cluster-api-provider-aws
cluster-api-provider-aws copied to clipboard
Machine does not have a corresponding Node yet (Machine.status.nodeRef not set)
trafficstars
/kind bug
What steps did you take and what happened: i applied the manifests
apiVersion: infrastructure.cluster.x-k8s.io/v1beta2
kind: AWSClusterStaticIdentity
metadata:
name: aws-micro-kube-identity
namespace: aws-micro-kube
spec:
allowedNamespaces:
list:
- aws-micro-kube
secretRef: aws-credentials
---
apiVersion: infrastructure.cluster.x-k8s.io/v1beta2
kind: AWSCluster
metadata:
name: aws-micro-kube
namespace: aws-micro-kube
spec:
region: eu-central-1
sshKeyName: aws-micro-kube-ssh
identityRef:
kind: AWSClusterStaticIdentity
name: aws-micro-kube-identity
controlPlaneLoadBalancer:
loadBalancerType: nlb
scheme: internal
network:
vpc:
id: vpc-hashhh
availabilityZoneUsageLimit: 2
availabilityZoneSelection: Random
subnets:
- id: subnet-hashhhh
availabilityZone: eu-central-1a
isPublic: false
- id: subnet-hashhh
availabilityZone: eu-central-1b
isPublic: false
---
apiVersion: infrastructure.cluster.x-k8s.io/v1beta2
kind: AWSMachineTemplate
metadata:
name: aws-micro-kube-control-plane
namespace: aws-micro-kube
spec:
template:
spec:
instanceType: m6i.xlarge
iamInstanceProfile: "control-plane.cluster-api-provider-aws.sigs.k8s.io"
sshKeyName: aws-micro-kube-ssh
cloudInit:
insecureSkipSecretsManager: true
---
apiVersion: infrastructure.cluster.x-k8s.io/v1beta2
kind: AWSMachineTemplate
metadata:
name: aws-micro-kube-md-0
namespace: aws-micro-kube
spec:
template:
spec:
instanceType: c7i.8xlarge
iamInstanceProfile: "nodes.cluster-api-provider-aws.sigs.k8s.io"
sshKeyName: aws-micro-kube-ssh
cloudInit:
insecureSkipSecretsManager: true
---
apiVersion: controlplane.cluster.x-k8s.io/v1beta1
kind: KubeadmControlPlane
metadata:
name: aws-micro-kube-control-plane
namespace: aws-micro-kube
spec:
replicas: 3
version: v1.30.8 # to fetch available by default clusterawsadm ami list
rolloutBefore:
certificatesExpiryDays: 364 # Trigger rollout if certificates expire within 21 days
machineTemplate:
infrastructureRef:
apiVersion: infrastructure.cluster.x-k8s.io/v1beta2
kind: AWSMachineTemplate
name: aws-micro-kube-control-plane
kubeadmConfigSpec:
initConfiguration:
nodeRegistration:
name: '{{ ds.meta_data.local_hostname.split(".")[0] }}'
joinConfiguration:
nodeRegistration:
name: '{{ ds.meta_data.local_hostname.split(".")[0] }}'
---
apiVersion: bootstrap.cluster.x-k8s.io/v1beta1
kind: KubeadmConfigTemplate
metadata:
name: aws-micro-kube-md-0
namespace: aws-micro-kube
spec:
template:
spec:
joinConfiguration:
nodeRegistration:
name: '{{ ds.meta_data.local_hostname }}'
---
apiVersion: cluster.x-k8s.io/v1beta1
kind: Cluster
metadata:
name: aws-micro-kube
namespace: aws-micro-kube
spec:
clusterNetwork:
pods:
cidrBlocks: ["192.168.0.0/16"]
services:
cidrBlocks: ["10.96.0.0/12"]
controlPlaneRef:
apiVersion: controlplane.cluster.x-k8s.io/v1beta1
kind: KubeadmControlPlane
name: aws-micro-kube-control-plane
infrastructureRef:
apiVersion: infrastructure.cluster.x-k8s.io/v1beta2
kind: AWSCluster
name: aws-micro-kube
---
apiVersion: cluster.x-k8s.io/v1beta1
kind: MachineDeployment
metadata:
name: aws-micro-kube-md-0
namespace: aws-micro-kube
spec:
clusterName: aws-micro-kube
replicas: 6
selector:
matchLabels:
cluster.x-k8s.io/deployment-name: aws-micro-kube-md-0
template:
metadata:
labels:
cluster.x-k8s.io/deployment-name: aws-micro-kube-md-0
spec:
clusterName: aws-micro-kube
bootstrap:
configRef:
apiVersion: bootstrap.cluster.x-k8s.io/v1beta1
kind: KubeadmConfigTemplate
name: aws-micro-kube-md-0
infrastructureRef:
apiVersion: infrastructure.cluster.x-k8s.io/v1beta2
kind: AWSMachineTemplate
name: aws-micro-kube-md-0
version: v1.30.8
- One control plane node is up ✅
- Worker nodes is up ✅
- internal NLB is up ✅
- But it cannot scale to 3 control plane node ⚠
What did you expect to happen: KubeadmControlProvider should spin 3 ec2 for master.
Anything else you would like to add: capi logs:
I0522 23:13:52.868524 1 controller.go:362] "Reconcile KubeadmControlPlane" controller="kubeadmcontrolplane" controllerGroup="controlplane.cluster.x-k8s.io" controllerKind="KubeadmControlPlane" KubeadmControlPlane="aws-micro-kube/aws-micro-kube-control-plane" namespace="aws-micro-kube" name="aws-micro-kube-control-plane" reconcileID="b5ad5be2-b9f4-4507-9059-9266cc6299cb" Cluster="aws-micro-kube/aws-micro-kube"
I0522 23:13:52.871736 1 controller.go:490] "Scaling up control plane" controller="kubeadmcontrolplane" controllerGroup="controlplane.cluster.x-k8s.io" controllerKind="KubeadmControlPlane" KubeadmControlPlane="aws-micro-kube/aws-micro-kube-control-plane" namespace="aws-micro-kube" name="aws-micro-kube-control-plane" reconcileID="b5ad5be2-b9f4-4507-9059-9266cc6299cb" Cluster="aws-micro-kube/aws-micro-kube" desired=3 existing=1
I0522 23:13:52.871771 1 scale.go:257] "Waiting for control plane to pass preflight checks" controller="kubeadmcontrolplane" controllerGroup="controlplane.cluster.x-k8s.io" controllerKind="KubeadmControlPlane" KubeadmControlPlane="aws-micro-kube/aws-micro-kube-control-plane" namespace="aws-micro-kube" name="aws-micro-kube-control-plane" reconcileID="b5ad5be2-b9f4-4507-9059-9266cc6299cb" Cluster="aws-micro-kube/aws-micro-kube" failures="Machine aws-micro-kube-control-plane-gfdfw does not have a corresponding Node yet (Machine.status.nodeRef not set)"
I0522 23:13:52.871897 1 recorder.go:104] "Waiting for control plane to pass preflight checks to continue reconciliation: Machine aws-micro-kube-control-plane-gfdfw does not have a corresponding Node yet (Machine.status.nodeRef not set)" logger="events" type="Warning" object={"kind":"KubeadmControlPlane","namespace":"aws-micro-kube","name":"aws-micro-kube-control-plane","uid":"dff770f8-c317-40c0-b2c9-83dfc007c1a8","apiVersion":"controlplane.cluster.x-k8s.io/v1beta1","resourceVersion":"9620958336"} reason="ControlPlaneUnhealthy"
kgno
NAME STATUS ROLES AGE VERSION
ip-10-255-51-123 Ready <none> 8h v1.30.8
ip-10-255-51-191 Ready control-plane 8h v1.30.8
ip-10-255-51-200 Ready <none> 8h v1.30.8
ip-10-255-51-220 Ready <none> 8h v1.30.8
ip-10-255-51-247 Ready <none> 8h v1.30.8
ip-10-255-51-67 Ready <none> 8h v1.30.8
ip-10-255-51-93 Ready <none> 8h v1.30.8
Environment:
- Cluster-api-provider-aws version: v2.8.2
- Kubernetes version: (use
kubectl version): 1.30.8 - OS (e.g. from
/etc/os-release): Ubuntu 24.04.2 LTS