华为云UCS-使用南北向MCS:创建类别为负载均衡的MCS对象
创建类别为负载均衡的M CS 对象
- 使用kubectl连接集群联邦,详细操作请参见使用kubectl连接集群联邦。
- 创建并编辑 mcs.yaml 文件,文件内容定义如下所示,参数定义请参见表1。
示例YAML定义的MCS对象关联了名为nginx的Service,将nginx的Service注册到华为云ELB的监听器上。
vi mcs.yaml
apiVersion: networking.karmada.io/v1alpha1 kind: MultiClusterService metadata: name: nginx namespace: default annotations: karmada.io/elb.id: 2050857a-45ff-4312-8fdb-4a4e2052e7dc karmada.io/elb.projectid: c6629a1623df4596a4e05bb6f0a2e166 karmada.io/elb.port: "802" karmada.io/elb.health-check-flag: "on" spec: ports: - port: 80 types: - LoadBalancer
表1 关键参数说明 参数
是否必填
参数类型
描述
metadata.name
是
String
MCS对象的名称,应与关联Service保持一致。
etadata.namespace
否
String
MCS对象所在命名空间名称,应与关联Service所在命名空间名称保持一致。不填则默认为default。
spec.types
是
String
流量方向。
实现集群间服务发现能力应配置为CrossCluster;
将服务通过ELB对外暴露应配置为LoadBalancer。
spec.ports.port
否
Integer
关联的Service需要注册到ELB监听器上的服务端口。
spec.consumerClusters.name
否
String
Service的访问集群名称,应配置为期望通过MCS实现跨集群访问Service的集群名称。不填则默认设置为所有集群联邦内集群可访问该Service。
karmada.io/elb.id
是
String
MCS关联的elb的id,不允许为空。
取值范围:1-32个字符。
karmada.io/elb.projectid
是
String
MCS关联的elb所属的项目ID,获取方法请参见获取项目ID。
取值范围:1-32个字符。
karmada.io/elb.port
否
String
MCS关联的elb的端口,不填时默认为80。
取值范围:1-65535。
karmada.io/elb.health-check-flag
否
String
是否启用健康检查,可选值为:
- on:开启
- off:不开启
不填写时默认为off。
karmada.io/elb.health-check-option
否
HealthCheck Object
健康检查参数,详情请参见HealthCheck。
说明:- 健康检查参数配置示例:
karmada.io/elb.health-check-option: '{"protocol":"TCP","delay":"5","connect_port":"80","timeout":"1","max_retries":"1","path":"/wd"}'
- 在annotation开启健康检查配置的情况下,Service名称的长度不应超过39个字符。
karmada.io/elb.lb-algorithm
否
String
转发算法:
- ROUND_ROBIN:加权轮询算法。
- LEAST_CONNECTIONS:加权最少连接算法。
- SOURCE_IP:源IP算法。
不填写时默认为ROUND_ROBIN。
表2 HealthCheck参数说明 参数
是否必填
参数类型
描述
protocol
否
String
健康检查使用的协议。支持TCP/HTTP,默认值是TCP。
connect_port
否
Int
健康检查使用的端口。取值范围[1,65535],为可选参数。
说明:默认使用后端服务器默认业务端口进行健康检查。指定特定端口后,使用指定的端口进行健康检查。
delay
否
Int
健康检查的延迟时间,以秒为单位,1-50,默认值是5秒。
timeout
否
Int
健康检查的超时时间,以秒为单位,1-50,默认值是10秒。
path
否
String
健康检查的请求URL,当type为HTTP/HTTPS时生效。
以"/"开头,默认为"/"。支持使用字母、数字和短划线(-)、正斜线(/)、半角句号(.)、百分号(%)、半角问号(?)、井号(#)和and(&)以及扩展字符集。长度为1-80个字符。
max_retries
否
Int
最大重试次数,取值范围1-10,默认值是3次。
- 执行如下命令创建MCS对象。
kubectl apply -f mcs.yaml
- 创建完成后,可以执行如下命令操作MCS对象。其中nginx为MCS对象的名称。
- 获取MCS对象:kubectl get mcs nginx
- 更新MCS对象:kubectl edit mcs nginx
- 删除MCS对象:kubectl delete mcs nginx
- OBS对象存储是免费的吗_对象存储服务_对象存储如何使用
- 华为云对象存储服务免费吗_对象存储试用_OBS对象存储如何使用
- 对象存储什么意思_华为云对象存储使用_对象存储OBS免费版
- 对象存储使用方式_OBS对象存储操作指南_好用的云存储
- 对象存储怎么用_对象存储OBS使用_OBS对象存储直播教程
- 对象存储收费吗_对象存储是什么_华为云对象存储
- 如何使用模板创建函数_模板创建函数_函数工作流 FunctionGraph-华为云
- 容器镜像创建用户并授权使用SWR_华为云SWR_容器镜像创建授权
- OBS对象存储优点_华为云对象存储试用_什么是对象存储
- 云存储什么意思_对象存储使用场景_对象存储服务优势