Closed 631068264 closed 2 years ago
哪里有问题,可以指出来或者提个pr
https://submariner.io/getting-started/architecture/service-discovery/ 根据这里面说的关于 Lighthouse Agent和Lighthouse DNS Server的一些工作方式
kubectl --kubeconfig member2-config get svcim -A
NAMESPACE NAME TYPE IP AGE
submariner-operator serve-default-member1 ClusterSetIP ["10.45.84.26"] 13m
clusterset.local
,需要访问这个serve.default.svc.clusterset.local
而不是derived-serve
Submarine和Karmada都对MCS API进行了实现,你所指的是Submarine中的实现,与Karmada的实现不冲突。
反正我按照官网走不下去,要不然就是Karmada有bug。
@XiShanYongYe-Chang 所以为什么不行呢?
成员集群版本是多少呢?karmada MCS特性当前收集的EndpointSlice v1版本资源,可以到集群member2
上看下是否有endpointSlice从member1
上同步过来。
集群版本host member都是: v1.19.5+k3s2
kubectl --kubeconfig member2-config get endpointSlice -A
NAMESPACE NAME ADDRESSTYPE PORTS ENDPOINTS AGE
default nginx-member1 IPv4 80 10.44.0.27 5d
default serve-member1 IPv4 8080 10.44.0.29 25h
看上去没有同步成功,如果成功同步的化,会有imported-
开头的endpointSlice,如:
EndpointSlice版本确认下是不是v1的呢(k8s集群1.21开始使用v1版本EndpointSlice)。
相关链接:https://github.com/karmada-io/karmada/pull/1107#issuecomment-997159415
不是
addressType: IPv4
apiVersion: discovery.k8s.io/v1beta1
endpoints:
- addresses:
- 10.44.0.27
conditions:
ready: true
hostname: nginx-6799fc88d8-b7xmw
topology:
kubernetes.io/hostname: server-605ae265-df2b-4e91-9efa-19069d84f2d0
kind: EndpointSlice
metadata:
可以使用1.21以上的k8s集群再试试。
所以这个功能得1.21以上(EndpointSlice 是v1的)才能用? 主要是看到支持1.19的。。。行吧我升级试试
是的,文档需要说明下。
好了,只需要升级member集群就行了
好的,感谢分享
还有个问题为什么不用同名svc , 要加个derived前缀? 这个前缀可以改吗?
加这个前缀是为了跟原有的service做区别,目前是硬编码,没搞成可配置的。
可以提个需求吗
对于同名的要求,已经有issue了:#2384。 对于可配置的svc前缀,这个可以做,想了解下你那边的使用场景是怎样的;另外,如果service同名达成的话,配置前缀可能不再需要了。
如果可以的话同名的话确实不用
https://karmada.io/docs/userguide/service/multi-cluster-ingress 这个host 集群也得1.21+ 不然报错 multi-cluster-ingress-nginx 跑不起来,集群版本必须得说明一下
是的,MCI特性当前依赖MCS特性
我生成了v1版本的endpointslice,为啥还访问不通呢
是的,MCI特性当前依赖MCS特性
请问如果使用Istio而不是submariner完成了打通多集群的容器网络之后,还需要保证CIDR不重叠吗。 我看到karmada-mcs-mci里面是写的由于目前暂不支持Submariner的Global IP模式,并且官网Working with Istio on non-flat networkWorking with Istio on non-flat network上也没有提到这个要求,所以不确定这么做是否可行。 我已经进行了尝试,但是不确定是因为自己istio没有装对还是cidr冲突,无论是官网的bookinfo示例还是多集群服务发现示例都无法跑通。
我没有使用 istio 来打通多集群容器网络的经验。
但是不确定是因为自己istio没有装对还是cidr冲突
可以先排除 CIDR 冲突的因素么,比如说未不同集群设置不通的 CIDR。
@Angelica-Sinensis 感谢你的反馈~
What happened: 根据 这个https://karmada.io/docs/userguide/service/multi-cluster-service
应用部署到member1 ,运行正常
但是member2 访问不了
What you expected to happen:
mcs.yaml
部署
submariner 已经安装好了实际上也通过了https://submariner.io/operations/usage/#2-export-services-across-clusters测试 部署到member1然后
在member2 curl 是通的
Environment: Karmada version: 1.2.1 kubectl-karmada or karmadactl version (the result of kubectl-karmada version or karmadactl version): karmadactl version: version.Info{GitVersion:"v1.2.1", GitCommit:"de4972b74f848f78a58f9a0f4a4e85f243ba48f8", GitTreeState:"clean", BuildDate:"2022-07-14T09:33:33Z", GoVersion:"go1.17.11", Compiler:"gc", Platform:"linux/amd64"} Others: