Closed OrvilleQ closed 1 year ago
By default, Calico uses first-found
method to detect node IP, which returns first valid IP address on the first valid interface.
https://projectcalico.docs.tigera.io/reference/node/configuration#ip-autodetection-methods
You can change it by setting spec.network.calico.ipAutodetectionMethod
in your k0s config, e.g.:
apiVersion: k0sctl.k0sproject.io/v1beta1
kind: Cluster
metadata:
name: cell
spec:
hosts:
- ssh: [MASK]
role: controller+worker
noTaints: true
installFlags:
- --enable-k0s-cloud-provider=true
- --enable-cloud-provider=true
- ssh: [MASK]
role: controller+worker
noTaints: true
installFlags:
- --enable-k0s-cloud-provider=true
- --enable-cloud-provider=true
k0s:
version: v1.25.2+k0s.0
dynamicConfig: true
config:
apiVersion: k0s.k0sproject.io/v1beta1
kind: Cluster
metadata:
name: cell
spec:
network:
podCIDR: "10.244.0.0/16"
serviceCIDR": "10.96.0.0/12"
provider: calico
calico:
mode: "bird"
wireguard: true
ipAutodetectionMethod: "kubernetes-internal-ip" # Just an example, use whatever works for you
dualStack:
enabled: true
IPv6podCIDR: "fd00::/108"
IPv6serviceCIDR: "fd01::/108"
Seems like this is something relate to Calico side. Have opened an issue there, Thanks for your help.
Before creating an issue, make sure you've checked the following:
Platform
Version
v1.25.2+k0s.0
Sysinfo
What happened?
The Calico node trying to assign itself with the same ip address.
Steps to reproduce
kubectl get pod -A -o wide
Expected behavior
Calico should work.
Actual behavior
No, it didn't.
Screenshots and logs
k0sctl.yaml:
log from the failed calico-node:
Additional context
This issue happens few days ago. Everything was working fine before that day.
I tried to change host OS (CentOS, OpenSUSE) and k0s version (1.24) but still present the same problem.