k8snetworkplumbingwg / multus-service-archived

(TBD)

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Not able to access Multus Service

yockgen opened this issue · comments

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!

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).

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.

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.