Open jpayne3506 opened 8 months ago
We are having the same issue on a vanilla installation of k8s with kubespray (v2.23.1) , cilium deployed with helm(v 1.14.3) and cilium-cli: v0.15.14 on baremetal.
@jpayne3506 Thanks for the detailed report. I managed to reproduce your issue, which seems to be specific to Azure CNI Powered by Cilium because, differently to what happens normally in native routing configurations, pod to node traffic gets masquerated. In any case, that error is a sanity check of that specific connectivity test, and it is safe to ignore as no encryption is enabled in the cluster.
@kolovo Your issue seems a different one, although possibly related. Could you please provide the output of cilium connectivity test --test node-to-node-encryption -d -v
and the sysdump for further investigation?
Bug report
General Information This result occurs on 3 different agent versions: v1.12.10, v1.4.3, v1.15.0 (nightly release)
cilium version
) v0.15.12kubectl version
, ...) Client Version: version.Info{Major:"1", Minor:"27", GitVersion:"v1.27.1", GitCommit:"4c9411232e10168d7b050c49a1b59f6df9d7ea4b", GitTreeState:"clean", BuildDate:"2023-04-14T13:21:19Z", GoVersion:"go1.20.3", Compiler:"gc", Platform:"linux/amd64"} Kustomize Version: v5.0.1 Server Version: version.Info{Major:"1", Minor:"26", GitVersion:"v1.26.10", GitCommit:"b8609d4dd75c5d6fba4a5eaa63a5507cb39a6e99", GitTreeState:"clean", BuildDate:"2023-10-23T16:10:33Z", GoVersion:"go1.20.10", Compiler:"gc", Platform:"linux/amd64"}cilium sysdump
cilium-sysdump-20231110-093605.zipHow to reproduce the issue
cilium connectivity test --test node-to-node-encryption -d -v
Result: [-] Scenario [node-to-node-encryption/node-to-node-encryption] š node-to-node-encryption test running in sanity mode, expecting unencrypted packets š Running /bin/sh -c ip -o route get 10.10.0.5 from 192.168.1.94 iif lo | grep -oE 'dev [^ ]' | cut -d' ' -f2 š Running in bg: tcpdump -i eth0 --immediate-mode -w /tmp/node-to-node-encryption-host-netns-zh6p2.pcap src host 192.168.1.94 and icmp and dst host 10.10.0.5 [.] Action [node-to-node-encryption/node-to-node-encryption/ping-ipv4: cilium-test/client-c4bfddc44-24nrv (192.168.1.94) -> cilium-test/host-netns-jm8gf (10.10.0.5:0)] š Executing command [ping -c 1 -W 2 -w 10 10.10.0.5] ā Expected to see unencrypted packets, but none found. This check might be broken š No flows recorded for peer cilium-test/client-c4bfddc44-24nrv during action ping-ipv4 š No flows recorded for peer cilium-test/host-netns-jm8gf during action ping-ipv4 š Running /bin/sh -c ip -o route get 10.10.0.5 from 10.10.0.4 | grep -oE 'dev [^ ]' | cut -d' ' -f2 š Running in bg: tcpdump -i eth0 --immediate-mode -w /tmp/node-to-node-encryption-host-netns-zh6p2.pcap src host 10.10.0.4 and icmp and dst host 10.10.0.5 š Running /bin/sh -c ip -o route get 10.10.0.4 from 10.10.0.5 | grep -oE 'dev [^ ]' | cut -d' ' -f2 š Running in bg: tcpdump -i eth0 --immediate-mode -w /tmp/node-to-node-encryption-host-netns-jm8gf.pcap src host 10.10.0.5 and icmp and dst host 10.10.0.4 [.] Action [node-to-node-encryption/node-to-node-encryption/ping-ipv4: cilium-test/host-netns-zh6p2 (10.10.0.4) -> cilium-test/host-netns-jm8gf (10.10.0.5:0)] š Executing command [ping -c 1 -W 2 -w 10 10.10.0.5] š Running /bin/sh -c ip -o route get 192.168.0.107 from 10.10.0.4 | grep -oE 'dev [^ ]' | cut -d' ' -f2 š Running in bg: tcpdump -i eth0 --immediate-mode -w /tmp/node-to-node-encryption-host-netns-zh6p2.pcap src host 10.10.0.4 and tcp and dst host 192.168.0.107 [.] Action [node-to-node-encryption/node-to-node-encryption/curl-ipv4: cilium-test/host-netns-zh6p2 (10.10.0.4) -> cilium-test/echo-other-node-64b998965-6d7pm (192.168.0.107:8080)] š Executing command [curl -w %{local_ip}:%{local_port} -> %{remote_ip}:%{remote_port} = %{response_code} --silent --fail --show-error --output /dev/null --connect-timeout 2 --max-time 10 http://192.168.0.107:8080] š Finalizing Test node-to-node-encryptionFeatures Enabled/General system information: š Detected features: š cidr-match-nodes: Disabled š cilium-network-policy: Enabled š cni-chaining: Disabled:none š enable-envoy-config: Disabled š enable-gateway-api: Disabled š enable-ipv4-egress-gateway: Disabled š encryption-node: Disabled š encryption-pod: Disabled:disabled š endpoint-routes: Enabled š flavor: Enabled:aks š health-checking: Disabled š host-firewall: Disabled š host-port: Enabled š icmp-policy: Enabled š ingress-controller: Disabled š ipv4: Enabled š ipv6: Disabled š k8s-network-policy: Enabled š kpr-external-ips: Enabled š kpr-graceful-termination: Enabled š kpr-hostport: Enabled š kpr-mode: Enabled:Strict š kpr-nodeport: Enabled š kpr-session-affinity: Enabled š kpr-socket-lb: Enabled š l7-proxy: Disabled š monitor-aggregation: Enabled:medium š mutual-auth-spiffe: Disabled š node-without-cilium: Disabled š secret-backend-k8s: Disabled š tunnel: Disabled:vxlan š wireguard-encapsulate: Disabled ā¹ļø Monitor aggregation detected, will skip some flow validation steps ā¹ļø Skipping tests that require a node Without Cilium š Validating Deployments... ā [ciliumnightly-816c6c11] Waiting for deployment cilium-test/client to become ready... ā [ciliumnightly-816c6c11] Waiting for deployment cilium-test/client2 to become ready... ā [ciliumnightly-816c6c11] Waiting for deployment cilium-test/echo-same-node to become ready... ā [ciliumnightly-816c6c11] Waiting for deployment cilium-test/echo-other-node to become ready... ā [ciliumnightly-816c6c11] Waiting for CiliumEndpoint for pod cilium-test/client-c4bfddc44-24nrv to appear... ā [ciliumnightly-816c6c11] Waiting for CiliumEndpoint for pod cilium-test/client2-5c6c769648-c6jzw to appear... ā [ciliumnightly-816c6c11] Waiting for pod cilium-test/client-c4bfddc44-24nrv to reach DNS server on cilium-test/echo-same-node-5988bfdbc-m7xqx pod... ā [ciliumnightly-816c6c11] Waiting for pod cilium-test/client2-5c6c769648-c6jzw to reach DNS server on cilium-test/echo-same-node-5988bfdbc-m7xqx pod... ā [ciliumnightly-816c6c11] Waiting for pod cilium-test/client-c4bfddc44-24nrv to reach DNS server on cilium-test/echo-other-node-64b998965-6d7pm pod... ā [ciliumnightly-816c6c11] Waiting for pod cilium-test/client2-5c6c769648-c6jzw to reach DNS server on cilium-test/echo-other-node-64b998965-6d7pm pod... ā [ciliumnightly-816c6c11] Waiting for pod cilium-test/client-c4bfddc44-24nrv to reach default/kubernetes service... ā [ciliumnightly-816c6c11] Waiting for pod cilium-test/client2-5c6c769648-c6jzw to reach default/kubernetes service... ā [ciliumnightly-816c6c11] Waiting for CiliumEndpoint for pod cilium-test/echo-other-node-64b998965-6d7pm to appear... ā [ciliumnightly-816c6c11] Waiting for CiliumEndpoint for pod cilium-test/echo-same-node-5988bfdbc-m7xqx to appear... ā [ciliumnightly-816c6c11] Waiting for Service cilium-test/echo-other-node to become ready... ā [ciliumnightly-816c6c11] Waiting for Service cilium-test/echo-other-node to be synchronized by Cilium pod kube-system/cilium-rxbwp ā [ciliumnightly-816c6c11] Waiting for Service cilium-test/echo-same-node to become ready... ā [ciliumnightly-816c6c11] Waiting for Service cilium-test/echo-same-node to be synchronized by Cilium pod kube-system/cilium-rxbwp ā [ciliumnightly-816c6c11] Waiting for NodePort 10.10.0.4:31195 (cilium-test/echo-same-node) to become ready... ā [ciliumnightly-816c6c11] Waiting for NodePort 10.10.0.4:30233 (cilium-test/echo-other-node) to become ready... ā [ciliumnightly-816c6c11] Waiting for NodePort 10.10.0.5:30233 (cilium-test/echo-other-node) to become ready... ā [ciliumnightly-816c6c11] Waiting for NodePort 10.10.0.5:31195 (cilium-test/echo-same-node) to become ready... ā¹ļø Skipping IPCache check š Enabling Hubble telescope... ā ļø Unable to contact Hubble Relay, disabling Hubble telescope and flow validation: rpc error: code = Unavailable desc = connection error: desc = "transport: Error while dialing: dial tcp 127.0.0.1:4245: connect: connection refused" ā¹ļø Expose Relay locally with: cilium hubble enable cilium hubble port-forward& ā¹ļø Cilium version: 1.15.0 š Registered connectivity tests: š <Test no-policies, 8 scenarios, 0 CNPs, expectFunc>
š <Test no-policies-extra, 2 scenarios, 0 CNPs, expectFunc >
š <Test allow-all-except-world, 5 scenarios, 1 CNPs, expectFunc >
š <Test client-ingress, 1 scenarios, 1 CNPs, expectFunc 0x2752380>
š <Test client-ingress-knp, 1 scenarios, 0 CNPs, expectFunc 0x27525a0>
š <Test allow-all-with-metrics-check, 1 scenarios, 0 CNPs, expectFunc 0x27516a0>
š <Test all-ingress-deny, 2 scenarios, 1 CNPs, expectFunc 0x2751380>
š <Test all-ingress-deny-knp, 2 scenarios, 0 CNPs, expectFunc 0x2750d40>
š <Test all-egress-deny, 2 scenarios, 1 CNPs, expectFunc 0x27527c0>
š <Test all-egress-deny-knp, 2 scenarios, 0 CNPs, expectFunc 0x27528a0>
š <Test all-entities-deny, 2 scenarios, 1 CNPs, expectFunc 0x2752980>
š <Test cluster-entity, 1 scenarios, 1 CNPs, expectFunc 0x2752a60>
š <Test host-entity, 1 scenarios, 1 CNPs, expectFunc 0x2752c20>
š <Test echo-ingress, 1 scenarios, 1 CNPs, expectFunc 0x2752d00>
š <Test echo-ingress-knp, 1 scenarios, 0 CNPs, expectFunc 0x27531c0>
š <Test client-ingress-icmp, 1 scenarios, 1 CNPs, expectFunc 0x2753420>
š <Test client-egress, 1 scenarios, 1 CNPs, expectFunc >
š <Test client-egress-knp, 1 scenarios, 0 CNPs, expectFunc >
š <Test client-egress-expression, 1 scenarios, 1 CNPs, expectFunc >
š <Test client-egress-expression-knp, 1 scenarios, 0 CNPs, expectFunc >
š <Test client-with-service-account-egress-to-echo, 1 scenarios, 1 CNPs, expectFunc >
š <Test client-egress-to-echo-service-account, 1 scenarios, 1 CNPs, expectFunc 0x2753640>
š <Test to-entities-world, 1 scenarios, 1 CNPs, expectFunc 0x27537e0>
š <Test to-cidr-external, 1 scenarios, 1 CNPs, expectFunc 0x2750980>
š <Test to-cidr-external-knp, 1 scenarios, 0 CNPs, expectFunc 0x2750720>
š <Test echo-ingress-from-other-client-deny, 3 scenarios, 3 CNPs, expectFunc 0x2753a40>
š <Test client-ingress-from-other-client-icmp-deny, 2 scenarios, 3 CNPs, expectFunc 0x2753ca0>
š <Test client-egress-to-echo-deny, 2 scenarios, 3 CNPs, expectFunc 0x2753f00>
š <Test client-ingress-to-echo-named-port-deny, 2 scenarios, 3 CNPs, expectFunc 0x2754180>
š <Test client-egress-to-echo-expression-deny, 2 scenarios, 3 CNPs, expectFunc 0x27543e0>
š <Test client-with-service-account-egress-to-echo-deny, 2 scenarios, 3 CNPs, expectFunc 0x2754640>
š <Test client-egress-to-echo-service-account-deny, 1 scenarios, 3 CNPs, expectFunc 0x27548a0>
š <Test client-egress-to-cidr-deny, 1 scenarios, 2 CNPs, expectFunc 0x27500e0>
š <Test client-egress-to-cidr-deny-default, 1 scenarios, 1 CNPs, expectFunc 0x274fd40>
š <Test health, 1 scenarios, 0 CNPs, expectFunc >
š <Test north-south-loadbalancing, 1 scenarios, 0 CNPs, expectFunc >
š <Test pod-to-pod-encryption, 1 scenarios, 0 CNPs, expectFunc >
š <Test node-to-node-encryption, 1 scenarios, 0 CNPs, expectFunc >
š <Test egress-gateway-excluded-cidrs, 1 scenarios, 0 CNPs, expectFunc >
š <Test pod-to-node-cidrpolicy, 1 scenarios, 0 CNPs, expectFunc >
š <Test north-south-loadbalancing-with-l7-policy, 1 scenarios, 1 CNPs, expectFunc >
š <Test echo-ingress-l7, 1 scenarios, 1 CNPs, expectFunc 0x2754a40>
š <Test echo-ingress-l7-named-port, 1 scenarios, 1 CNPs, expectFunc 0x2754d80>
š <Test client-egress-l7-method, 2 scenarios, 2 CNPs, expectFunc 0x27550c0>
š <Test client-egress-l7, 2 scenarios, 2 CNPs, expectFunc 0x274f6e0>
š <Test client-egress-l7-named-port, 2 scenarios, 2 CNPs, expectFunc 0x274f1a0>
š <Test client-egress-l7-tls-deny-without-headers, 1 scenarios, 1 CNPs, expectFunc 0x27553e0>
š <Test client-egress-l7-tls-headers, 1 scenarios, 1 CNPs, expectFunc 0x27554c0>
š <Test client-egress-l7-set-header, 2 scenarios, 1 CNPs, expectFunc 0x27555a0>
š <Test echo-ingress-auth-always-fail, 1 scenarios, 1 CNPs, expectFunc 0x27557e0>
š <Test echo-ingress-mutual-auth-spiffe, 1 scenarios, 1 CNPs, expectFunc >
š <Test pod-to-ingress-service, 1 scenarios, 0 CNPs, expectFunc >
š <Test pod-to-ingress-service-deny-all, 1 scenarios, 1 CNPs, expectFunc 0x27558c0>
š <Test pod-to-ingress-service-allow-ingress-identity, 1 scenarios, 2 CNPs, expectFunc >
š <Test dns-only, 2 scenarios, 1 CNPs, expectFunc 0x27559a0>
š <Test to-fqdns, 2 scenarios, 1 CNPs, expectFunc 0x274e9c0>