ALIYUN::ASM::ServiceMesh digunakan untuk membuat instance Service Mesh (ASM).
Sintaksis
{
"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
}
}Properti
Properti | Tipe | Diperlukan | Dapat Diedit | Deskripsi | Kendala |
VpcId | String | Ya | Tidak | ID dari virtual private cloud (VPC). | Tidak ada. |
VSwitches | List | Ya | Tidak | ID dari vSwitches. | Tidak ada. |
ApiServerPublicEip | Boolean | Tidak | Tidak | Menentukan apakah akan mengekspos API server ke Internet. | Nilai yang valid:
|
AuditProject | String | Tidak | Ya | Nama proyek Simple Log Service (SLS) yang digunakan untuk audit mesh. | Nilai default: mesh-log-{meshId}. |
EnableACMG | Boolean | Tidak | Tidak | Menentukan apakah akan mengaktifkan mode Alibaba Centralized Mesh Gateway (ACMG). | Tidak ada. |
CustomizedPrometheus | Boolean | Tidak | Tidak | Menentukan apakah menggunakan instance Prometheus kustom. | Nilai yang valid:
Nilai default: |
MSEEnabled | Boolean | Tidak | Tidak | Menentukan apakah mengaktifkan Microservices Engine (MSE). | Nilai yang valid:
Nilai default: |
WebAssemblyFilterEnabled | Boolean | Tidak | Tidak | Menentukan apakah mengaktifkan WebAssembly Filter. | Nilai yang valid:
Nilai default: |
CRAggregationEnabled | Boolean | Tidak | Tidak | Menentukan apakah mengizinkan Kubernetes API kluster pada bidang data plane untuk mengakses sumber daya Istio. | Nilai yang valid:
Nilai default: |
CertChain | String | Tidak | Tidak | Rantai sertifikat dari sertifikat otoritas (CA) hingga sertifikat root. Rantai tersebut harus mencakup setidaknya dua sertifikat. | Tidak ada. |
ConfigSourceNacosID | String | Tidak | Tidak | ID instance registry Nacos. | Tidak ada. |
ConfigSourceEnabled | Boolean | Tidak | Tidak | Menentukan apakah mengaktifkan registri layanan eksternal. | Nilai yang valid:
Nilai default: |
EnableSDSServer | Boolean | Tidak | Tidak | Menentukan apakah mengaktifkan Secret Discovery Service (SDS). | Nilai yang valid:
Nilai default: |
DNSProxyingEnabled | Boolean | Tidak | Tidak | Menentukan apakah mengaktifkan fitur proxy resolusi nama domain (DNS). | Nilai yang valid:
Nilai default: |
OpaEnabled | Boolean | Tidak | Tidak | Menentukan apakah mengaktifkan plugin Open Policy Agent (OPA). | Nilai yang valid:
Nilai default: |
LocalityLBConf | String | Tidak | Tidak | Konfigurasi untuk akses ke instance ASM terdekat. | Tidak ada. |
GuestCluster | String | Tidak | Tidak | ID kluster yang ingin Anda tambahkan ke instance ASM saat membuat instance ASM. Jika Anda tidak menentukan properti ini, tidak ada kluster yang ditambahkan ke instance ASM. | Kluster dan instance ASM harus berada dalam vSwitch yang sama dari VPC yang sama dan memiliki nama domain yang sama. |
KialiEnabled | Boolean | Tidak | Tidak | Menentukan apakah mengaktifkan fitur topologi mesh. | Nilai yang valid:
Nilai default: |
ControlPlaneLogEnabled | Boolean | Tidak | Tidak | Menentukan apakah mengaktifkan pengumpulan log bidang kontrol. | Nilai yang valid:
Nilai default: |
EnableAmbient | Boolean | Tidak | Tidak | Menentukan apakah mengaktifkan mode Ambient Mesh untuk instance ASM. | Tidak ada. |
ExistingCaKey | String | Tidak | Tidak | Kunci CA yang sudah ada. | Properti ini digunakan dalam skenario di mana Anda bermigrasi dari Istio open source ke ASM. Nilai properti ini sesuai dengan konten file ca-key.pem dalam rahasia istio-ca-secret di namespace istio-system dari kluster tempat Istio open source diinstal. |
ApiServerLoadBalancerSpec | String | Tidak | Tidak | Spesifikasi instance Classic Load Balancer (CLB) yang terikat ke server API. | Nilai yang valid: |
ExcludeIPRanges | String | Tidak | Tidak | Jangkauan IP yang akan dikecualikan dari pengalihan ke proxy sidecar di instance ASM. | Tidak ada. |
FilterGatewayClusterConfig | Boolean | Tidak | Tidak | Menentukan apakah mengaktifkan fitur penyaringan konfigurasi gateway. | Nilai yang valid:
Nilai default: |
PilotLoadBalancerSpec | String | Tidak | Tidak | Spesifikasi instance CLB yang terikat ke Istio Pilot. | Nilai yang valid: |
AutoRenew | Boolean | Tidak | Tidak | Menentukan apakah mengaktifkan perpanjangan otomatis untuk instance CLB ketika instance CLB menggunakan metode penagihan berlangganan. | Nilai yang valid:
|
AccessLogServiceEnabled | Boolean | Tidak | Tidak | Menentukan apakah mengaktifkan gRPC Access Log Service (ALS) dari Envoy. | Nilai yang valid:
Nilai default: |
ExistingRootCaCert | String | Tidak | Tidak | Sertifikat root yang sudah ada. | Tidak ada. |
MysqlFilterEnabled | Boolean | Tidak | Tidak | Menentukan apakah mengaktifkan MySQL Filter. | Nilai yang valid:
Nilai default: |
GatewayAPIEnabled | Boolean | Tidak | Tidak | Menentukan apakah mengaktifkan Gateway API. | Nilai yang valid:
Nilai default: |
ControlPlaneLogProject | String | Tidak | Tidak | Nama proyek SLS yang digunakan untuk mengumpulkan log bidang kontrol. | Tidak ada. |
Edition | String | Tidak | Tidak | Edisi gratis dari instance ASM. | Tidak ada. |
UseExistingCA | Boolean | Tidak | Tidak | Menentukan apakah menggunakan sertifikat CA dan kunci privat yang sudah ada. | Tidak ada. |
ChargeType | String | Tidak | Tidak | Metode penagihan instance CLB. | Nilai yang valid:
|
ExistingCaType | String | Tidak | Tidak | Jenis sertifikat CA yang sudah ada. |
|
PlaygroundScene | String | Tidak | Tidak | Skenario playground. | Tetapkan nilai menjadi ewmaLb. Nilai ewmaLb menentukan algoritma penyeimbangan beban rata-rata bergerak eksponensial (EWMA). |
AccessLogEnabled | Boolean | Tidak | Tidak | Menentukan apakah mengaktifkan fitur pengumpulan log akses. | Nilai yang valid:
Nilai default: |
AccessLogProject | String | Tidak | Tidak | Proyek SLS tempat log akses dikumpulkan. | Tidak ada. |
ExistingRootCaKey | String | Tidak | Tidak | Kunci privat yang sesuai dengan sertifikat root. | Tidak ada. |
ExistingCaCert | String | Tidak | Tidak | Sertifikat CA yang sudah ada, yang dienkripsi dalam Base64. | Properti ini digunakan dalam skenario di mana Anda bermigrasi dari Istio open source ke ASM. Nilai properti ini sesuai dengan konten file ca-cert.pem dalam rahasia istio-ca-secret di namespace istio-system dari kluster tempat Istio open source diinstal. |
Period | Number | Tidak | Tidak | Durasi langganan instance CLB ketika instance CLB menggunakan metode penagihan berlangganan. Satuan: bulan. | Properti ini berlaku ketika ChargeType disetel ke PrePay. Jika Anda ingin berlangganan selama satu tahun, tentukan 12 sebagai nilai Period. |
ExcludeInboundPorts | String | Tidak | Tidak | Port masuk yang akan dikecualikan dari pengalihan ke proxy sidecar di instance ASM. Pisahkan beberapa nomor port dengan koma (,). | Tidak ada. |
ClusterSpec | String | Tidak | Tidak | Edisi instance ASM. | Nilai yang valid:
|
MultiBufferPollDelay | String | Tidak | Tidak | Latensi permintaan tarik. | Nilai default: 30s. |
AccessLogServicePort | Integer | Tidak | Tidak | Port gRPC ALS dari Envoy. | Tidak ada. |
ExcludeOutboundPorts | String | Tidak | Tidak | Port keluar yang akan dikecualikan dari pengalihan ke proxy sidecar di instance ASM. Pisahkan beberapa nomor port dengan koma (,). | Tidak ada. |
PrometheusUrl | String | Tidak | Tidak | Alamat instance Prometheus kustom. | Tidak ada. |
AccessLogFormat | String | Tidak | Tidak | Format kustom log akses. | Nilai properti ini harus berupa string JSON yang mencakup setidaknya kunci-kunci berikut dan nilainya: 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, dan x_forwarded_for. Contoh: |
DubboFilterEnabled | Boolean | Tidak | Tidak | Menentukan apakah mengaktifkan Dubbo Filter. | Nilai yang valid:
Nilai default: |
AutoRenewPeriod | Integer | Tidak | Tidak | Periode perpanjangan otomatis instance CLB ketika instance CLB menggunakan metode penagihan berlangganan. | Properti ini berlaku ketika |
AccessLogFile | String | Tidak | Tidak | Menentukan apakah mengaktifkan fitur pengumpulan log akses. | Nilai yang valid:
|
MultiBufferEnabled | Boolean | Tidak | Tidak | Menentukan apakah mengaktifkan percepatan Transport Layer Security (TLS) berbasis MultiBuffer. | Nilai yang valid:
Nilai default: |
EnableCRHistory | Boolean | Tidak | Tidak | Menentukan apakah mengaktifkan fitur rollback untuk sumber daya Istio. | Nilai yang valid:
Nilai default: |
AccessLogServiceHost | String | Tidak | Tidak | Alamat gRPC ALS dari Envoy. | Tidak ada. |
CustomizedZipkin | Boolean | Tidak | Ya | Menentukan apakah mengaktifkan Zipkin yang dikelola sendiri. | Nilai yang valid:
|
EnableAudit | Boolean | Tidak | Ya | Menentukan apakah mengaktifkan fitur audit mesh. | Nilai yang valid:
Catatan Untuk mengaktifkan fitur ini, Anda harus mengaktifkan SLS. |
IncludeIPRanges | String | Tidak | Ya | Jangkauan IP untuk mana lalu lintas akan dialihkan ke proxy sidecar di instance ASM. | Tidak ada. |
IstioVersion | String | Tidak | Tidak | Versi Istio. | Tidak ada. |
LocalityLoadBalancing | Boolean | Tidak | Ya | Menentukan apakah merutekan lalu lintas ke instance ASM terdekat. | Nilai yang valid:
|
Name | String | Tidak | Tidak | Nama instance ASM. | Tidak ada. |
OPA | Map | Tidak | Ya | Konfigurasi plugin OPA. | Untuk informasi lebih lanjut, lihat Properti OPA. |
OutboundTrafficPolicy | String | Tidak | Ya | Kebijakan lalu lintas keluar. | Nilai yang valid:
|
PilotPublicEip | Boolean | Tidak | Tidak | Menentukan apakah mengekspos Istio Pilot ke Internet. | Nilai yang valid:
|
Proxy | Map | Tidak | Ya | Konfigurasi proxy. | Untuk informasi lebih lanjut, lihat Properti Proxy. |
Telemetry | Boolean | Tidak | Ya | Menentukan apakah mengaktifkan fitur pemantauan Prometheus. | Kami merekomendasikan Anda menggunakan Alibaba Cloud Managed Service for Prometheus. |
TraceSampling | Number | Tidak | Ya | Persentase sampling Managed Service for OpenTelemetry. | Tidak ada. |
Tracing | Boolean | Tidak | Ya | Menentukan apakah mengaktifkan fitur analisis pelacakan. | Nilai yang valid:
Catatan Untuk mengaktifkan fitur ini, Anda harus mengaktifkan Managed Service for OpenTelemetry. |
Sintaksis OPA
"OPA": {
"OPARequestCPU": String,
"OpenAgentPolicy": Boolean,
"OPALogLevel": String,
"OPALimitCPU": String,
"OPALimitMemory": String,
"OPARequestMemory": String
}Properti OPA
Properti | Tipe | Diperlukan | Dapat Diedit | Deskripsi | Kendala |
OPALimitCPU | String | Tidak | Ya | Batas CPU dari kontainer OPA. | Tidak ada. |
OPALimitMemory | String | Tidak | Ya | Batas memori kontainer OPA. | Tidak ada. |
OPALogLevel | String | Tidak | Ya | Tingkat log kontainer OPA. | Tidak ada. |
OPARequestCPU | String | Tidak | Ya | Permintaan CPU kontainer OPA. | Tidak ada. |
OPARequestMemory | String | Tidak | Ya | Permintaan memori kontainer OPA. | Tidak ada. |
OpenAgentPolicy | Boolean | Tidak | Ya | Menentukan apakah menginstal plugin OPA. | Nilai yang valid:
|
Sintaksis Proxy
"Proxy": {
"ClusterDomain": String,
"ProxyLimitCPU": String,
"ProxyLimitMemory": String,
"ProxyRequestCPU": String,
"ProxyRequestMemory": String
}Properti Proxy
Properti | Tipe | Diperlukan | Dapat Diedit | Deskripsi | Kendala |
ClusterDomain | String | Tidak | Ya | Nama domain kluster. | Tidak ada. |
ProxyLimitCPU | String | Tidak | Ya | Batas CPU dari proxy. | Tidak ada. |
ProxyLimitMemory | String | Tidak | Ya | Batas memori dari proxy. | Tidak ada. |
ProxyRequestCPU | String | Tidak | Ya | Permintaan CPU dari proxy. | Tidak ada. |
ProxyRequestMemory | String | Tidak | Ya | Permintaan memori dari proxy. | Tidak ada. |
Nilai Pengembalian
Fn::GetAtt
ServiceMeshId: ID dari instance ASM.
Contoh
YAML format
ROSTemplateFormatVersion: '2015-09-01'
Parameters:
ZoneId:
Type: String
Description: Buat Availability Zone untuk sebuah instance untuk memastikan bahwa Availability Zone mendukung pembuatan spesifikasi sumber daya Memcache.
AssociationProperty: ALIYUN::ECS::Instance::ZoneId
Label: Zone ID
VPC:
AssociationProperty: ALIYUN::ECS::VPC::VPCId
Type: String
Description: Silakan cari ID yang dimulai dengan (vpc-xxx) dari konsol-Virtual Private Cloud
Label: Existing VPC Instance ID
VSwitch:
AssociationProperty: ALIYUN::ECS::VSwitch::VSwitchId
Type: String
Description: Silakan cari ID VSwitch bisnis yang dimulai dengan(vsw-xxx) dari konsol-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: ID dari instance ASM.
Value:
Fn::GetAtt:
- ServiceMesh
- ServiceMeshId
JSON format
{
"ROSTemplateFormatVersion": "2015-09-01",
"Parameters": {
"ZoneId": {
"Type": "String",
"Description": "Buat Availability Zone untuk sebuah instance untuk memastikan bahwa Availability Zone mendukung pembuatan spesifikasi sumber daya Memcache.",
"AssociationProperty": "ALIYUN::ECS::Instance::ZoneId",
"Label": "Zone ID"
},
"VPC": {
"AssociationProperty": "ALIYUN::ECS::VPC::VPCId",
"Type": "String",
"Description": "Silakan cari ID yang dimulai dengan (vpc-xxx) dari konsol-Virtual Private Cloud",
"Label": "Existing VPC Instance ID"
},
"VSwitch": {
"AssociationProperty": "ALIYUN::ECS::VSwitch::VSwitchId",
"Type": "String",
"Description": "Silakan cari ID VSwitch bisnis yang dimulai dengan(vsw-xxx) dari konsol-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": "ID dari instance ASM.",
"Value": {
"Fn::GetAtt": [
"ServiceMesh",
"ServiceMeshId"
]
}
}
}
}