Asking for help? Comment out what you need so we can get more information to help you!
Cluster information:
Kubernetes version: 1.18.20
Cloud being used: put bare-metal
Installation method: Self-developed tools
Host OS: Centos7
CNI and version: Calico 3.18.4
CRI and version: docker
You can format your yaml by highlighting it and pressing Ctrl-Shift-C, it will make your output easier to read.
I tried to add ipv6 to the k8s cluster, ipv6 already added, but the issue is that the pod is not accessible through ipv6 by the node where the pod resides, but it is accessible through ipv4, the version of k8s and calico is v1.18.20 and calico v3.18.4.
1、connect testing
test using the node where the pod resides
I tested it in the following way
## get ip address
# kubectl describe pod test-nginx-pod | grep -A 10 Annotations
Annotations: cni.projectcalico.org/podIP: 172.19.4.97/32
cni.projectcalico.org/podIPs: 172.19.4.97/32,fd00::9ab/128
Status: Running
## testing
# ping 172.19.4.97
PING 172.19.4.97 (172.19.4.97) 56(84) bytes of data.
64 bytes from 172.19.4.97: icmp_seq=1 ttl=64 time=0.054 ms
64 bytes from 172.19.4.97: icmp_seq=2 ttl=64 time=0.020 ms
# ping6 fd00::9ab
connect: Invalid argument
## Using the curl command is similar; ipv6 abnormal and ipv4 returns as normal
# curl 172.19.4.97:80/index.html
<!DOCTYPE html>
<html>
<head>
<title>Welcome to nginx!</title>
<style>
body {
width: 35em
# curl -6 -g "http://[fd00::9ab]:80/index.html"
curl: (7) Failed to connect to fd00::9ab: Invalid argument
Use the following services to test
2、demo pod yaml
apiVersion: v1
kind: Pod
metadata:
name: test-nginx-pod
spec:
nodeSelector:
kubernetes.io/hostname: "10.1.2.3"
containers:
- name: test-nginx
image: nginx
ports:
- containerPort: 80
volumeMounts:
- name: nginx-config-volume
mountPath: /etc/nginx/conf.d/default.conf # 覆盖默认配置
subPath: default.conf
volumes:
- name: nginx-config-volume
configMap:
name: nginx-config
items:
- key: default.conf
path: default.conf
---
apiVersion: v1
kind: ConfigMap
metadata:
name: nginx-config
data:
default.conf: |
server {
listen 80;
listen [::]:80;
server_name localhost;
location / {
root /usr/share/nginx/html;
index index.html index.htm;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
}
3、some route and calico log
Some ipv4 and ipv6 routes on the node
# route -n | grep 172.19.4.97
172.19.4.97 0.0.0.0 255.255.255.255 UH 0 0 0 calic9894e04865
# route -6 -n | grep fd00::9ab
<No content return>
This does not appear to generate the required ipv6 routing rules, I deliberately intercepted the calico-node pod log of the same node when the testing pod was created
kubectl logs -f -n kube-system calico-node-nvgfq --since 1m
2025-04-14 11:38:54.151 [INFO][83] felix/calc_graph.go 413: Local endpoint updated id=WorkloadEndpoint(node=10.1.2.3, orchestrator=k8s, workload=default/sample-nginx-pod, name=eth0)
2025-04-14 11:38:54.151 [INFO][83] felix/int_dataplane.go 1431: Received *proto.ActiveProfileUpdate update from calculation graph msg=id:<name:"kns.default" > profile:<inbound_rules:<action:"allow" rule_id:"aBMQCbsUMESPKGRp" > outbound_rules:<action:"allow" rule_id:"8iYOzpfn3SU3eATK" > >
2025-04-14 11:38:54.151 [INFO][83] felix/table.go 506: Queueing update of chain. chainName="cali-pri-kns.default" ipVersion=0x4 table="filter"
2025-04-14 11:38:54.151 [INFO][83] felix/table.go 506: Queueing update of chain. chainName="cali-pro-kns.default" ipVersion=0x4 table="filter"
2025-04-14 11:38:54.151 [INFO][83] felix/table.go 506: Queueing update of chain. chainName="cali-pro-kns.default" ipVersion=0x4 table="mangle"
2025-04-14 11:38:54.151 [INFO][83] felix/table.go 506: Queueing update of chain. chainName="cali-pri-kns.default" ipVersion=0x6 table="filter"
2025-04-14 11:38:54.151 [INFO][83] felix/table.go 506: Queueing update of chain. chainName="cali-pro-kns.default" ipVersion=0x6 table="filter"
2025-04-14 11:38:54.151 [INFO][83] felix/table.go 506: Queueing update of chain. chainName="cali-pro-kns.default" ipVersion=0x6 table="mangle"
2025-04-14 11:38:54.151 [INFO][83] felix/int_dataplane.go 1431: Received *proto.ActiveProfileUpdate update from calculation graph msg=id:<name:"ksa.default.default" > profile:<>
2025-04-14 11:38:54.151 [INFO][83] felix/table.go 506: Queueing update of chain. chainName="cali-pri-ksa.default.default" ipVersion=0x4 table="filter"
2025-04-14 11:38:54.151 [INFO][83] felix/table.go 506: Queueing update of chain. chainName="cali-pro-ksa.default.default" ipVersion=0x4 table="filter"
2025-04-14 11:38:54.151 [INFO][83] felix/table.go 506: Queueing update of chain. chainName="cali-pro-ksa.default.default" ipVersion=0x4 table="mangle"
2025-04-14 11:38:54.151 [INFO][83] felix/table.go 506: Queueing update of chain. chainName="cali-pri-ksa.default.default" ipVersion=0x6 table="filter"
2025-04-14 11:38:54.151 [INFO][83] felix/table.go 506: Queueing update of chain. chainName="cali-pro-ksa.default.default" ipVersion=0x6 table="filter"
2025-04-14 11:38:54.151 [INFO][83] felix/table.go 506: Queueing update of chain. chainName="cali-pro-ksa.default.default" ipVersion=0x6 table="mangle"
2025-04-14 11:38:54.151 [INFO][83] felix/int_dataplane.go 1431: Received *proto.WorkloadEndpointUpdate update from calculation graph msg=id:<orchestrator_id:"k8s" workload_id:"default/sample-nginx-pod" endpoint_id:"eth0" > endpoint:<state:"active" name:"calic9894e04865" profile_ids:"kns.default" profile_ids:"ksa.default.default" ipv4_nets:"172.19.4.97/32" ipv6_nets:"fd00::9ab/128" >
2025-04-14 11:38:54.151 [INFO][83] felix/endpoint_mgr.go 583: Updating per-endpoint chains. id=proto.WorkloadEndpointID{OrchestratorId:"k8s", WorkloadId:"default/sample-nginx-pod", EndpointId:"eth0"}
2025-04-14 11:38:54.151 [INFO][83] felix/table.go 506: Queueing update of chain. chainName="cali-tw-calic9894e04865" ipVersion=0x4 table="filter"
2025-04-14 11:38:54.151 [INFO][83] felix/table.go 580: Chain became referenced, marking it for programming chainName="cali-pri-kns.default"
2025-04-14 11:38:54.151 [INFO][83] felix/table.go 580: Chain became referenced, marking it for programming chainName="cali-pri-ksa.default.default"
2025-04-14 11:38:54.151 [INFO][83] felix/table.go 506: Queueing update of chain. chainName="cali-fw-calic9894e04865" ipVersion=0x4 table="filter"
2025-04-14 11:38:54.151 [INFO][83] felix/table.go 580: Chain became referenced, marking it for programming chainName="cali-pro-kns.default"
2025-04-14 11:38:54.151 [INFO][83] felix/table.go 580: Chain became referenced, marking it for programming chainName="cali-pro-ksa.default.default"
2025-04-14 11:38:54.151 [INFO][83] felix/table.go 506: Queueing update of chain. chainName="cali-sm-calic9894e04865" ipVersion=0x4 table="filter"
2025-04-14 11:38:54.151 [INFO][83] felix/endpoint_mgr.go 614: Updating endpoint routes. id=proto.WorkloadEndpointID{OrchestratorId:"k8s", WorkloadId:"default/sample-nginx-pod", EndpointId:"eth0"}
2025-04-14 11:38:54.151 [INFO][83] felix/table.go 506: Queueing update of chain. chainName="cali-from-wl-dispatch-c" ipVersion=0x4 table="filter"
2025-04-14 11:38:54.151 [INFO][83] felix/table.go 580: Chain became referenced, marking it for programming chainName="cali-fw-calic9894e04865"
2025-04-14 11:38:54.152 [INFO][83] felix/table.go 506: Queueing update of chain. chainName="cali-from-wl-dispatch" ipVersion=0x4 table="filter"
2025-04-14 11:38:54.152 [INFO][83] felix/table.go 580: Chain became referenced, marking it for programming chainName="cali-from-wl-dispatch-c"
2025-04-14 11:38:54.152 [INFO][83] felix/table.go 506: Queueing update of chain. chainName="cali-to-wl-dispatch-c" ipVersion=0x4 table="filter"
2025-04-14 11:38:54.152 [INFO][83] felix/table.go 580: Chain became referenced, marking it for programming chainName="cali-tw-calic9894e04865"
2025-04-14 11:38:54.152 [INFO][83] felix/table.go 506: Queueing update of chain. chainName="cali-to-wl-dispatch" ipVersion=0x4 table="filter"
2025-04-14 11:38:54.152 [INFO][83] felix/table.go 580: Chain became referenced, marking it for programming chainName="cali-to-wl-dispatch-c"
2025-04-14 11:38:54.152 [INFO][83] felix/endpoint_mgr.go 1128: Skipping configuration of interface because it is oper down. ifaceName="calic9894e04865"
2025-04-14 11:38:54.152 [INFO][83] felix/table.go 506: Queueing update of chain. chainName="cali-set-endpoint-mark-c" ipVersion=0x4 table="filter"
2025-04-14 11:38:54.152 [INFO][83] felix/table.go 580: Chain became referenced, marking it for programming chainName="cali-sm-calic9894e04865"
2025-04-14 11:38:54.152 [INFO][83] felix/table.go 506: Queueing update of chain. chainName="cali-set-endpoint-mark" ipVersion=0x4 table="filter"
2025-04-14 11:38:54.152 [INFO][83] felix/table.go 580: Chain became referenced, marking it for programming chainName="cali-set-endpoint-mark-c"
2025-04-14 11:38:54.152 [INFO][83] felix/table.go 506: Queueing update of chain. chainName="cali-from-endpoint-mark" ipVersion=0x4 table="filter"
2025-04-14 11:38:54.152 [INFO][83] felix/endpoint_mgr.go 476: Re-evaluated workload endpoint status adminUp=true failed=false known=true operUp=false status="down" workloadEndpointID=proto.WorkloadEndpointID{OrchestratorId:"k8s", WorkloadId:"default/sample-nginx-pod", EndpointId:"eth0"}
2025-04-14 11:38:54.152 [INFO][83] felix/status_combiner.go 58: Storing endpoint status update ipVersion=0x4 status="down" workload=proto.WorkloadEndpointID{OrchestratorId:"k8s", WorkloadId:"default/sample-nginx-pod", EndpointId:"eth0"}
2025-04-14 11:38:54.152 [INFO][83] felix/endpoint_mgr.go 583: Updating per-endpoint chains. id=proto.WorkloadEndpointID{OrchestratorId:"k8s", WorkloadId:"default/sample-nginx-pod", EndpointId:"eth0"}
2025-04-14 11:38:54.152 [INFO][83] felix/table.go 506: Queueing update of chain. chainName="cali-tw-calic9894e04865" ipVersion=0x6 table="filter"
2025-04-14 11:38:54.153 [INFO][83] felix/table.go 580: Chain became referenced, marking it for programming chainName="cali-pri-kns.default"
2025-04-14 11:38:54.153 [INFO][83] felix/table.go 580: Chain became referenced, marking it for programming chainName="cali-pri-ksa.default.default"
2025-04-14 11:38:54.153 [INFO][83] felix/table.go 506: Queueing update of chain. chainName="cali-fw-calic9894e04865" ipVersion=0x6 table="filter"
2025-04-14 11:38:54.153 [INFO][83] felix/table.go 580: Chain became referenced, marking it for programming chainName="cali-pro-kns.default"
2025-04-14 11:38:54.153 [INFO][83] felix/table.go 580: Chain became referenced, marking it for programming chainName="cali-pro-ksa.default.default"
2025-04-14 11:38:54.153 [INFO][83] felix/table.go 506: Queueing update of chain. chainName="cali-sm-calic9894e04865" ipVersion=0x6 table="filter"
2025-04-14 11:38:54.153 [INFO][83] felix/endpoint_mgr.go 614: Updating endpoint routes. id=proto.WorkloadEndpointID{OrchestratorId:"k8s", WorkloadId:"default/sample-nginx-pod", EndpointId:"eth0"}
2025-04-14 11:38:54.153 [INFO][83] felix/table.go 506: Queueing update of chain. chainName="cali-from-wl-dispatch-c" ipVersion=0x6 table="filter"
2025-04-14 11:38:54.153 [INFO][83] felix/table.go 580: Chain became referenced, marking it for programming chainName="cali-fw-calic9894e04865"
2025-04-14 11:38:54.153 [INFO][83] felix/table.go 506: Queueing update of chain. chainName="cali-from-wl-dispatch" ipVersion=0x6 table="filter"
2025-04-14 11:38:54.153 [INFO][83] felix/table.go 580: Chain became referenced, marking it for programming chainName="cali-from-wl-dispatch-c"
2025-04-14 11:38:54.153 [INFO][83] felix/table.go 506: Queueing update of chain. chainName="cali-to-wl-dispatch-c" ipVersion=0x6 table="filter"
2025-04-14 11:38:54.153 [INFO][83] felix/table.go 580: Chain became referenced, marking it for programming chainName="cali-tw-calic9894e04865"
2025-04-14 11:38:54.153 [INFO][83] felix/table.go 506: Queueing update of chain. chainName="cali-to-wl-dispatch" ipVersion=0x6 table="filter"
2025-04-14 11:38:54.153 [INFO][83] felix/table.go 580: Chain became referenced, marking it for programming chainName="cali-to-wl-dispatch-c"
2025-04-14 11:38:54.153 [INFO][83] felix/endpoint_mgr.go 1128: Skipping configuration of interface because it is oper down. ifaceName="calic9894e04865"
2025-04-14 11:38:54.153 [INFO][83] felix/table.go 506: Queueing update of chain. chainName="cali-set-endpoint-mark-c" ipVersion=0x6 table="filter"
2025-04-14 11:38:54.154 [INFO][83] felix/table.go 580: Chain became referenced, marking it for programming chainName="cali-sm-calic9894e04865"
2025-04-14 11:38:54.154 [INFO][83] felix/table.go 506: Queueing update of chain. chainName="cali-set-endpoint-mark" ipVersion=0x6 table="filter"
2025-04-14 11:38:54.154 [INFO][83] felix/table.go 580: Chain became referenced, marking it for programming chainName="cali-set-endpoint-mark-c"
2025-04-14 11:38:54.154 [INFO][83] felix/table.go 506: Queueing update of chain. chainName="cali-from-endpoint-mark" ipVersion=0x6 table="filter"
2025-04-14 11:38:54.154 [INFO][83] felix/endpoint_mgr.go 476: Re-evaluated workload endpoint status adminUp=true failed=false known=true operUp=false status="down" workloadEndpointID=proto.WorkloadEndpointID{OrchestratorId:"k8s", WorkloadId:"default/sample-nginx-pod", EndpointId:"eth0"}
2025-04-14 11:38:54.154 [INFO][83] felix/status_combiner.go 58: Storing endpoint status update ipVersion=0x6 status="down" workload=proto.WorkloadEndpointID{OrchestratorId:"k8s", WorkloadId:"default/sample-nginx-pod", EndpointId:"eth0"}
2025-04-14 11:38:54.154 [INFO][83] felix/route_table.go 417: Trying to connect to netlink
2025-04-14 11:38:54.154 [INFO][83] felix/route_table.go 417: Trying to connect to netlink
2025-04-14 11:38:54.216 [INFO][83] felix/status_combiner.go 78: Endpoint down for at least one IP version id=proto.WorkloadEndpointID{OrchestratorId:"k8s", WorkloadId:"default/sample-nginx-pod", EndpointId:"eth0"} ipVersion=0x4 status="down"
2025-04-14 11:38:54.216 [INFO][83] felix/status_combiner.go 78: Endpoint down for at least one IP version id=proto.WorkloadEndpointID{OrchestratorId:"k8s", WorkloadId:"default/sample-nginx-pod", EndpointId:"eth0"} ipVersion=0x6 status="down"
2025-04-14 11:38:54.216 [INFO][83] felix/status_combiner.go 98: Reporting combined status. id=proto.WorkloadEndpointID{OrchestratorId:"k8s", WorkloadId:"default/sample-nginx-pod", EndpointId:"eth0"} status="down"
2025-04-14 11:38:54.245 [INFO][83] felix/int_dataplane.go 1037: Linux interface addrs changed. addrs=set.mapSet{} ifaceName="calic9894e04865"
2025-04-14 11:38:54.245 [INFO][83] felix/int_dataplane.go 1002: Linux interface state changed. ifIndex=43 ifaceName="calic9894e04865" state="up"
2025-04-14 11:38:54.245 [INFO][83] felix/int_dataplane.go 1464: Received interface addresses update msg=&intdataplane.ifaceAddrsUpdate{Name:"calic9894e04865", Addrs:set.mapSet{}}
2025-04-14 11:38:54.246 [INFO][83] felix/hostip_mgr.go 84: Interface addrs changed. update=&intdataplane.ifaceAddrsUpdate{Name:"calic9894e04865", Addrs:set.mapSet{}}
2025-04-14 11:38:54.246 [INFO][83] felix/hostip_mgr.go 84: Interface addrs changed. update=&intdataplane.ifaceAddrsUpdate{Name:"calic9894e04865", Addrs:set.mapSet{}}
2025-04-14 11:38:54.246 [INFO][83] felix/int_dataplane.go 1446: Received interface update msg=&intdataplane.ifaceUpdate{Name:"calic9894e04865", State:"up", Index:43}
2025-04-14 11:38:54.246 [INFO][83] felix/endpoint_mgr.go 365: Workload interface came up, marking for reconfiguration. ifaceName="calic9894e04865"
2025-04-14 11:38:54.246 [INFO][83] felix/endpoint_mgr.go 417: Workload interface state changed; marking for status update. ifaceName="calic9894e04865"
2025-04-14 11:38:54.246 [INFO][83] felix/endpoint_mgr.go 365: Workload interface came up, marking for reconfiguration. ifaceName="calic9894e04865"
2025-04-14 11:38:54.246 [INFO][83] felix/endpoint_mgr.go 417: Workload interface state changed; marking for status update. ifaceName="calic9894e04865"
2025-04-14 11:38:54.247 [INFO][83] felix/endpoint_mgr.go 1145: Applying /proc/sys configuration to interface. ifaceName="calic9894e04865"
2025-04-14 11:38:54.247 [INFO][83] felix/endpoint_mgr.go 476: Re-evaluated workload endpoint status adminUp=true failed=false known=true operUp=true status="up" workloadEndpointID=proto.WorkloadEndpointID{OrchestratorId:"k8s", WorkloadId:"default/sample-nginx-pod", EndpointId:"eth0"}
2025-04-14 11:38:54.247 [INFO][83] felix/status_combiner.go 58: Storing endpoint status update ipVersion=0x4 status="up" workload=proto.WorkloadEndpointID{OrchestratorId:"k8s", WorkloadId:"default/sample-nginx-pod", EndpointId:"eth0"}
2025-04-14 11:38:54.247 [INFO][83] felix/endpoint_mgr.go 1145: Applying /proc/sys configuration to interface. ifaceName="calic9894e04865"
2025-04-14 11:38:54.247 [INFO][83] felix/endpoint_mgr.go 476: Re-evaluated workload endpoint status adminUp=true failed=false known=true operUp=true status="up" workloadEndpointID=proto.WorkloadEndpointID{OrchestratorId:"k8s", WorkloadId:"default/sample-nginx-pod", EndpointId:"eth0"}
2025-04-14 11:38:54.247 [INFO][83] felix/status_combiner.go 58: Storing endpoint status update ipVersion=0x6 status="up" workload=proto.WorkloadEndpointID{OrchestratorId:"k8s", WorkloadId:"default/sample-nginx-pod", EndpointId:"eth0"}
2025-04-14 11:38:54.248 [INFO][83] felix/status_combiner.go 81: Endpoint up for at least one IP version id=proto.WorkloadEndpointID{OrchestratorId:"k8s", WorkloadId:"default/sample-nginx-pod", EndpointId:"eth0"} ipVersion=0x4 status="up"
2025-04-14 11:38:54.248 [INFO][83] felix/status_combiner.go 98: Reporting combined status. id=proto.WorkloadEndpointID{OrchestratorId:"k8s", WorkloadId:"default/sample-nginx-pod", EndpointId:"eth0"} status="up"
2025-04-14 11:38:55.358 [INFO][83] felix/calc_graph.go 413: Local endpoint updated id=WorkloadEndpoint(node=10.1.2.3, orchestrator=k8s, workload=default/sample-nginx-pod, name=eth0)
2025-04-14 11:38:55.358 [INFO][83] felix/int_dataplane.go 1431: Received *proto.WorkloadEndpointUpdate update from calculation graph msg=id:<orchestrator_id:"k8s" workload_id:"default/sample-nginx-pod" endpoint_id:"eth0" > endpoint:<state:"active" name:"calic9894e04865" profile_ids:"kns.default" profile_ids:"ksa.default.default" ipv4_nets:"172.19.4.97/32" >
2025-04-14 11:38:55.358 [INFO][83] felix/endpoint_mgr.go 583: Updating per-endpoint chains. id=proto.WorkloadEndpointID{OrchestratorId:"k8s", WorkloadId:"default/sample-nginx-pod", EndpointId:"eth0"}
2025-04-14 11:38:55.358 [INFO][83] felix/table.go 506: Queueing update of chain. chainName="cali-tw-calic9894e04865" ipVersion=0x4 table="filter"
2025-04-14 11:38:55.358 [INFO][83] felix/table.go 506: Queueing update of chain. chainName="cali-fw-calic9894e04865" ipVersion=0x4 table="filter"
2025-04-14 11:38:55.358 [INFO][83] felix/table.go 506: Queueing update of chain. chainName="cali-sm-calic9894e04865" ipVersion=0x4 table="filter"
2025-04-14 11:38:55.358 [INFO][83] felix/endpoint_mgr.go 614: Updating endpoint routes. id=proto.WorkloadEndpointID{OrchestratorId:"k8s", WorkloadId:"default/sample-nginx-pod", EndpointId:"eth0"}
2025-04-14 11:38:55.359 [INFO][83] felix/endpoint_mgr.go 1145: Applying /proc/sys configuration to interface. ifaceName="calic9894e04865"
2025-04-14 11:38:55.359 [INFO][83] felix/endpoint_mgr.go 476: Re-evaluated workload endpoint status adminUp=true failed=false known=true operUp=true status="up" workloadEndpointID=proto.WorkloadEndpointID{OrchestratorId:"k8s", WorkloadId:"default/sample-nginx-pod", EndpointId:"eth0"}
2025-04-14 11:38:55.359 [INFO][83] felix/status_combiner.go 58: Storing endpoint status update ipVersion=0x4 status="up" workload=proto.WorkloadEndpointID{OrchestratorId:"k8s", WorkloadId:"default/sample-nginx-pod", EndpointId:"eth0"}
2025-04-14 11:38:55.359 [INFO][83] felix/endpoint_mgr.go 583: Updating per-endpoint chains. id=proto.WorkloadEndpointID{OrchestratorId:"k8s", WorkloadId:"default/sample-nginx-pod", EndpointId:"eth0"}
2025-04-14 11:38:55.359 [INFO][83] felix/table.go 506: Queueing update of chain. chainName="cali-tw-calic9894e04865" ipVersion=0x6 table="filter"
2025-04-14 11:38:55.359 [INFO][83] felix/table.go 506: Queueing update of chain. chainName="cali-fw-calic9894e04865" ipVersion=0x6 table="filter"
2025-04-14 11:38:55.359 [INFO][83] felix/table.go 506: Queueing update of chain. chainName="cali-sm-calic9894e04865" ipVersion=0x6 table="filter"
2025-04-14 11:38:55.359 [INFO][83] felix/endpoint_mgr.go 614: Updating endpoint routes. id=proto.WorkloadEndpointID{OrchestratorId:"k8s", WorkloadId:"default/sample-nginx-pod", EndpointId:"eth0"}
2025-04-14 11:38:55.359 [INFO][83] felix/endpoint_mgr.go 1145: Applying /proc/sys configuration to interface. ifaceName="calic9894e04865"
2025-04-14 11:38:55.359 [INFO][83] felix/endpoint_mgr.go 476: Re-evaluated workload endpoint status adminUp=true failed=false known=true operUp=true status="up" workloadEndpointID=proto.WorkloadEndpointID{OrchestratorId:"k8s", WorkloadId:"default/sample-nginx-pod", EndpointId:"eth0"}
2025-04-14 11:38:55.359 [INFO][83] felix/status_combiner.go 58: Storing endpoint status update ipVersion=0x6 status="up" workload=proto.WorkloadEndpointID{OrchestratorId:"k8s", WorkloadId:"default/sample-nginx-pod", EndpointId:"eth0"}
2025-04-14 11:38:55.359 [INFO][83] felix/conntrack.go 90: Removing conntrack flows ip=fd00::9ab
2025-04-14 11:38:55.367 [INFO][83] felix/status_combiner.go 81: Endpoint up for at least one IP version id=proto.WorkloadEndpointID{OrchestratorId:"k8s", WorkloadId:"default/sample-nginx-pod", EndpointId:"eth0"} ipVersion=0x4 status="up"
2025-04-14 11:38:55.368 [INFO][83] felix/status_combiner.go 98: Reporting combined status. id=proto.WorkloadEndpointID{OrchestratorId:"k8s", WorkloadId:"default/sample-nginx-pod", EndpointId:"eth0"} status="up"
2025-04-14 11:38:55.392 [INFO][83] felix/iface_monitor.go 201: Netlink address update. addr="fe80::ecee:eeff:feee:eeee" exists=true ifIndex=43
2025-04-14 11:38:55.392 [INFO][83] felix/int_dataplane.go 1037: Linux interface addrs changed. addrs=set.mapSet{"fe80::ecee:eeff:feee:eeee":set.empty{}} ifaceName="calic9894e04865"
2025-04-14 11:38:55.392 [INFO][83] felix/int_dataplane.go 1464: Received interface addresses update msg=&intdataplane.ifaceAddrsUpdate{Name:"calic9894e04865", Addrs:set.mapSet{"fe80::ecee:eeff:feee:eeee":set.empty{}}}
2025-04-14 11:38:55.392 [INFO][83] felix/hostip_mgr.go 84: Interface addrs changed. update=&intdataplane.ifaceAddrsUpdate{Name:"calic9894e04865", Addrs:set.mapSet{"fe80::ecee:eeff:feee:eeee":set.empty{}}}
2025-04-14 11:38:55.392 [INFO][83] felix/hostip_mgr.go 84: Interface addrs changed. update=&intdataplane.ifaceAddrsUpdate{Name:"calic9894e04865", Addrs:set.mapSet{"fe80::ecee:eeff:feee:eeee":set.empty{}}}
2025-04-14 11:38:59.680 [INFO][86] monitor-addresses/startup.go 788: Using autodetected IPv4 address 10.1.2.3/24 on matching interface br0
2025-04-14 11:38:59.682 [INFO][86] monitor-addresses/startup.go 774: Using autodetected IPv6 address on interface bond1: 240e:500:b02:7a::3/118
4、calico some data
# calicoctl get ipp -owide
NAME CIDR NAT IPIPMODE VXLANMODE DISABLED SELECTOR
default-ipv4-ippool 172.19.0.0/21 true Always Never false all()
default-ipv6-ippool fd00::/112 true Never Never false all()
# calicoctl node status
Calico process is running.
IPv4 BGP status
+---------------+-------------------+-------+----------+-------------+
| PEER ADDRESS | PEER TYPE | STATE | SINCE | INFO |
+---------------+-------------------+-------+----------+-------------+
| 10.1.2.4 | node-to-node mesh | up | 06:52:00 | Established |
| 10.1.2.5 | node-to-node mesh | up | 06:52:00 | Established |
+---------------+-------------------+-------+----------+-------------+
IPv6 BGP status
+--------------------+-------------------+-------+----------+-------------+
| PEER ADDRESS | PEER TYPE | STATE | SINCE | INFO |
+--------------------+-------------------+-------+----------+-------------+
| 240e:500:b02:7a::4 | node-to-node mesh | up | 06:52:00 | Established |
| 240e:500:b02:7a::5 | node-to-node mesh | up | 06:52:01 | Established |
+--------------------+-------------------+-------+----------+-------------+
# kubectl describe ippools default-ipv6-ippool
Spec:
Block Size: 122
Cidr: fd00::/112
Ipip Mode: Never
Nat Outgoing: true
Node Selector: all()
Vxlan Mode: Never
5、Modify the following configuration
Switching from ipv4 k8s to ipv4 and ipv6 enabled clusters Modified the following configurations
- edit controller-manager parameter
command:
- kube-controller-manager
- --v=2
...
- --leader-elect=true
- --use-service-account-credentials=true
- --node-monitor-grace-period=40s
- --node-monitor-period=5s
- --pod-eviction-timeout=2m0s
- --controllers=*,bootstrapsigner,tokencleaner
- --allocate-node-cidrs=true
# add ipv6 params
- --cluster-cidr=172.19.0.0/21,fd00::/112
- --cluster-name=kubernetes
- --service-cluster-ip-range=10.68.0.0/16,fc00::/108
- --node-cidr-mask-size-ipv4=24
- --node-cidr-mask-size-ipv6=64
- edit calico configuration
kubectl edit cm -n kube-system calico-config
## modify ipam parameters
"ipam": {
"type": "calico-ipam",
"assign_ipv4": "true",
"assign_ipv6": "true"
},
- edit calico-node daemonset
## add env
- name: IP6
value: autodetect
- name: CALICO_IPV6POOL_CIDR
value: fd00::/112
- name: CALICO_IPV6POOL_VXLAN
value: CrossSubnet
- name: CALICO_IPV6POOL_NAT_OUTGOING
value: "true"
- name: FELIX_IPV6SUPPORT
value: "true"
tried lots of times, but failed, did i missed something?
regards
For some reason, it is not convenient to update the k8s version and the calico version