ALIYUN::ASM::ServiceMesh類型用於建立服務網格執行個體。
文法
{
"Type": "ALIYUN::ASM::ServiceMesh",
"Properties": {
"EnableAudit": Boolean,
"OPA": Map,
"IstioVersion": String,
"ApiServerPublicEip": Boolean,
"LocalityLoadBalancing": Boolean,
"Telemetry": Boolean,
"OutboundTrafficPolicy": String,
"AuditProject": String,
"TraceSampling": Number,
"Name": String,
"Proxy": Map,
"VpcId": String,
"PilotPublicEip": Boolean,
"IncludeIPRanges": String,
"VSwitches": List,
"Tracing": Boolean,
"CustomizedZipkin": Boolean,
"EnableACMG": Boolean,
"CustomizedPrometheus": Boolean,
"MSEEnabled": Boolean,
"WebAssemblyFilterEnabled": Boolean,
"CRAggregationEnabled": Boolean,
"CertChain": String,
"ConfigSourceNacosID": String,
"ConfigSourceEnabled": Boolean,
"EnableSDSServer": Boolean,
"DNSProxyingEnabled": Boolean,
"OpaEnabled": Boolean,
"LocalityLBConf": String,
"GuestCluster": String,
"KialiEnabled": Boolean,
"ControlPlaneLogEnabled": Boolean,
"EnableAmbient": Boolean,
"ExistingCaKey": String,
"ApiServerLoadBalancerSpec": String,
"ExcludeIPRanges": String,
"FilterGatewayClusterConfig": Boolean,
"PilotLoadBalancerSpec": String,
"AutoRenew": Boolean,
"AccessLogServiceEnabled": Boolean,
"ExistingRootCaCert": String,
"MysqlFilterEnabled": Boolean,
"GatewayAPIEnabled": Boolean,
"ControlPlaneLogProject": String,
"Edition": String,
"UseExistingCA": Boolean,
"ChargeType": String,
"ExistingCaType": String,
"PlaygroundScene": String,
"AccessLogEnabled": Boolean,
"AccessLogProject": String,
"ExistingRootCaKey": String,
"ExistingCaCert": String,
"Period": Number,
"ExcludeInboundPorts": String,
"ClusterSpec": String,
"MultiBufferPollDelay": String,
"AccessLogServicePort": Integer,
"ExcludeOutboundPorts": String,
"PrometheusUrl": String,
"AccessLogFormat": String,
"DubboFilterEnabled": Boolean,
"AutoRenewPeriod": Integer,
"AccessLogFile": String,
"MultiBufferEnabled": Boolean,
"EnableCRHistory": Boolean,
"AccessLogServiceHost": String
}
}屬性
屬性名稱 | 類型 | 必須 | 允許更新 | 描述 | 約束 |
VpcId | String | 是 | 否 | 專用網路ID。 | 無 |
VSwitches | List | 是 | 否 | 交換器ID。 | 無 |
ApiServerPublicEip | Boolean | 否 | 否 | 是否使用公網地址暴露API Server。 | 取值:
|
AuditProject | String | 否 | 是 | 網格審計對應的記錄項目名稱。 | 預設值:mesh-log-{meshId}。 |
EnableACMG | Boolean | 否 | 否 | 是否啟用 ACMG 模式。 | 無 |
CustomizedPrometheus | Boolean | 否 | 否 | 是否自訂 Prometheus。 | 取值:
預設值: |
MSEEnabled | Boolean | 否 | 否 | 是否啟用 MSE 微服務引擎。 | 取值:
預設值: |
WebAssemblyFilterEnabled | Boolean | 否 | 否 | 是否啟用 WebAssemblyFilter。 | 取值:
預設值: |
CRAggregationEnabled | Boolean | 否 | 否 | 是否啟用資料面叢集 Kubernetes API 訪問 Istio 資源。 | 取值:
預設值: |
CertChain | String | 否 | 否 | 從 CaCert 到 RootCert 的憑證鏈結,至少包含兩個認證。 | 無 |
ConfigSourceNacosID | String | 否 | 否 | Nacos 註冊中心執行個體 ID。 | 無 |
ConfigSourceEnabled | Boolean | 否 | 否 | 是否啟用外部服務註冊中心。 | 取值:
預設值: |
EnableSDSServer | Boolean | 否 | 否 | 是否啟用 SDS 服務。 | 取值:
預設值: |
DNSProxyingEnabled | Boolean | 否 | 否 | 是否啟用 DNS 代理能力。 | 取值:
預設值: |
OpaEnabled | Boolean | 否 | 否 | 是否啟用 OPA。 | 取值:
預設值: |
LocalityLBConf | String | 否 | 否 | 服務就近訪問配置。 | 無 |
GuestCluster | String | 否 | 否 | 建立網格時可以選擇一個叢集加入網格,若為空白時不會添加叢集。 | 該叢集需要和網格在同一個 VPC 的同一個 VSwitch 中,且叢集網域名稱相同。 |
KialiEnabled | Boolean | 否 | 否 | 是否啟用網格拓撲。 | 取值:
預設值: |
ControlPlaneLogEnabled | Boolean | 否 | 否 | 是否啟用控制面日誌採集。 | 取值:
預設值: |
EnableAmbient | Boolean | 否 | 否 | 是否為服務網格執行個體啟用 Ambient Mesh 模式。 | 無 |
ExistingCaKey | String | 否 | 否 | CA Key。 | 該參數一般用於自建 Istio 遷移 ASM 的情境下,對應自建 Istio 叢集的 istio-system 命名空間下名稱為 istio-ca-secret 的 secret 的 ca-key.pem 檔案內容。 |
ApiServerLoadBalancerSpec | String | 否 | 否 | APIServer 綁定的 CLB 規格。 | 取值:簡約型 I( |
ExcludeIPRanges | String | 否 | 否 | 排除攔截對外訪問的位址範圍。 | 無 |
FilterGatewayClusterConfig | Boolean | 否 | 否 | 是否啟用 Gateway 配置過濾。 | 取值:
預設值: |
PilotLoadBalancerSpec | String | 否 | 否 | 服務網格控制面的 Istio Pilot 綁定的 CLB 規格。 | 取值:簡約型 I( |
AutoRenew | Boolean | 否 | 否 | CLB 為訂用帳戶類型時,是否自動續約。 | 取值:
|
AccessLogServiceEnabled | Boolean | 否 | 否 | 是否啟用 Envoy 的 gRPC Log Service(ALS)。 | 取值:
預設值: |
ExistingRootCaCert | String | 否 | 否 | 已有的根憑證。 | 無 |
MysqlFilterEnabled | Boolean | 否 | 否 | 是否啟用 MysqlFilter。 | 取值:
預設值: |
GatewayAPIEnabled | Boolean | 否 | 否 | 是否啟用 Gateway API。 | 取值:
預設值: |
ControlPlaneLogProject | String | 否 | 否 | 控制面日誌採集的 SLS Project。 | 無 |
Edition | String | 否 | 否 | ASM 執行個體版本。 | 無 |
UseExistingCA | Boolean | 否 | 否 | 使用已有的 CA 憑證和私密金鑰。 | 無 |
ChargeType | String | 否 | 否 | CLB 付費類型。 | 取值:
|
ExistingCaType | String | 否 | 否 | 已有的認證類型。 |
|
PlaygroundScene | String | 否 | 否 | Playground 情境。 | 可選值:
|
AccessLogEnabled | Boolean | 否 | 否 | 是否啟用訪問日誌。 | 取值:
預設值: |
AccessLogProject | String | 否 | 否 | 訪問日誌採集的 SLS Project。 | 無 |
ExistingRootCaKey | String | 否 | 否 | 已有的根憑證對應的私密金鑰。 | 無 |
ExistingCaCert | String | 否 | 否 | CA 憑證(Base64 Encode 格式)。 | 該參數一般用於自建 Istio 遷移 ASM 的情境下,對應自建 Istio 叢集的 istio-system 命名空間下名稱為 istio-ca-secret 的 secret 的 ca-cert.pem 檔案內容。 |
Period | Number | 否 | 否 | 表示購買訂用帳戶類型的 CLB 時,購買的月份。 |
|
ExcludeInboundPorts | String | 否 | 否 | 以半形英文逗號(,)分隔的入站連接埠列表。 | 無 |
ClusterSpec | String | 否 | 否 | 服務網格執行個體規格。 | 取值:
|
MultiBufferPollDelay | String | 否 | 否 | MultiBuffer 開啟狀態同步時間。 | 預設 |
AccessLogServicePort | Integer | 否 | 否 | 啟用 Envoy 的 gRPC Log Service(ALS)的連接埠。 | 無 |
ExcludeOutboundPorts | String | 否 | 否 | 以半形英文逗號(,)分隔的出站連接埠列表。 | 無 |
PrometheusUrl | String | 否 | 否 | 自訂 Prometheus 服務地址。 | 無 |
AccessLogFormat | String | 否 | 否 | 自訂訪問日誌的格式。 | 本項字串為 JSON 格式,且 JSON 字串中必須至少包含下述的索引值:authority_for、bytes_received、bytes_sent、downstream_local_address、downstream_remote_address、duration、istio_policy_status、method、path、protocol、requested_server_name、response_code、response_flags、route_name、start_time、trace_id、upstream_cluster、upstream_host、upstream_local_address、upstream_service_time、upstream_transport_failure_reason、user_agent、x_forwarded_for。 樣本: |
DubboFilterEnabled | Boolean | 否 | 否 | 是否啟用 DubboFilter。 | 取值:
預設值: |
AutoRenewPeriod | Integer | 否 | 否 | 表示購買訂用帳戶類型的 CLB 時,自動續約的時間。 |
|
AccessLogFile | String | 否 | 否 | 開啟和關閉訪問日誌。 | 取值:
|
MultiBufferEnabled | Boolean | 否 | 否 | 是否啟用基於 MultiBuffer 的 TLS 效能最佳化。 | 取值:
預設值: |
EnableCRHistory | Boolean | 否 | 否 | 是否啟用 ASM 的 Istio 資源歷史版本管理功能。 | 取值:
預設值: |
AccessLogServiceHost | String | 否 | 否 | 啟用 Envoy 的 gRPC Log Service(ALS)的地址。 | 無 |
CustomizedZipkin | Boolean | 否 | 是 | 是否啟用自建Zipkin。 | 取值:
|
EnableAudit | Boolean | 否 | 是 | 是否啟用網格審計 。 | 取值:
說明 您需要開通阿里雲Log Service。 |
IncludeIPRanges | String | 否 | 是 | 攔截對外訪問的位址範圍。 | 無 |
IstioVersion | String | 否 | 否 | Istio版本號碼。 | 無 |
LocalityLoadBalancing | Boolean | 否 | 是 | 是否啟用服務就近訪問。 | 取值:
|
Name | String | 否 | 否 | 服務網格名稱。 | 無 |
OPA | Map | 否 | 是 | 開放策略代理。 | 更多資訊,請參見OPA屬性。 |
OutboundTrafficPolicy | String | 否 | 是 | 對外部服務的存取原則。 | 取值:
|
PilotPublicEip | Boolean | 否 | 否 | 是否使用公網地址暴露Istio Pilot。 | 取值:
|
Proxy | Map | 否 | 是 | 代理。 | 更多資訊,請參見Proxy屬性。 |
Telemetry | Boolean | 否 | 是 | 開啟採集Prometheus監控指標。 | 建議您使用阿里雲Prometheus監控。 |
TraceSampling | Number | 否 | 是 | 鏈路追蹤採樣百分比。 | 無 |
Tracing | Boolean | 否 | 是 | 是否啟用鏈路追蹤。 | 取值:
說明 您需要開通阿里雲鏈路追蹤服務。 |
OPA文法
"OPA": {
"OPARequestCPU": String,
"OpenAgentPolicy": Boolean,
"OPALogLevel": String,
"OPALimitCPU": String,
"OPALimitMemory": String,
"OPARequestMemory": String
}OPA屬性
屬性名稱 | 類型 | 必須 | 允許更新 | 描述 | 約束 |
OPALimitCPU | String | 否 | 是 | OPA代理容器的CPU資源限制。 | 無 |
OPALimitMemory | String | 否 | 是 | OPA代理容器的記憶體資源限制。 | 無 |
OPALogLevel | String | 否 | 是 | OPA代理容器記錄層級。 | 無 |
OPARequestCPU | String | 否 | 是 | OPA代理容器的CPU資源請求。 | 無 |
OPARequestMemory | String | 否 | 是 | OPA代理容器的記憶體資源請求。 | 無 |
OpenAgentPolicy | Boolean | 否 | 是 | 是否整合開放策略代理(OPA)外掛程式。 | 取值:
|
Proxy文法
"Proxy": {
"ClusterDomain": String,
"ProxyLimitCPU": String,
"ProxyLimitMemory": String,
"ProxyRequestCPU": String,
"ProxyRequestMemory": String
}Proxy屬性
屬性名稱 | 類型 | 必須 | 允許更新 | 描述 | 約束 |
ClusterDomain | String | 否 | 是 | 叢集網域名稱。 | 無 |
ProxyLimitCPU | String | 否 | 是 | CPU資源限制。 | 無 |
ProxyLimitMemory | String | 否 | 是 | 記憶體資源限制。 | 無 |
ProxyRequestCPU | String | 否 | 是 | CPU所需資源。 | 無 |
ProxyRequestMemory | String | 否 | 是 | 記憶體所需資源。 | 無 |
傳回值
Fn::GetAtt
ServiceMeshId:服務網格ID。
樣本
YAML格式
ROSTemplateFormatVersion: '2015-09-01'
Parameters:
ZoneId:
Type: String
Description: Create an Availability Zone for an instance to ensure that the Availability Zone supports the creation of Memcache resource specifications.
AssociationProperty: ALIYUN::ECS::Instance::ZoneId
Label: Zone ID
VPC:
AssociationProperty: ALIYUN::ECS::VPC::VPCId
Type: String
Description: Please search the ID starts with (vpc-xxx)from console-Virtual Private Cloud
Label: Existing VPC Instance ID
VSwitch:
AssociationProperty: ALIYUN::ECS::VSwitch::VSwitchId
Type: String
Description: Please search the business VSwitch ID starts with(vsw-xxx)from console-Virtual Private Cloud-VSwitches
Label: Existing VSwitch ID
AssociationPropertyMetadata:
VpcId: VPC
ZoneId: ZoneId
Resources:
ServiceMesh:
Type: ALIYUN::ASM::ServiceMesh
Properties:
VpcId:
Ref: VPC
VSwitches:
- Ref: VSwitch
Outputs:
ServiceMeshId:
Description: The ID of the ASM instance.
Value:
Fn::GetAtt:
- ServiceMesh
- ServiceMeshId
JSON格式
{
"ROSTemplateFormatVersion": "2015-09-01",
"Parameters": {
"ZoneId": {
"Type": "String",
"Description": "Create an Availability Zone for an instance to ensure that the Availability Zone supports the creation of Memcache resource specifications.",
"AssociationProperty": "ALIYUN::ECS::Instance::ZoneId",
"Label": "Zone ID"
},
"VPC": {
"AssociationProperty": "ALIYUN::ECS::VPC::VPCId",
"Type": "String",
"Description": "Please search the ID starts with (vpc-xxx)from console-Virtual Private Cloud",
"Label": "Existing VPC Instance ID"
},
"VSwitch": {
"AssociationProperty": "ALIYUN::ECS::VSwitch::VSwitchId",
"Type": "String",
"Description": "Please search the business VSwitch ID starts with(vsw-xxx)from console-Virtual Private Cloud-VSwitches",
"Label": "Existing VSwitch ID",
"AssociationPropertyMetadata": {
"VpcId": "VPC",
"ZoneId": "ZoneId"
}
}
},
"Resources": {
"ServiceMesh": {
"Type": "ALIYUN::ASM::ServiceMesh",
"Properties": {
"VpcId": {
"Ref": "VPC"
},
"VSwitches": [
{
"Ref": "VSwitch"
}
]
}
}
},
"Outputs": {
"ServiceMeshId": {
"Description": "The ID of the ASM instance.",
"Value": {
"Fn::GetAtt": [
"ServiceMesh",
"ServiceMeshId"
]
}
}
}
}