云服务器内容精选

  • 通过Kubectl命令创建M CS 对象 使用kubectl连接集群联邦,详细操作请参见使用kubectl连接集群联邦。 创建并编辑 mcs.yaml 文件,文件内容定义如下所示,参数定义请参见表2。 vi mcs.yaml 示例YAML定义的MCS对象关联了名为foo的Service,支持在cluster A中访问到部署在cluster B中的该Service。 apiVersion: networking.karmada.io/v1alpha1 kind: MultiClusterService metadata: name: foo # MCS对象名称 namespace: default # MCS对象所在命名空间名称 spec: types: - CrossCluster # 类型为集群间服务发现 providerClusters: # Service的下发集群 - name: clusterB consumerClusters: # Service的访问集群 - name: clusterA 表2 关键参数说明 参数 是否必填 参数类型 描述 metadata.name 是 String MCS对象的名称,应与关联Service保持一致。 metadata.namespace 否 String MCS对象所在命名空间名称,应与关联Service所在命名空间名称保持一致。不填则默认为default。 spec.types 是 String 流量方向,实现集群间服务发现能力应配置为CrossCluster。 spec.providerClusters.name 否 String Service的下发集群名称,应配置为Service的部署集群。不填则默认将Service下发至集群联邦内所有集群。 注意: 若Service部署在cluster B,但在下发集群中配置了cluster A与cluster B,则该Service会同时下发至cluster A与cluster B,覆盖A中的原同名Service。 spec.consumerClusters.name 否 String Service的访问集群名称,应配置为期望通过MCS实现跨集群访问Service的集群名称。不填则默认设置为所有集群联邦内集群可访问该Service。 执行如下命令创建MCS对象。 kubectl apply -f mcs.yaml 执行如下命令查看MCS对象的状态。其中foo为MCS对象的名称。 kubectl describe mcs foo YAML文件中的status字段记录了MCS的状态,当status字段中出现如下内容时,表明Endpoint Slices下发并同步成功,集群间服务发现能力可用。 status: conditions: - lastTransitionTime: "2023-11-20T02:30:49Z" message: EndpointSlices are propagated to target clusters. reason: EndpointSliceAppliedSuccess status: "True" type: EndpointSliceApplied 创建完成后,可以执行如下命令操作MCS对象。其中foo为MCS对象的名称。 获取MCS对象:kubectl get mcs foo 更新MCS对象:kubectl edit mcs foo 删除MCS对象:kubectl delete mcs foo 若MCS实例删除状态异常,一直显示“删除中”,则异常实例需要强制删除并清理资源。具体操作请参见MCS/MCI实例删除异常如何排查?
  • 通过控制台创建MCS对象 登录UCS控制台,在左侧导航栏中选择“容器舰队”。 在“容器舰队”页签下找到已开通集群联邦的舰队,单击名称进入详情页。 在左侧导航栏中选择“服务与路由”,选择“多集群服务”页签。 选择多集群服务所在命名空间,并单击右上角“创建服务”。如需新建命名空间,请参见创建命名空间。 设置访问参数。 表1 创建多集群服务参数说明 参数 说明 Service名称 自定义服务名称,可与工作负载名称保持一致。 访问类型 选择“集群内访问 ClusterIP”。 端口配置 协议:TCP或UDP,请根据业务的协议类型选择。 服务端口:容器端口映射到集群虚拟IP上的端口,用虚拟IP访问应用时使用,端口范围为1-65535,可任意指定。 容器端口:容器镜像中应用程序实际监听的端口,需用户确定。例如:nginx程序实际监听的端口为80。 命名空间 服务所在命名空间。 选择器 选择工作负载后自动获取对应的标签,不可修改。 单击“确认”。创建成功后可在“多集群服务”页签的列表中查看。
  • 设置集群网络类型 需要保证集群的网络类型支持underlay网络,以支持集群间Pod通信。支持underlay网络的集群类型如下: 表2 支持underlay网络的集群类型 集群类型 细分类型 网络类型 是否支持underlay网络 华为云集群/伙伴云集群 CCE集群 容器隧道网络 不支持 VPC网络 支持 CCE Turbo 集群 云原生网络2.0 支持 本地集群 本地集群 同时支持overlay和underlay网络。 默认为overlay网络,要启用underaly网络需要手动配置,underaly网络相关介绍与操作请参见Cilium。 支持 多云集群 多云集群 同时支持overlay和underlay网络。 默认为overlay网络,要启用underaly网络需要手动配置,underaly网络相关介绍与操作请参见Cilium。 支持 附着集群 附着集群 需支持underlay网络 取决于附着集群网络类型