k8snetworkplumbingwg / multus-service-archived

(TBD)
Apache License 2.0
27 stars 9 forks source link

Not able to access Multus Service #7

Closed yockgen closed 2 years ago

yockgen commented 2 years ago

Hi, I've a following multus service setup for iperf udp server:

======================================================

//network attachment apiVersion: "k8s.cni.cncf.io/v1" kind: NetworkAttachmentDefinition metadata: name: yockgen-network spec: config: '{ "cniVersion": "0.3.1", "name": "yockgen-network", "type": "macvlan", "master": "ens8", "mode": "bridge",
"isDefaultGateway": false, "forceAddress": false, "ipMasq": false, "hairpinMode": false, "ipam": { "type": "whereabouts", "range": "10.0.0.225/28" } }'

//service kind: Service apiVersion: v1 metadata: name: yockgen-test-multus labels: service.kubernetes.io/service-proxy-name: multus-proxy annotations: k8s.v1.cni.cncf.io/service-network: yockgen-network spec: selector: app: test01pod ports: protocol: UDP port: 5001

//endpointslices root@focal01:~# kubectl get endpointslices.discovery.k8s.io NAME ADDRESSTYPE PORTS ENDPOINTS AGE kubernetes IPv4 6443 192.168.222.40 116m yockgen-test-multus-d5zpw IPv4 5001 10.233.65.5,10.233.66.38,10.233.65.60 12m yockgen-test-multus-multus-xblzr IPv4 5001 10.0.0.225,10.0.0.226,10.0.0.227 18m

==========================================================

Try multiple attempts per below: iperf -c yockgen-test-multus.default.svc.cluster.local -l 1024 -u -t 300s <- NO, not able to connect iperf -c 10-0-0-227.yockgen-test-multus.default.svc.cluster.local -l 1024 -u -t 300s <-YES, able to connect via added IP address as prefix

Why need to add target IP address prefix (10-0-0-227.yockgen-test-multus.default.svc.cluster.local) to make the service work? Why not like a regular service only via service name or cluster IP?

Please advise whether this is a bug or expected behavior.

Thanks a lot!

s1061123 commented 2 years ago

From your output, I cannot conclude whether it is a bug or not.

As we described in 'Current Status of Repository', currently the repository is too-early phase in development, so currently we do not supported how-to-deploy question because we lack these information yet, but thank you for the feedback. We will add some information (how to troubleshoot) in future, so please wait for that and troubleshoot by yourself until we make it move advanced phase (beta or some).

niloysh commented 1 year ago

Hi @s1061123, I wanted to mention that I'm running into the same issue as @yockgen. I followed this guide to test multus-service.

As you can see below, it only works if I specify the IP address in front of the service.

Screenshot 2023-04-18 at 1 18 37 AM

I also see the there is no problem resolving the service name.

s1061123 commented 1 year ago

Thank you for the comment, @niloysh This is because multus-service does not support head-less service, the Kubernetes service does not have clusterIP. https://kubernetes.io/docs/concepts/services-networking/service/#headless-services

As of the following discussion, multus-service does not support hat due to core Kubernetes implementation.