Namespace required for service import

已查看 43 次
跳至第一个未读帖子

Balazs Szeti

未读,
2021年1月15日 13:31:032021/1/15
收件人 submariner-users
Hi Team,

Based on my experience the namespace with a matching name must exist on the cluster importing a service from another cluster. Otherwise the DNS entry is not created.

Also there is an error in submariner-lighthouse-agent:
E0115 17:55:54.411134 1 queue.go:83] broker -> local for *v1beta1.EndpointSlice: Failed to process object with key "submariner-k8s-broker/bigfile-cluster-aws": error creating &unstructured.Unstructured{Object:map[string]interface {}{"addressType":"IPv4", "apiVersion":"discovery.k8s.io/v1beta1", "endpoints":[]interface {}{map[string]interface {}{"addresses":[]interface {}{"10.129.2.17"}, "conditions":map[string]interface {}{"ready":true}, "hostname":"bigfile-3-8zcm8", "topology":map[string]interface {}{"kubernetes.io/hostname":"ip-10-0-190-49.us-east-2.compute.internal"}}}, "kind":"EndpointSlice", "metadata":map[string]interface {}{"labels":map[string]interface {}{"endpointslice.kubernetes.io/managed-by":"lighthouse-agent.submariner.io", "lighthouse.submariner.io/sourceCluster":"cluster-aws", "lighthouse.submariner.io/sourceName":"bigfile", "lighthouse.submariner.io/sourceNamespace":"nginx", "multicluster.kubernetes.io/service-name":"bigfile-nginx-cluster-aws", "submariner-io/clusterID":"cluster-aws"}, "name":"bigfile-cluster-aws", "namespace":"nginx"}, "ports":[]interface {}{map[string]interface {}{"name":"8080-tcp", "port":8080, "protocol":"TCP"}, map[string]interface {}{"name":"8443-tcp", "port":8443, "protocol":"TCP"}}}}: namespaces "nginx" not found

Is this the expected behavior? I haven't see it in the documentation:

I tried v0.8.0.

Thanks,
Balazs

Nir Yechiel

未读,
2021年1月17日 08:01:252021/1/17
收件人 Balazs Szeti、submariner-users、Miguel Angel、Vishal Thapar

On Sat, Jan 16, 2021 at 7:31 PM Nir Yechiel <nyec...@redhat.com> wrote:
Indeed, this is expected based on our current design. I am working on some additional usage docs that should highlight this, take a look here: https://github.com/submariner-io/submariner-website/pull/386

Thanks,
Nir

On Fri, Jan 15, 2021 at 10:57 PM Balazs Szeti <bsz...@redhat.com> wrote:
OK, I understand.
Thanks for the response,
Balazs

On Fri, Jan 15, 2021 at 15:53 Miguel Angel <migue...@ajo.es> wrote:
Hey Balazs, that's correct.

Let me clarify a little bit where that comes from, I hope we can help make this as usable
as possible. We should probably clarify that in the documentation and provide a friendlier
error/status, it's related to the concept of clusterset explained in "Terminology and Concepts" here [1]
and defined on the multicluster SIG [2], at some point we wondered about what to do in this
case and this was decided:

from [2]
"""

A multi-cluster service will be imported only by clusters in which the service's namespace exists. All clusters containing the service's namespace will import the service. This means that all exporting clusters will also import the multi-cluster service. An implementation may or may not decide to create missing namespaces automatically, that behavior is out of scope of this spec.

"""

Maybe we should create the namespace automatically.



---
irc: ajo / mangelajo
Miguel Angel Ajo Pelayo
+34 636 52 25 69
skype: ajoajoajo


--
You received this message because you are subscribed to the Google Groups "submariner-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to submariner-use...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/submariner-users/a78b7010-3fb5-468e-ba46-b395e6637189n%40googlegroups.com.
--

Balazs Szeti

Principal Consultant

Red Hat Consulting

bsz...@redhat.com   
M: 6465738345    

Stephen Kitt

未读,
2021年1月18日 03:49:442021/1/18
收件人 Balazs Szeti、submariner-users
Hi Balazs,

On Fri, Jan 15, 2021 at 10:31:02AM -0800, Balazs Szeti wrote:
> Based on my experience the namespace with a matching name must exist on the
> cluster importing a service from another cluster. Otherwise the DNS entry
> is not created.

As Nir has mentioned, this is expected; it isn’t yet documented in
Submariner, but it is part of the upstream multi-cluster Kubernetes
Enhancement Proposal, KEP 1645:

> A multi-cluster service will be imported only by clusters in which
> the service's namespace exists. All clusters containing the
> service's namespace will import the service. This means that all
> exporting clusters will also import the multi-cluster service. An
> implementation may or may not decide to create missing namespaces
> automatically, that behavior is out of scope of this spec.

See
https://github.com/kubernetes/enhancements/tree/master/keps/sig-multicluster/1645-multi-cluster-services-api

Submariner doesn’t currently support creating missing namespaces.

Regards,

--
Stephen Kitt
Senior Principal Software Engineer, OpenShift Multi Cluster Networking
Red Hat
signature.asc
回复全部
回复作者
转发
0 个新帖子