O tipo ALIYUN::EDAS::K8sSlbBinding associa uma instância do Server Load Balancer (SLB) a uma aplicação em um cluster do Container Service for Kubernetes.
Sintaxe
{
"Type": "ALIYUN::EDAS::K8sSlbBinding",
"Properties": {
"Type": String,
"AppId": String,
"ClusterId": String,
"Scheduler": String,
"Specification": String,
"LoadBalancerId": String,
"ServicePortInfos": List
}
}
Propriedades
| Nome da propriedade | Tipo | Obrigatório | Atualização permitida | Descrição | Restrições |
| Type | String | Sim | Não | Tipo de rede da instância SLB. | Valores válidos:
|
| AppId | String | Sim | Não | ID da aplicação. | Nenhuma |
| ClusterId | String | Sim | Não | ID do cluster. | Nenhuma |
| Scheduler | String | Não | Não | Algoritmo de agendamento. | Valores válidos:
|
| Specification | String | Não | Não | Especificação da instância SLB. | Nenhuma |
| LoadBalancerId | String | Não | Não | ID da instância SLB. | Caso você não defina este parâmetro, o EDAS adquire automaticamente uma instância SLB. |
| ServicePortInfos | List | Sim | Não | Configurações de mapeamento de portas. Utilize este parâmetro para múltiplas portas ou protocolos diferentes de TCP. | Para mais informações, consulte ServicePortInfos properties. |
Sintaxe de ServicePortInfos
"ServicePortInfos": [
{
"TargetPort": Integer,
"LoadBalancerProtocol": String,
"CertId": String,
"Port": Integer
}
]
Propriedades de ServicePortInfos
| Nome da propriedade | Tipo | Obrigatório | Atualização permitida | Descrição | Restrições |
| TargetPort | Integer | Sim | Não | Porta de backend. | Valores válidos: 1 a 65535. |
| LoadBalancerProtocol | String | Sim | Não | Protocolo do SLB. | Valores válidos:
|
| CertId | String | Não | Não | ID do certificado. | Este parâmetro é obrigatório quando LoadBalancerProtocol está definido como HTTPS. |
| Port | Integer | Sim | Não | Porta de frontend. | Valores válidos: 1 a 65535. |
Valores de retorno
Fn::GetAtt
LoadBalancerName: nome da instância SLB definida no EDAS.
Address: endereço da instância SLB.
AppId: ID da aplicação.
ChangeOrderId: ID do processo de alteração.
LoadBalancerId: ID da instância SLB.
Exemplos
Formato JSON
{
"ROSTemplateFormatVersion": "2015-09-01",
"Parameters": {
"Type": {
"Type": "String",
"Description": "The type of the SLB instance. Valid values: internet and intranet.",
"AllowedValues": [
"internet",
"intranet"
],
"Default": "internet"
},
"AppId": {
"Type": "String",
"Description": "The ID of the application.",
"Default": "5a166fbd-****-****-a286-781659d9f54c"
},
"ClusterId": {
"Type": "String",
"Description": "The ID of the cluster.",
"Default": "712082c3-f554-****-****-a947b5cde6ee"
},
"ServicePortInfos": {
"Type": "Json",
"Description": "The information about the ports.",
"MinLength": 1,
"Default": [
{
"TargetPort": 8080,
"LoadBalancerProtocol": "TCP",
"Port": 80
}
]
}
},
"Resources": {
"K8sSlbBinding": {
"Type": "ALIYUN::EDAS::K8sSlbBinding",
"Properties": {
"Type": {
"Ref": "Type"
},
"AppId": {
"Ref": "AppId"
},
"ClusterId": {
"Ref": "ClusterId"
},
"ServicePortInfos": {
"Ref": "ServicePortInfos"
}
}
}
},
"Outputs": {
"LoadBalancerName": {
"Description": "The name of load balancer instance defined in EDAS.",
"Value": {
"Fn::GetAtt": [
"K8sSlbBinding",
"LoadBalancerName"
]
}
},
"Address": {
"Description": "The address of load balancer instance.",
"Value": {
"Fn::GetAtt": [
"K8sSlbBinding",
"Address"
]
}
},
"AppId": {
"Description": "The ID of the application.",
"Value": {
"Fn::GetAtt": [
"K8sSlbBinding",
"AppId"
]
}
},
"ChangeOrderId": {
"Description": "The ID of the change process.",
"Value": {
"Fn::GetAtt": [
"K8sSlbBinding",
"ChangeOrderId"
]
}
},
"LoadBalancerId": {
"Description": "The ID of load balancer instance.",
"Value": {
"Fn::GetAtt": [
"K8sSlbBinding",
"LoadBalancerId"
]
}
}
}
}