Microsoft.ServiceFabric managedClusters
- 최신
- 2024-04-01
- 2024-02-01-preview
- 2023-12-01-preview
- 2023-11-01-preview
- 2023-09-01-preview
- 2023-07-01-preview
- 2023-03-01-preview
- 2023-02-01-preview
- 2022-10-01-preview
- 2022-08-01-preview
- 2022-06-01-preview
- 2022-02-01-preview
- 2022-01-01
- 2021-11-01-preview
- 2021-07-01-preview
- 2021-05-01
- 2021-01-01-preview
- 2020-01-01-preview
Bicep 리소스 정의
managedClusters 리소스 종류는 다음을 대상으로 하는 작업으로 배포할 수 있습니다.
- 리소스 그룹 - 리소스 그룹 배포 명령 참조
각 API 버전에서 변경된 속성 목록은 변경 로그를 참조하세요.
리소스 형식
Microsoft.ServiceFabric/managedClusters 리소스를 만들려면 템플릿에 다음 Bicep을 추가합니다.
resource symbolicname 'Microsoft.ServiceFabric/managedClusters@2024-04-01' = {
name: 'string'
location: 'string'
tags: {
tagName1: 'tagValue1'
tagName2: 'tagValue2'
}
sku: {
name: 'string'
}
properties: {
addonFeatures: [
'string'
]
adminPassword: 'string'
adminUserName: 'string'
allowRdpAccess: bool
applicationTypeVersionsCleanupPolicy: {
maxUnusedVersionsToKeep: int
}
auxiliarySubnets: [
{
enableIpv6: bool
name: 'string'
networkSecurityGroupId: 'string'
privateEndpointNetworkPolicies: 'string'
privateLinkServiceNetworkPolicies: 'string'
}
]
azureActiveDirectory: {
clientApplication: 'string'
clusterApplication: 'string'
tenantId: 'string'
}
clientConnectionPort: int
clients: [
{
commonName: 'string'
isAdmin: bool
issuerThumbprint: 'string'
thumbprint: 'string'
}
]
clusterCodeVersion: 'string'
clusterUpgradeCadence: 'string'
clusterUpgradeMode: 'string'
ddosProtectionPlanId: 'string'
dnsName: 'string'
enableAutoOSUpgrade: bool
enableHttpGatewayExclusiveAuthMode: bool
enableIpv6: bool
enableServicePublicIP: bool
fabricSettings: [
{
name: 'string'
parameters: [
{
name: 'string'
value: 'string'
}
]
}
]
httpGatewayConnectionPort: int
httpGatewayTokenAuthConnectionPort: int
ipTags: [
{
ipTagType: 'string'
tag: 'string'
}
]
loadBalancingRules: [
{
backendPort: int
frontendPort: int
loadDistribution: 'string'
probePort: int
probeProtocol: 'string'
probeRequestPath: 'string'
protocol: 'string'
}
]
networkSecurityRules: [
{
access: 'string'
description: 'string'
destinationAddressPrefix: 'string'
destinationAddressPrefixes: [
'string'
]
destinationPortRange: 'string'
destinationPortRanges: [
'string'
]
direction: 'string'
name: 'string'
priority: int
protocol: 'string'
sourceAddressPrefix: 'string'
sourceAddressPrefixes: [
'string'
]
sourcePortRange: 'string'
sourcePortRanges: [
'string'
]
}
]
publicIPPrefixId: 'string'
publicIPv6PrefixId: 'string'
serviceEndpoints: [
{
locations: [
'string'
]
service: 'string'
}
]
subnetId: 'string'
upgradeDescription: {
deltaHealthPolicy: {
maxPercentDeltaUnhealthyApplications: int
maxPercentDeltaUnhealthyNodes: int
maxPercentUpgradeDomainDeltaUnhealthyNodes: int
}
forceRestart: bool
healthPolicy: {
maxPercentUnhealthyApplications: int
maxPercentUnhealthyNodes: int
}
monitoringPolicy: {
healthCheckRetryTimeout: 'string'
healthCheckStableDuration: 'string'
healthCheckWaitDuration: 'string'
upgradeDomainTimeout: 'string'
upgradeTimeout: 'string'
}
upgradeReplicaSetCheckTimeout: 'string'
}
useCustomVnet: bool
zonalResiliency: bool
zonalUpdateMode: 'string'
}
}
속성 값
managedClusters
Name | Description | 값 |
---|---|---|
name | 리소스 이름 | string(필수) |
위치 | Azure 리소스 위치. | string(필수) |
tags | Azure 리소스 태그. | 태그 이름 및 값의 사전입니다. 템플릿의 태그를 참조하세요. |
sku | 관리형 클러스터의 sku | Sku (필수) |
properties | 관리형 클러스터 리소스 속성 | ManagedClusterProperties |
ManagedClusterProperties
Name | Description | 값 |
---|---|---|
addonFeatures | 클러스터에서 사용하도록 설정할 추가 기능 목록입니다. | 다음 중 어느 것을 포함하는 문자열 배열: 'BackupRestoreService' 'DnsService' 'ResourceMonitorService' |
adminPassword | VM 관리자 사용자 암호입니다. | string 제약 조건: 중요한 값입니다. 보안 매개 변수로 전달합니다. |
adminUserName | VM 관리자 사용자 이름입니다. | string(필수) |
allowRdpAccess | 이를 true로 설정하면 VM에 대한 RDP 액세스가 가능합니다. 기본 NSG 규칙은 사용자 지정 네트워크 보안 규칙으로 재정의할 수 있는 인터넷으로 RDP 포트를 엽니다. 이 설정의 기본값은 false입니다. | bool |
applicationTypeVersionsCleanupPolicy | 사용되지 않는 버전을 클린 데 사용되는 정책입니다. | ApplicationTypeVersionsCleanupPolicy |
auxiliarySubnets | 클러스터에 대한 보조 서브넷입니다. | 서브넷[] |
azureActiveDirectory | 클러스터의 AAD 인증 설정입니다. | AzureActiveDirectory |
clientConnectionPort | 클러스터에 대한 클라이언트 연결에 사용되는 포트입니다. | int |
클라이언트 | 클러스터를 관리할 수 있는 클라이언트 인증서입니다. | ClientCertificate[] |
clusterCodeVersion | 클러스터의 Service Fabric 런타임 버전입니다. clusterUpgradeMode가 'Manual'으로 설정된 경우 이 속성이 필요합니다. 새 클러스터에 사용 가능한 Service Fabric 버전 목록을 얻으려면 ClusterVersion API를 사용합니다. 기존 클러스터에 사용 가능한 버전 목록을 얻으려면 availableClusterVersions를 사용합니다. | string |
clusterUpgradeCadence | 새 클러스터 런타임 버전 업그레이드가 릴리스된 후 적용되는 시기를 나타냅니다. 기본적으로 Wave0입니다. clusterUpgradeMode가 'Automatic'으로 설정된 경우에만 적용됩니다. | 'Wave0' 'Wave1' 'Wave2' |
clusterUpgradeMode | 새 Service Fabric 런타임 버전을 사용할 수 있는 경우 클러스터의 업그레이드 모드입니다. | 'Automatic' '수동' |
ddosProtectionPlanId | 클러스터의 가상 네트워크와 연결될 DDoS 네트워크 보호 계획의 리소스 ID를 지정합니다. | string |
dnsName | 클러스터 dns 이름입니다. | string(필수) |
enableAutoOSUpgrade | 이를 true로 설정하면 버전이 'latest'인 모든 플랫폼 OS 이미지를 사용하여 만든 노드 유형에 대해 자동 OS 업그레이드가 가능합니다. 이 설정의 기본값은 false입니다. | bool |
enableHttpGatewayExclusiveAuthMode | true이면 HttpGatewayEndpoint에서 토큰 기반 인증이 허용되지 않습니다. 이는 TLS 버전 1.3 이상을 지원하는 데 필요합니다. 토큰 기반 인증을 사용하는 경우 HttpGatewayTokenAuthConnectionPort를 정의해야 합니다. | bool |
enableIpv6 | 이를 true로 설정하면 클러스터에서 사용하는 기본 VNet에 대한 IPv6 주소 공간이 만들어집니다. 클러스터를 만든 후에는 이 설정을 변경할 수 없습니다. 이 설정의 기본값은 false입니다. | bool |
enableServicePublicIP | 이를 true로 설정하면 IPv4 주소가 IPv6 주소의 ServicePublicIP로 연결됩니다. 클러스터에서 IPv6을 사용하도록 설정한 경우에만 True로 설정할 수 있습니다. | bool |
fabricSettings | 클러스터를 구성할 사용자 지정 패브릭 설정 목록입니다. | SettingsSectionDescription[] |
httpGatewayConnectionPort | 클러스터에 대한 HTTP 연결에 사용되는 포트입니다. | int |
httpGatewayTokenAuthConnectionPort | 클러스터에 대한 토큰 인증 기반 HTTPS 연결에 사용되는 포트입니다. HttpGatewayEndpoint와 동일한 포트로 설정할 수 없습니다. | int |
ipTags | 클러스터의 기본 공용 IP 주소와 연결된 IP 태그 목록입니다. | IpTag[] |
loadBalancingRules | 클러스터의 공용 부하 분산 장치에 적용되는 부하 분산 규칙입니다. | LoadBalancingRule[] |
networkSecurityRules | 클러스터의 Virtual Network 적용되는 사용자 지정 네트워크 보안 규칙입니다. | NetworkSecurityRule[] |
publicIPPrefixId | 부하 분산 장치가 공용 IPv4 주소를 할당할 공용 IPv4 접두사 리소스 ID를 지정합니다. 클러스터를 만든 후에는 이 설정을 변경할 수 없습니다. | string |
publicIPv6PrefixId | 부하 분산 장치가 공용 IPv6 주소를 할당할 공용 IPv6 접두사 리소스 ID를 지정합니다. 클러스터를 만든 후에는 이 설정을 변경할 수 없습니다. | 문자열 |
serviceEndpoints | 클러스터의 서브넷에 대한 서비스 엔드포인트입니다. | ServiceEndpoint[] |
subnetId | 지정된 경우 클러스터의 노드 형식은 기본 VNet 대신 이 서브넷에 만들어집니다. 클러스터에 대해 지정된 networkSecurityRules 도 이 서브넷에 적용됩니다. 클러스터를 만든 후에는 이 설정을 변경할 수 없습니다. | 문자열 |
upgradeDescription | 클러스터를 업그레이드할 때 사용할 정책입니다. | ClusterUpgradePolicy |
useCustomVnet | 새 클러스터의 경우 이 매개 변수는 Bring Your Own VNet을 사용하지만 서브넷은 노드 유형 수준에서 지정됨을 나타냅니다. 이러한 클러스터의 경우 노드 형식에 subnetId 속성이 필요합니다. | bool |
zonalResiliency | 클러스터에 영역 복원력이 있는지를 나타냅니다. | bool |
zonalUpdateMode | 교차 Az 클러스터의 업데이트 모드를 나타냅니다. | 'Fast' '표준' |
ApplicationTypeVersionsCleanupPolicy
Name | Description | 값 |
---|---|---|
maxUnusedVersionsToKeep | 유지할 애플리케이션 유형당 사용되지 않는 버전 수입니다. | int(필수) 제약 조건: 최소값 = 0 |
서브넷
Name | Description | 값 |
---|---|---|
enableIpv6 | Ipv6을 사용하도록 설정할 웨더를 나타냅니다. 제공되지 않으면 클러스터와 동일한 구성을 사용합니다. | bool |
name | 서브넷 이름입니다. | string(필수) |
networkSecurityGroupId | 네트워크 보안 그룹의 전체 리소스 ID입니다. | 문자열 |
privateEndpointNetworkPolicies | 서브넷의 프라이빗 엔드포인트에 네트워크 정책 적용을 사용하거나 사용하지 않도록 설정합니다. | 'disabled' 'enabled' |
privateLinkServiceNetworkPolicies | 서브넷의 프라이빗 링크 서비스에 네트워크 정책 적용을 사용하거나 사용하지 않도록 설정합니다. | 'disabled' 'enabled' |
AzureActiveDirectory
Name | Description | 값 |
---|---|---|
clientApplication | Azure Active Directory 클라이언트 애플리케이션 ID입니다. | 문자열 |
clusterApplication | Azure Active Directory 클러스터 애플리케이션 ID입니다. | 문자열 |
tenantId | Azure Active Directory 테넌트 ID입니다. | string |
ClientCertificate
Name | Description | 값 |
---|---|---|
commonName | 인증서 일반 이름입니다. | string |
isAdmin | 클라이언트 인증서에 클러스터에 대한 관리자 액세스 권한이 있는지를 나타냅니다. 관리자가 아닌 클라이언트는 클러스터에서 읽기 전용 작업만 수행할 수 있습니다. | bool(필수) |
issuerThumbprint | 인증서에 대한 발급자 지문입니다. CommonName과 함께만 사용됩니다. | string |
thumbprint | 인증서 지문입니다. | string |
SettingsSectionDescription
Name | Description | 값 |
---|---|---|
name | 패브릭 설정의 섹션 이름입니다. | string(필수) |
매개 변수 | 섹션의 매개 변수 컬렉션입니다. | SettingsParameterDescription[] (필수) |
SettingsParameterDescription
Name | Description | 값 |
---|---|---|
name | 패브릭 설정의 매개 변수 이름입니다. | string(필수) |
값 | 패브릭 설정의 매개 변수 값입니다. | string(필수) |
IpTag
Name | Description | 값 |
---|---|---|
ipTagType | IP 태그 유형입니다. 예: FirstPartyUsage. | string(필수) |
태그 | 공용 IP와 연결된 IP 태그입니다. 예: SQL, 스토리지 등 | string(필수) |
LoadBalancingRule
Name | Description | 값 |
---|---|---|
backendPort | 엔드포인트의 내부 연결에 사용되는 포트입니다. 허용되는 값은 1에서 65535 사이입니다. | int(필수) 제약 조건: 최소값 = 1 최대값 = 65534 |
frontendPort | 외부 엔드포인트에 대한 포트입니다. 각 규칙의 포트 번호는 Load Balancer 내에서 고유해야 합니다. 허용되는 값은 1에서 65534 사이입니다. | int(필수) 제약 조건: 최소값 = 1 최대값 = 65534 |
loadDistribution | 이 규칙에 대한 부하 분산 정책입니다. | string |
probePort | 부하 분산 규칙에 사용되는 프로브 포트입니다. 허용되는 값은 1에서 65535 사이입니다. | int 제약 조건: 최소값 = 1 최대값 = 65534 |
probeProtocol | 부하 분산 규칙에서 사용하는 부하 분산 장치 프로브에 대한 참조입니다. | 'http '' https ''tcp'(필수) |
probeRequestPath | 프로브 요청 경로입니다. HTTP/HTTPS 프로브에 대해서만 지원됩니다. | 문자열 |
protocol | 부하 분산 규칙에서 사용하는 전송 프로토콜에 대한 참조입니다. | 'tcp' 'udp'(필수) |
NetworkSecurityRule
Name | Description | 값 |
---|---|---|
access | 네트워크 트래픽이 허용되거나 거부됩니다. | 'allow' 'deny'(필수) |
description | 네트워크 보안 규칙 설명입니다. | 문자열 |
destinationAddressPrefix | 대상 주소 접두사입니다. CIDR 또는 대상 IP 범위입니다. 모든 원본 IP가 일치하도록 별표(‘*’)를 사용할 수도 있습니다. 'VirtualNetwork', 'AzureLoadBalancer' 및 'Internet'과 같은 기본 태그도 사용할 수 있습니다. | 문자열 |
destinationAddressPrefixes | 대상 주소 접두사입니다. CIDR 또는 대상 IP 범위. | string[] |
destinationPortRange | 대상 포트 또는 범위입니다. 정수 또는 범위는 0에서 65535 사이입니다. 별표 '*'를 사용하여 모든 포트를 일치시킬 수도 있습니다. | 문자열 |
destinationPortRanges | 대상 포트 범위입니다. | string[] |
direction | 네트워크 보안 규칙 방향. | '인바운드' '아웃바운드'(필수) |
name | 네트워크 보안 규칙 이름입니다. | string(필수) |
priority | 규칙의 우선 순위입니다. 값은 1000~3000 범위일 수 있습니다. 이 범위를 벗어난 값은 Service Fabric ManagerCluster 리소스 공급자용으로 예약됩니다. 우선 순위 번호는 컬렉션의 각 규칙에 대해 고유해야 합니다. 우선 순위 번호가 낮을수록 규칙의 우선 순위가 높습니다. | int(필수) 제약 조건: 최소값 = 1000 최대값 = 3000 |
protocol | 이 규칙이 적용되는 네트워크 프로토콜입니다. | '아' 'esp' ' http '' https ''icmp' 'tcp' 'udp'(필수) |
sourceAddressPrefix | CIDR 또는 원본 IP 범위입니다. 모든 원본 IP가 일치하도록 별표(‘*’)를 사용할 수도 있습니다. 'VirtualNetwork', 'AzureLoadBalancer' 및 'Internet'과 같은 기본 태그도 사용할 수 있습니다. 수신 규칙인 경우 네트워크 트래픽이 시작되는 위치를 지정합니다. | 문자열 |
sourceAddressPrefixes | CIDR 또는 원본 IP 범위입니다. | string[] |
sourcePortRange | 원본 포트 또는 범위입니다. 정수 또는 범위는 0에서 65535 사이입니다. 별표 '*'를 사용하여 모든 포트를 일치시킬 수도 있습니다. | 문자열 |
sourcePortRanges | 원본 포트 범위입니다. | string[] |
ServiceEndpoint
Name | Description | 값 |
---|---|---|
위치 | 위치 목록입니다. | string[] |
서비스 | 엔드포인트 서비스의 형식입니다. | string(필수) |
ClusterUpgradePolicy
Name | Description | 값 |
---|---|---|
deltaHealthPolicy | 클러스터 델타 상태 정책은 클러스터 업그레이드 중에 클러스터의 상태를 평가하는 데 사용되는 상태 정책을 정의합니다. | ClusterUpgradeDeltaHealthPolicy |
forceRestart | true이면 코드 버전이 변경되지 않은 경우에도 업그레이드 중에 프로세스가 강제로 다시 시작됩니다(업그레이드는 구성 또는 데이터만 변경됨). | bool |
healthPolicy | 클러스터 상태 정책은 클러스터 업그레이드 중에 클러스터의 상태를 평가하는 데 사용되는 상태 정책을 정의합니다. | ClusterHealthPolicy |
monitoringPolicy | 클러스터 모니터링 정책은 모니터링 모드에서 업그레이드를 모니터링하기 위한 매개 변수를 설명합니다. | ClusterMonitoringPolicy |
upgradeReplicaSetCheckTimeout | 예기치 않은 문제가 있을 때 업그레이드 도메인의 처리를 차단하고 가용성의 손실을 방지하는 최대 시간입니다. 이 시간 제한이 만료되면 가용성 손실 문제와 상관없이 업그레이드 도메인 처리가 진행됩니다. 시간 제한은 각 업그레이드 도메인의 시작 시 다시 설정됩니다. 시간 제한은 hh:mm:ss 또는 d.hh:mm:ss.ms 형식일 수 있습니다. 이 값은 00:00:00에서 49710.06:28:15 사이여야 합니다(부호 없는 32비트 정수(초)) |
string |
ClusterUpgradeDeltaHealthPolicy
Name | Description | 값 |
---|---|---|
maxPercentDeltaUnhealthyApplications | 클러스터 업그레이드 중에 허용되는 최대 애플리케이션 상태 저하 비율입니다. 델타는 업그레이드 시작 시 애플리케이션의 상태와 상태 평가 시 애플리케이션의 상태 간에 측정됩니다. 클러스터의 전역 상태를 허용 한도 내로 유지하기 위해 업그레이드 도메인 업그레이드가 완료될 때마다 검사가 수행됩니다. 시스템 서비스는 이에 포함되지 않습니다. 참고: 이 값은 속성에 지정된 값을 덮어씁니다. UpgradeDescription.HealthPolicy.MaxPercentUnhealthyApplications |
int 제약 조건: 최소값 = 0 최대값 = 100 |
maxPercentDeltaUnhealthyNodes | 클러스터를 업그레이드하는 동안 허용되는 노드 상태 저하의 최대 비율입니다. 델타는 업그레이드 시작 시 노드 상태와 상태 평가 시 노드 상태 간에 측정됩니다. 클러스터의 전역 상태를 허용 한도 내로 유지하기 위해 업그레이드 도메인 업그레이드가 완료될 때마다 검사가 수행됩니다. |
int(필수) 제약 조건: 최소값 = 0 최대값 = 100 |
maxPercentUpgradeDomainDeltaUnhealthyNodes | 클러스터를 업그레이드하는 동안 허용되는 업그레이드 도메인 노드 상태 저하의 최대 비율입니다. 델타는 업그레이드 시작 시 업그레이드 도메인 노드 상태와 상태 평가 시 업그레이드 도메인 노드 상태 간에 측정됩니다. 클러스터의 전역 상태를 허용 한도 내로 유지하기 위해 업그레이드 도메인 업그레이드가 완료될 때마다 완료된 업그레이드 도메인에 대한 검사가 수행됩니다. |
int 제약 조건: 최소값 = 0 최대값 = 100 |
ClusterHealthPolicy
Name | Description | 값 |
---|---|---|
maxPercentUnhealthyApplications | 오류를 보고하기 전에 허용되는 비정상 애플리케이션의 최대 백분율입니다. 예를 들어 애플리케이션의 10%를 비정상 상태가 되도록 허용하면 값은 10입니다. 비율은 클러스터에서 오류로 처리하기 전에 비정상 상태로 있을 수 있는 애플리케이션의 최대 허용 비율을 나타냅니다. 비율은 지켜지나 비정상 애플리케이션이 적어도 하나 있다면 상태는 경고로 평가됩니다. 이 값은 클러스터에 있는 애플리케이션 인스턴스의 총 수를 비정상 애플리케이션의 수로 나눠 계산합니다. 이 때 ApplicationTypeHealthPolicyMap에 포함된 애플리케이션 형식의 애플리케이션은 제외합니다. 계산값은 적은 수의 애플리케이션에서 오류 하나를 허용할 수 있도록 반올림됩니다. 기본 비율은 0입니다. |
int(필수) 제약 조건: 최소값 = 0 최대값 = 100 |
maxPercentUnhealthyNodes | 오류를 보고하기 전에 허용되는 비정상 노드의 최대 백분율입니다. 예를 들어 노드의 10%를 비정상 상태가 되도록 허용하면 값은 10입니다. 비율은 클러스터에서 오류로 처리하기 전에 비정상 상태로 있을 수 있는 노드의 최대 허용 비율을 나타냅니다. 비율은 지켜지나 비정상 노드가 적어도 하나 있다면 상태는 경고로 평가됩니다. 이 백분율은 클러스터에 있는 노드 총 수를 비정상 노드 수로 나눠 계산합니다. 계산값은 적은 수의 노드에서 오류 하나를 허용할 수 있도록 반올림됩니다. 기본 비율은 0입니다. 대형 클러스터에는 항상 복구를 위해 다운되거나 중단되는 노드가 있으므로 이를 감안하여 이 비율을 구성해야 합니다. |
int(필수) 제약 조건: 최소값 = 0 최대값 = 100 |
ClusterMonitoringPolicy
Name | Description | 값 |
---|---|---|
healthCheckRetryTimeout | 업그레이드가 롤백되기 전에 애플리케이션 또는 클러스터가 비정상일 때 상태 평가를 다시 시도하는 시간입니다. 시간 제한은 hh:mm:ss 또는 d.hh:mm:ss.ms 형식일 수 있습니다. | string(필수) |
healthCheckStableDuration | 업그레이드가 다음 업그레이드 도메인으로 진행되기 전에 애플리케이션 또는 클러스터가 정상 상태로 유지되어야 하는 시간입니다. 기간은 hh:mm:ss 또는 d.hh:mm:ss.ms 형식일 수 있습니다. | string(필수) |
healthCheckWaitDuration | 상태 검사를 수행하기 전에 업그레이드 도메인을 완료한 후 대기할 시간입니다. 기간은 hh:mm:ss 또는 d.hh:mm:ss.ms 형식일 수 있습니다. | string(필수) |
upgradeDomainTimeout | 업그레이드가 롤백되기 전에 각 업그레이드 도메인을 완료해야 하는 시간입니다. 시간 제한은 hh:mm:ss 또는 d.hh:mm:ss.ms 형식일 수 있습니다. | string(필수) |
upgradeTimeout | 업그레이드가 롤백되기 전에 전체 업그레이드를 완료해야 하는 시간입니다. 시간 제한은 hh:mm:ss 또는 d.hh:mm:ss.ms 형식일 수 있습니다. | string(필수) |
SKU
Name | Description | 값 |
---|---|---|
name | Sku 이름입니다. | 'Basic' 'Standard'(필수) |
ARM 템플릿 리소스 정의
managedClusters 리소스 종류는 다음을 대상으로 하는 작업으로 배포할 수 있습니다.
- 리소스 그룹 - 리소스 그룹 배포 명령을 참조하세요.
각 API 버전에서 변경된 속성 목록은 변경 로그를 참조하세요.
리소스 형식
Microsoft.ServiceFabric/managedClusters 리소스를 만들려면 템플릿에 다음 JSON을 추가합니다.
{
"type": "Microsoft.ServiceFabric/managedClusters",
"apiVersion": "2024-04-01",
"name": "string",
"location": "string",
"tags": {
"tagName1": "tagValue1",
"tagName2": "tagValue2"
},
"sku": {
"name": "string"
},
"properties": {
"addonFeatures": [ "string" ],
"adminPassword": "string",
"adminUserName": "string",
"allowRdpAccess": "bool",
"applicationTypeVersionsCleanupPolicy": {
"maxUnusedVersionsToKeep": "int"
},
"auxiliarySubnets": [
{
"enableIpv6": "bool",
"name": "string",
"networkSecurityGroupId": "string",
"privateEndpointNetworkPolicies": "string",
"privateLinkServiceNetworkPolicies": "string"
}
],
"azureActiveDirectory": {
"clientApplication": "string",
"clusterApplication": "string",
"tenantId": "string"
},
"clientConnectionPort": "int",
"clients": [
{
"commonName": "string",
"isAdmin": "bool",
"issuerThumbprint": "string",
"thumbprint": "string"
}
],
"clusterCodeVersion": "string",
"clusterUpgradeCadence": "string",
"clusterUpgradeMode": "string",
"ddosProtectionPlanId": "string",
"dnsName": "string",
"enableAutoOSUpgrade": "bool",
"enableHttpGatewayExclusiveAuthMode": "bool",
"enableIpv6": "bool",
"enableServicePublicIP": "bool",
"fabricSettings": [
{
"name": "string",
"parameters": [
{
"name": "string",
"value": "string"
}
]
}
],
"httpGatewayConnectionPort": "int",
"httpGatewayTokenAuthConnectionPort": "int",
"ipTags": [
{
"ipTagType": "string",
"tag": "string"
}
],
"loadBalancingRules": [
{
"backendPort": "int",
"frontendPort": "int",
"loadDistribution": "string",
"probePort": "int",
"probeProtocol": "string",
"probeRequestPath": "string",
"protocol": "string"
}
],
"networkSecurityRules": [
{
"access": "string",
"description": "string",
"destinationAddressPrefix": "string",
"destinationAddressPrefixes": [ "string" ],
"destinationPortRange": "string",
"destinationPortRanges": [ "string" ],
"direction": "string",
"name": "string",
"priority": "int",
"protocol": "string",
"sourceAddressPrefix": "string",
"sourceAddressPrefixes": [ "string" ],
"sourcePortRange": "string",
"sourcePortRanges": [ "string" ]
}
],
"publicIPPrefixId": "string",
"publicIPv6PrefixId": "string",
"serviceEndpoints": [
{
"locations": [ "string" ],
"service": "string"
}
],
"subnetId": "string",
"upgradeDescription": {
"deltaHealthPolicy": {
"maxPercentDeltaUnhealthyApplications": "int",
"maxPercentDeltaUnhealthyNodes": "int",
"maxPercentUpgradeDomainDeltaUnhealthyNodes": "int"
},
"forceRestart": "bool",
"healthPolicy": {
"maxPercentUnhealthyApplications": "int",
"maxPercentUnhealthyNodes": "int"
},
"monitoringPolicy": {
"healthCheckRetryTimeout": "string",
"healthCheckStableDuration": "string",
"healthCheckWaitDuration": "string",
"upgradeDomainTimeout": "string",
"upgradeTimeout": "string"
},
"upgradeReplicaSetCheckTimeout": "string"
},
"useCustomVnet": "bool",
"zonalResiliency": "bool",
"zonalUpdateMode": "string"
}
}
속성 값
managedClusters
Name | Description | 값 |
---|---|---|
형식 | 리소스 종류 | 'Microsoft.ServiceFabric/managedClusters' |
apiVersion | 리소스 api 버전 | '2024-04-01' |
name | 리소스 이름 | string(필수) |
위치 | Azure 리소스 위치. | string(필수) |
tags | Azure 리소스 태그. | 태그 이름 및 값의 사전입니다. 템플릿의 태그를 참조하세요. |
sku | 관리형 클러스터의 sku | Sku (필수) |
properties | 관리형 클러스터 리소스 속성 | ManagedClusterProperties |
ManagedClusterProperties
Name | Description | 값 |
---|---|---|
addonFeatures | 클러스터에서 사용하도록 설정할 추가 기능 목록입니다. | 다음 중 어느 것을 포함하는 문자열 배열: 'BackupRestoreService' 'DnsService' 'ResourceMonitorService' |
adminPassword | VM 관리자 사용자 암호입니다. | 문자열 제약 조건: 중요한 값입니다. 보안 매개 변수로 전달합니다. |
adminUserName | VM 관리자 사용자 이름입니다. | string(필수) |
allowRdpAccess | 이를 true로 설정하면 VM에 대한 RDP 액세스를 사용할 수 있습니다. 기본 NSG 규칙은 사용자 지정 네트워크 보안 규칙으로 재정의할 수 있는 인터넷으로 RDP 포트를 엽니다. 이 설정의 기본값은 false입니다. | bool |
applicationTypeVersionsCleanupPolicy | 사용되지 않는 버전을 클린 데 사용되는 정책입니다. | ApplicationTypeVersionsCleanupPolicy |
auxiliarySubnets | 클러스터에 대한 보조 서브넷입니다. | 서브넷[] |
azureActiveDirectory | 클러스터의 AAD 인증 설정입니다. | AzureActiveDirectory |
clientConnectionPort | 클러스터에 대한 클라이언트 연결에 사용되는 포트입니다. | int |
클라이언트 | 클러스터를 관리할 수 있는 클라이언트 인증서입니다. | ClientCertificate[] |
clusterCodeVersion | 클러스터의 Service Fabric 런타임 버전입니다. clusterUpgradeMode가 '수동'으로 설정된 경우 이 속성이 필요합니다. 새 클러스터에 사용 가능한 Service Fabric 버전 목록을 얻으려면 ClusterVersion API를 사용합니다. 기존 클러스터에 사용 가능한 버전 목록을 얻으려면 availableClusterVersions를 사용합니다. | 문자열 |
clusterUpgradeCadence | 새 클러스터 런타임 버전 업그레이드가 릴리스된 후 적용되는 시기를 나타냅니다. 기본적으로 Wave0입니다. clusterUpgradeMode가 '자동'으로 설정된 경우에만 적용됩니다. | 'Wave0' 'Wave1' 'Wave2' |
clusterUpgradeMode | 새 Service Fabric 런타임 버전을 사용할 수 있는 경우 클러스터의 업그레이드 모드입니다. | 'Automatic' '수동' |
ddosProtectionPlanId | 클러스터의 가상 네트워크와 연결될 DDoS 네트워크 보호 계획의 리소스 ID를 지정합니다. | string |
dnsName | 클러스터 dns 이름입니다. | string(필수) |
enableAutoOSUpgrade | 이를 true로 설정하면 버전이 'latest'인 플랫폼 OS 이미지를 사용하여 만든 노드 유형에 대한 자동 OS 업그레이드가 가능합니다. 이 설정의 기본값은 false입니다. | bool |
enableHttpGatewayExclusiveAuthMode | true이면 HttpGatewayEndpoint에서 토큰 기반 인증이 허용되지 않습니다. 이는 TLS 버전 1.3 이상을 지원하는 데 필요합니다. 토큰 기반 인증을 사용하는 경우 HttpGatewayTokenAuthConnectionPort를 정의해야 합니다. | bool |
enableIpv6 | 이를 true로 설정하면 클러스터에서 사용하는 기본 VNet에 대한 IPv6 주소 공간이 만들어집니다. 클러스터를 만든 후에는 이 설정을 변경할 수 없습니다. 이 설정의 기본값은 false입니다. | bool |
enableServicePublicIP | 이를 true로 설정하면 IPv4 주소가 IPv6 주소의 ServicePublicIP로 연결됩니다. 클러스터에서 IPv6을 사용하도록 설정한 경우에만 True로 설정할 수 있습니다. | bool |
fabricSettings | 클러스터를 구성할 사용자 지정 패브릭 설정 목록입니다. | SettingsSectionDescription[] |
httpGatewayConnectionPort | 클러스터에 대한 HTTP 연결에 사용되는 포트입니다. | int |
httpGatewayTokenAuthConnectionPort | 클러스터에 대한 토큰 인증 기반 HTTPS 연결에 사용되는 포트입니다. HttpGatewayEndpoint와 동일한 포트로 설정할 수 없습니다. | int |
ipTags | 클러스터의 기본 공용 IP 주소와 연결된 IP 태그 목록입니다. | IpTag[] |
loadBalancingRules | 클러스터의 공용 부하 분산 장치에 적용되는 부하 분산 규칙입니다. | LoadBalancingRule[] |
networkSecurityRules | 클러스터의 Virtual Network 적용되는 사용자 지정 네트워크 보안 규칙입니다. | NetworkSecurityRule[] |
publicIPPrefixId | 부하 분산 장치가 공용 IPv4 주소를 할당할 공용 IPv4 접두사에 대한 리소스 ID를 지정합니다. 클러스터를 만든 후에는 이 설정을 변경할 수 없습니다. | string |
publicIPv6PrefixId | 부하 분산 장치가 공용 IPv6 주소를 할당할 공용 IPv6 접두사에 대한 리소스 ID를 지정합니다. 클러스터를 만든 후에는 이 설정을 변경할 수 없습니다. | 문자열 |
serviceEndpoints | 클러스터의 서브넷에 대한 서비스 엔드포인트입니다. | ServiceEndpoint[] |
subnetId | 지정된 경우 클러스터의 노드 형식은 기본 VNet 대신 이 서브넷에 만들어집니다. 클러스터에 지정된 networkSecurityRules 도 이 서브넷에 적용됩니다. 클러스터를 만든 후에는 이 설정을 변경할 수 없습니다. | 문자열 |
upgradeDescription | 클러스터를 업그레이드할 때 사용할 정책입니다. | ClusterUpgradePolicy |
useCustomVnet | 새 클러스터의 경우 이 매개 변수는 Bring Your Own VNet을 사용하지만 서브넷은 노드 유형 수준에서 지정됨을 나타냅니다. 이러한 클러스터의 경우 노드 형식에 subnetId 속성이 필요합니다. | bool |
zonalResiliency | 클러스터에 영역 복원력이 있는지를 나타냅니다. | bool |
zonalUpdateMode | 교차 Az 클러스터의 업데이트 모드를 나타냅니다. | 'Fast' 'Standard' |
ApplicationTypeVersionsCleanupPolicy
Name | Description | 값 |
---|---|---|
maxUnusedVersionsToKeep | 유지할 애플리케이션 유형당 사용되지 않는 버전 수입니다. | int(필수) 제약 조건: 최소값 = 0 |
서브넷
Name | Description | 값 |
---|---|---|
enableIpv6 | Ipv6을 사용하도록 설정할지 여부를 나타냅니다. 제공되지 않으면 클러스터와 동일한 구성을 사용합니다. | bool |
name | 서브넷 이름입니다. | string(필수) |
networkSecurityGroupId | 네트워크 보안 그룹의 전체 리소스 ID입니다. | string |
privateEndpointNetworkPolicies | 서브넷의 프라이빗 엔드포인트에 네트워크 정책 적용을 사용하거나 사용하지 않도록 설정합니다. | 'disabled' 'enabled' |
privateLinkServiceNetworkPolicies | 서브넷의 프라이빗 링크 서비스에 네트워크 정책 적용을 사용하거나 사용하지 않도록 설정합니다. | 'disabled' 'enabled' |
AzureActiveDirectory
Name | Description | 값 |
---|---|---|
clientApplication | Azure Active Directory 클라이언트 애플리케이션 ID입니다. | 문자열 |
clusterApplication | Azure Active Directory 클러스터 애플리케이션 ID입니다. | string |
tenantId | Azure Active Directory 테넌트 ID입니다. | 문자열 |
ClientCertificate
Name | Description | 값 |
---|---|---|
commonName | 인증서 일반 이름입니다. | string |
isAdmin | 클라이언트 인증서에 클러스터에 대한 관리자 액세스 권한이 있는지를 나타냅니다. 관리자가 아닌 클라이언트는 클러스터에서 읽기 전용 작업만 수행할 수 있습니다. | bool(필수) |
issuerThumbprint | 인증서에 대한 발급자 지문입니다. CommonName과 함께만 사용됩니다. | 문자열 |
thumbprint | 인증서 지문입니다. | string |
SettingsSectionDescription
Name | Description | 값 |
---|---|---|
name | 패브릭 설정의 섹션 이름입니다. | string(필수) |
매개 변수 | 섹션의 매개 변수 컬렉션입니다. | SettingsParameterDescription[] (필수) |
SettingsParameterDescription
Name | Description | 값 |
---|---|---|
name | 패브릭 설정의 매개 변수 이름입니다. | string(필수) |
값 | 패브릭 설정의 매개 변수 값입니다. | string(필수) |
IpTag
Name | Description | 값 |
---|---|---|
ipTagType | IP 태그 유형입니다. 예: FirstPartyUsage. | string(필수) |
태그 | 공용 IP와 연결된 IP 태그입니다. 예: SQL, 스토리지 등 | string(필수) |
LoadBalancingRule
Name | Description | 값 |
---|---|---|
backendPort | 엔드포인트의 내부 연결에 사용되는 포트입니다. 허용되는 값은 1에서 65535 사이입니다. | int(필수) 제약 조건: 최소값 = 1 최대값 = 65534 |
frontendPort | 외부 엔드포인트에 대한 포트입니다. 각 규칙의 포트 번호는 Load Balancer 내에서 고유해야 합니다. 허용되는 값은 1에서 65534 사이입니다. | int(필수) 제약 조건: 최소값 = 1 최대값 = 65534 |
loadDistribution | 이 규칙에 대한 부하 분산 정책입니다. | string |
probePort | 부하 분산 규칙에 사용되는 프로브 포트입니다. 허용되는 값은 1에서 65535 사이입니다. | int 제약 조건: 최소값 = 1 최대값 = 65534 |
probeProtocol | 부하 분산 규칙에서 사용하는 부하 분산 장치 프로브에 대한 참조입니다. | 'http '' https ''tcp'(필수) |
probeRequestPath | 프로브 요청 경로입니다. HTTP/HTTPS 프로브에 대해서만 지원됩니다. | string |
protocol | 부하 분산 규칙에서 사용하는 전송 프로토콜에 대한 참조입니다. | 'tcp' 'udp'(필수) |
NetworkSecurityRule
Name | Description | 값 |
---|---|---|
access | 네트워크 트래픽이 허용되거나 거부됩니다. | 'allow' 'deny'(필수) |
description | 네트워크 보안 규칙 설명입니다. | string |
destinationAddressPrefix | 대상 주소 접두사입니다. CIDR 또는 대상 IP 범위입니다. 모든 원본 IP가 일치하도록 별표(‘*’)를 사용할 수도 있습니다. 'VirtualNetwork', 'AzureLoadBalancer' 및 'Internet'과 같은 기본 태그도 사용할 수 있습니다. | string |
destinationAddressPrefixes | 대상 주소 접두사입니다. CIDR 또는 대상 IP 범위. | string[] |
destinationPortRange | 대상 포트 또는 범위입니다. 0에서 65535 사이의 정수 또는 범위입니다. 별표 '*'를 사용하여 모든 포트를 일치시킬 수도 있습니다. | string |
destinationPortRanges | 대상 포트 범위입니다. | string[] |
direction | 네트워크 보안 규칙 방향. | '인바운드' '아웃바운드'(필수) |
name | 네트워크 보안 규칙 이름입니다. | string(필수) |
priority | 규칙의 우선 순위입니다. 값은 1000~3000 범위에 있을 수 있습니다. 이 범위를 벗어난 값은 Service Fabric ManagerCluster 리소스 공급자용으로 예약됩니다. 우선 순위 번호는 컬렉션의 각 규칙에 대해 고유해야 합니다. 우선 순위 번호가 낮을수록 규칙의 우선 순위가 높습니다. | int(필수) 제약 조건: 최소값 = 1000 최대값 = 3000 |
protocol | 이 규칙이 적용되는 네트워크 프로토콜입니다. | '아' 'esp' ' http '' https ''icmp' 'tcp' 'udp'(필수) |
sourceAddressPrefix | CIDR 또는 원본 IP 범위입니다. 모든 원본 IP가 일치하도록 별표(‘*’)를 사용할 수도 있습니다. 'VirtualNetwork', 'AzureLoadBalancer' 및 'Internet'과 같은 기본 태그도 사용할 수 있습니다. 수신 규칙인 경우 네트워크 트래픽이 시작되는 위치를 지정합니다. | string |
sourceAddressPrefixes | CIDR 또는 원본 IP 범위입니다. | string[] |
sourcePortRange | 원본 포트 또는 범위입니다. 0에서 65535 사이의 정수 또는 범위입니다. 별표 '*'를 사용하여 모든 포트를 일치시킬 수도 있습니다. | string |
sourcePortRanges | 원본 포트 범위입니다. | string[] |
ServiceEndpoint
Name | Description | 값 |
---|---|---|
위치 | 위치 목록입니다. | string[] |
서비스 | 엔드포인트 서비스의 형식입니다. | string(필수) |
ClusterUpgradePolicy
Name | Description | 값 |
---|---|---|
deltaHealthPolicy | 클러스터 델타 상태 정책은 클러스터 업그레이드 중에 클러스터의 상태를 평가하는 데 사용되는 상태 정책을 정의합니다. | ClusterUpgradeDeltaHealthPolicy |
forceRestart | true이면 코드 버전이 변경되지 않은 경우에도 업그레이드 중에 프로세스가 강제로 다시 시작됩니다(업그레이드는 구성 또는 데이터만 변경됨). | bool |
healthPolicy | 클러스터 상태 정책은 클러스터 업그레이드 중에 클러스터의 상태를 평가하는 데 사용되는 상태 정책을 정의합니다. | ClusterHealthPolicy |
monitoringPolicy | 클러스터 모니터링 정책은 모니터링 모드에서 업그레이드를 모니터링하기 위한 매개 변수를 설명합니다. | ClusterMonitoringPolicy |
upgradeReplicaSetCheckTimeout | 예기치 않은 문제가 있을 때 업그레이드 도메인의 처리를 차단하고 가용성의 손실을 방지하는 최대 시간입니다. 이 시간 제한이 만료되면 가용성 손실 문제와 상관없이 업그레이드 도메인 처리가 진행됩니다. 시간 제한은 각 업그레이드 도메인의 시작 시 다시 설정됩니다. 시간 제한은 hh:mm:ss 또는 d.hh:mm:ss.ms 형식일 수 있습니다. 이 값은 00:00:00에서 49710.06:28:15 사이여야 합니다(부호 없는 32비트 정수(초)) |
문자열 |
ClusterUpgradeDeltaHealthPolicy
Name | Description | 값 |
---|---|---|
maxPercentDeltaUnhealthyApplications | 클러스터 업그레이드 중에 허용되는 최대 애플리케이션 상태 저하 비율입니다. 델타는 업그레이드 시작 시 애플리케이션의 상태와 상태 평가 시 애플리케이션의 상태 간에 측정됩니다. 클러스터의 전역 상태를 허용 한도 내로 유지하기 위해 업그레이드 도메인 업그레이드가 완료될 때마다 검사가 수행됩니다. 시스템 서비스는 이에 포함되지 않습니다. 참고: 이 값은 속성에 지정된 값을 덮어씁니다. UpgradeDescription.HealthPolicy.MaxPercentUnhealthyApplications |
int 제약 조건: 최소값 = 0 최대값 = 100 |
maxPercentDeltaUnhealthyNodes | 클러스터를 업그레이드하는 동안 허용되는 노드 상태 저하의 최대 비율입니다. 델타는 업그레이드 시작 시 노드 상태와 상태 평가 시 노드 상태 간에 측정됩니다. 클러스터의 전역 상태를 허용 한도 내로 유지하기 위해 업그레이드 도메인 업그레이드가 완료될 때마다 검사가 수행됩니다. |
int(필수) 제약 조건: 최소값 = 0 최대값 = 100 |
maxPercentUpgradeDomainDeltaUnhealthyNodes | 클러스터를 업그레이드하는 동안 허용되는 업그레이드 도메인 노드 상태 저하의 최대 비율입니다. 델타는 업그레이드 시작 시 업그레이드 도메인 노드 상태와 상태 평가 시 업그레이드 도메인 노드 상태 간에 측정됩니다. 클러스터의 전역 상태를 허용 한도 내로 유지하기 위해 업그레이드 도메인 업그레이드가 완료될 때마다 완료된 업그레이드 도메인에 대한 검사가 수행됩니다. |
int 제약 조건: 최소값 = 0 최대값 = 100 |
ClusterHealthPolicy
Name | Description | 값 |
---|---|---|
maxPercentUnhealthyApplications | 오류를 보고하기 전에 허용되는 비정상 애플리케이션의 최대 백분율입니다. 예를 들어 애플리케이션의 10%를 비정상 상태가 되도록 허용하면 값은 10입니다. 비율은 클러스터에서 오류로 처리하기 전에 비정상 상태로 있을 수 있는 애플리케이션의 최대 허용 비율을 나타냅니다. 비율은 지켜지나 비정상 애플리케이션이 적어도 하나 있다면 상태는 경고로 평가됩니다. 이 값은 클러스터에 있는 애플리케이션 인스턴스의 총 수를 비정상 애플리케이션의 수로 나눠 계산합니다. 이 때 ApplicationTypeHealthPolicyMap에 포함된 애플리케이션 형식의 애플리케이션은 제외합니다. 계산값은 적은 수의 애플리케이션에서 오류 하나를 허용할 수 있도록 반올림됩니다. 기본 비율은 0입니다. |
int(필수) 제약 조건: 최소값 = 0 최대값 = 100 |
maxPercentUnhealthyNodes | 오류를 보고하기 전에 허용되는 비정상 노드의 최대 백분율입니다. 예를 들어 노드의 10%를 비정상 상태가 되도록 허용하면 값은 10입니다. 비율은 클러스터에서 오류로 처리하기 전에 비정상 상태로 있을 수 있는 노드의 최대 허용 비율을 나타냅니다. 비율은 지켜지나 비정상 노드가 적어도 하나 있다면 상태는 경고로 평가됩니다. 이 백분율은 클러스터에 있는 노드 총 수를 비정상 노드 수로 나눠 계산합니다. 계산값은 적은 수의 노드에서 오류 하나를 허용할 수 있도록 반올림됩니다. 기본 비율은 0입니다. 대형 클러스터에는 항상 복구를 위해 다운되거나 중단되는 노드가 있으므로 이를 감안하여 이 비율을 구성해야 합니다. |
int(필수) 제약 조건: 최소값 = 0 최대값 = 100 |
ClusterMonitoringPolicy
Name | Description | 값 |
---|---|---|
healthCheckRetryTimeout | 업그레이드가 롤백되기 전에 애플리케이션 또는 클러스터가 비정상일 때 상태 평가를 다시 시도하는 시간입니다. 시간 제한은 hh:mm:ss 또는 d.hh:mm:ss.ms 형식일 수 있습니다. | string(필수) |
healthCheckStableDuration | 업그레이드가 다음 업그레이드 도메인으로 진행되기 전에 애플리케이션 또는 클러스터가 정상 상태로 유지되어야 하는 시간입니다. 기간은 hh:mm:ss 또는 d.hh:mm:ss.ms 형식일 수 있습니다. | string(필수) |
healthCheckWaitDuration | 상태 검사를 수행하기 전에 업그레이드 도메인을 완료한 후 대기할 시간입니다. 기간은 hh:mm:ss 또는 d.hh:mm:ss.ms 형식일 수 있습니다. | string(필수) |
upgradeDomainTimeout | 업그레이드가 롤백되기 전에 각 업그레이드 도메인을 완료해야 하는 시간입니다. 시간 제한은 hh:mm:ss 또는 d.hh:mm:ss.ms 형식일 수 있습니다. | string(필수) |
upgradeTimeout | 업그레이드가 롤백되기 전에 전체 업그레이드를 완료해야 하는 시간입니다. 시간 제한은 hh:mm:ss 또는 d.hh:mm:ss.ms 형식일 수 있습니다. | string(필수) |
SKU
Name | Description | 값 |
---|---|---|
name | Sku 이름입니다. | 'Basic' 'Standard'(필수) |
Terraform(AzAPI 공급자) 리소스 정의
managedClusters 리소스 종류는 다음을 대상으로 하는 작업으로 배포할 수 있습니다.
- 리소스 그룹
각 API 버전에서 변경된 속성 목록은 변경 로그를 참조하세요.
리소스 형식
Microsoft.ServiceFabric/managedClusters 리소스를 만들려면 템플릿에 다음 Terraform을 추가합니다.
resource "azapi_resource" "symbolicname" {
type = "Microsoft.ServiceFabric/managedClusters@2024-04-01"
name = "string"
location = "string"
parent_id = "string"
tags = {
tagName1 = "tagValue1"
tagName2 = "tagValue2"
}
body = jsonencode({
properties = {
addonFeatures = [
"string"
]
adminPassword = "string"
adminUserName = "string"
allowRdpAccess = bool
applicationTypeVersionsCleanupPolicy = {
maxUnusedVersionsToKeep = int
}
auxiliarySubnets = [
{
enableIpv6 = bool
name = "string"
networkSecurityGroupId = "string"
privateEndpointNetworkPolicies = "string"
privateLinkServiceNetworkPolicies = "string"
}
]
azureActiveDirectory = {
clientApplication = "string"
clusterApplication = "string"
tenantId = "string"
}
clientConnectionPort = int
clients = [
{
commonName = "string"
isAdmin = bool
issuerThumbprint = "string"
thumbprint = "string"
}
]
clusterCodeVersion = "string"
clusterUpgradeCadence = "string"
clusterUpgradeMode = "string"
ddosProtectionPlanId = "string"
dnsName = "string"
enableAutoOSUpgrade = bool
enableHttpGatewayExclusiveAuthMode = bool
enableIpv6 = bool
enableServicePublicIP = bool
fabricSettings = [
{
name = "string"
parameters = [
{
name = "string"
value = "string"
}
]
}
]
httpGatewayConnectionPort = int
httpGatewayTokenAuthConnectionPort = int
ipTags = [
{
ipTagType = "string"
tag = "string"
}
]
loadBalancingRules = [
{
backendPort = int
frontendPort = int
loadDistribution = "string"
probePort = int
probeProtocol = "string"
probeRequestPath = "string"
protocol = "string"
}
]
networkSecurityRules = [
{
access = "string"
description = "string"
destinationAddressPrefix = "string"
destinationAddressPrefixes = [
"string"
]
destinationPortRange = "string"
destinationPortRanges = [
"string"
]
direction = "string"
name = "string"
priority = int
protocol = "string"
sourceAddressPrefix = "string"
sourceAddressPrefixes = [
"string"
]
sourcePortRange = "string"
sourcePortRanges = [
"string"
]
}
]
publicIPPrefixId = "string"
publicIPv6PrefixId = "string"
serviceEndpoints = [
{
locations = [
"string"
]
service = "string"
}
]
subnetId = "string"
upgradeDescription = {
deltaHealthPolicy = {
maxPercentDeltaUnhealthyApplications = int
maxPercentDeltaUnhealthyNodes = int
maxPercentUpgradeDomainDeltaUnhealthyNodes = int
}
forceRestart = bool
healthPolicy = {
maxPercentUnhealthyApplications = int
maxPercentUnhealthyNodes = int
}
monitoringPolicy = {
healthCheckRetryTimeout = "string"
healthCheckStableDuration = "string"
healthCheckWaitDuration = "string"
upgradeDomainTimeout = "string"
upgradeTimeout = "string"
}
upgradeReplicaSetCheckTimeout = "string"
}
useCustomVnet = bool
zonalResiliency = bool
zonalUpdateMode = "string"
}
sku = {
name = "string"
}
})
}
속성 값
managedClusters
Name | Description | 값 |
---|---|---|
형식 | 리소스 종류 | "Microsoft.ServiceFabric/managedClusters@2024-04-01" |
name | 리소스 이름 | string(필수) |
위치 | Azure 리소스 위치. | string(필수) |
parent_id | 리소스 그룹에 배포하려면 해당 리소스 그룹의 ID를 사용합니다. | string(필수) |
tags | Azure 리소스 태그. | 태그 이름 및 값의 사전입니다. |
sku | 관리형 클러스터의 sku | Sku (필수) |
properties | 관리형 클러스터 리소스 속성 | ManagedClusterProperties |
ManagedClusterProperties
Name | Description | 값 |
---|---|---|
addonFeatures | 클러스터에서 사용하도록 설정할 추가 기능 목록입니다. | 다음 중 어느 것을 포함하는 문자열 배열: "BackupRestoreService" "DnsService" "ResourceMonitorService" |
adminPassword | VM 관리자 사용자 암호입니다. | 문자열 제약 조건: 중요한 값입니다. 보안 매개 변수로 전달합니다. |
adminUserName | VM 관리자 사용자 이름입니다. | string(필수) |
allowRdpAccess | 이를 true로 설정하면 VM에 대한 RDP 액세스가 가능합니다. 기본 NSG 규칙은 사용자 지정 네트워크 보안 규칙으로 재정의할 수 있는 인터넷으로 RDP 포트를 엽니다. 이 설정의 기본값은 false입니다. | bool |
applicationTypeVersionsCleanupPolicy | 사용되지 않는 버전을 클린 데 사용되는 정책입니다. | ApplicationTypeVersionsCleanupPolicy |
auxiliarySubnets | 클러스터에 대한 보조 서브넷입니다. | 서브넷[] |
azureActiveDirectory | 클러스터의 AAD 인증 설정입니다. | AzureActiveDirectory |
clientConnectionPort | 클러스터에 대한 클라이언트 연결에 사용되는 포트입니다. | int |
클라이언트 | 클러스터를 관리할 수 있는 클라이언트 인증서입니다. | ClientCertificate[] |
clusterCodeVersion | 클러스터의 Service Fabric 런타임 버전입니다. clusterUpgradeMode가 'Manual'으로 설정된 경우 이 속성이 필요합니다. 새 클러스터에 사용 가능한 Service Fabric 버전 목록을 얻으려면 ClusterVersion API를 사용합니다. 기존 클러스터에 사용 가능한 버전 목록을 얻으려면 availableClusterVersions를 사용합니다. | string |
clusterUpgradeCadence | 새 클러스터 런타임 버전 업그레이드가 릴리스된 후 적용되는 시기를 나타냅니다. 기본적으로 Wave0입니다. clusterUpgradeMode가 'Automatic'으로 설정된 경우에만 적용됩니다. | "Wave0" "Wave1" "Wave2" |
clusterUpgradeMode | 새 Service Fabric 런타임 버전을 사용할 수 있는 경우 클러스터의 업그레이드 모드입니다. | "자동" "수동" |
ddosProtectionPlanId | 클러스터의 가상 네트워크와 연결될 DDoS 네트워크 보호 계획의 리소스 ID를 지정합니다. | string |
dnsName | 클러스터 dns 이름입니다. | string(필수) |
enableAutoOSUpgrade | 이를 true로 설정하면 버전이 'latest'인 모든 플랫폼 OS 이미지를 사용하여 만든 노드 유형에 대해 자동 OS 업그레이드가 가능합니다. 이 설정의 기본값은 false입니다. | bool |
enableHttpGatewayExclusiveAuthMode | true이면 HttpGatewayEndpoint에서 토큰 기반 인증이 허용되지 않습니다. 이는 TLS 버전 1.3 이상을 지원하는 데 필요합니다. 토큰 기반 인증을 사용하는 경우 HttpGatewayTokenAuthConnectionPort를 정의해야 합니다. | bool |
enableIpv6 | 이를 true로 설정하면 클러스터에서 사용하는 기본 VNet에 대한 IPv6 주소 공간이 만들어집니다. 클러스터를 만든 후에는 이 설정을 변경할 수 없습니다. 이 설정의 기본값은 false입니다. | bool |
enableServicePublicIP | 이를 true로 설정하면 IPv4 주소가 IPv6 주소의 ServicePublicIP로 연결됩니다. 클러스터에서 IPv6을 사용하도록 설정한 경우에만 True로 설정할 수 있습니다. | bool |
fabricSettings | 클러스터를 구성할 사용자 지정 패브릭 설정 목록입니다. | SettingsSectionDescription[] |
httpGatewayConnectionPort | 클러스터에 대한 HTTP 연결에 사용되는 포트입니다. | int |
httpGatewayTokenAuthConnectionPort | 클러스터에 대한 토큰 인증 기반 HTTPS 연결에 사용되는 포트입니다. HttpGatewayEndpoint와 동일한 포트로 설정할 수 없습니다. | int |
ipTags | 클러스터의 기본 공용 IP 주소와 연결된 IP 태그 목록입니다. | IpTag[] |
loadBalancingRules | 클러스터의 공용 부하 분산 장치에 적용되는 부하 분산 규칙입니다. | LoadBalancingRule[] |
networkSecurityRules | 클러스터의 Virtual Network 적용되는 사용자 지정 네트워크 보안 규칙입니다. | NetworkSecurityRule[] |
publicIPPrefixId | 부하 분산 장치가 공용 IPv4 주소를 할당할 공용 IPv4 접두사에 대한 리소스 ID를 지정합니다. 클러스터를 만든 후에는 이 설정을 변경할 수 없습니다. | string |
publicIPv6PrefixId | 부하 분산 장치가 공용 IPv6 주소를 할당할 공용 IPv6 접두사에 대한 리소스 ID를 지정합니다. 클러스터를 만든 후에는 이 설정을 변경할 수 없습니다. | 문자열 |
serviceEndpoints | 클러스터의 서브넷에 대한 서비스 엔드포인트입니다. | ServiceEndpoint[] |
subnetId | 지정된 경우 클러스터의 노드 형식은 기본 VNet 대신 이 서브넷에 만들어집니다. 클러스터에 지정된 networkSecurityRules 도 이 서브넷에 적용됩니다. 클러스터를 만든 후에는 이 설정을 변경할 수 없습니다. | string |
upgradeDescription | 클러스터를 업그레이드할 때 사용할 정책입니다. | ClusterUpgradePolicy |
useCustomVnet | 새 클러스터의 경우 이 매개 변수는 Bring Your Own VNet을 사용하지만 서브넷은 노드 유형 수준에서 지정됨을 나타냅니다. 이러한 클러스터의 경우 노드 형식에 subnetId 속성이 필요합니다. | bool |
zonalResiliency | 클러스터에 영역 복원력이 있는지를 나타냅니다. | bool |
zonalUpdateMode | 교차 Az 클러스터의 업데이트 모드를 나타냅니다. | "빠른" "표준" |
ApplicationTypeVersionsCleanupPolicy
Name | Description | 값 |
---|---|---|
maxUnusedVersionsToKeep | 유지할 애플리케이션 유형당 사용되지 않는 버전 수입니다. | int(필수) 제약 조건: 최소값 = 0 |
서브넷
Name | Description | 값 |
---|---|---|
enableIpv6 | Ipv6을 사용하도록 설정할지 여부를 나타냅니다. 제공되지 않으면 클러스터와 동일한 구성을 사용합니다. | bool |
name | 서브넷 이름입니다. | string(필수) |
networkSecurityGroupId | 네트워크 보안 그룹의 전체 리소스 ID입니다. | string |
privateEndpointNetworkPolicies | 서브넷의 프라이빗 엔드포인트에 네트워크 정책 적용을 사용하거나 사용하지 않도록 설정합니다. | "disabled" "enabled" |
privateLinkServiceNetworkPolicies | 서브넷의 프라이빗 링크 서비스에 네트워크 정책 적용을 사용하거나 사용하지 않도록 설정합니다. | "disabled" "enabled" |
AzureActiveDirectory
Name | Description | 값 |
---|---|---|
clientApplication | Azure Active Directory 클라이언트 애플리케이션 ID입니다. | 문자열 |
clusterApplication | Azure Active Directory 클러스터 애플리케이션 ID입니다. | 문자열 |
tenantId | Azure Active Directory 테넌트 ID입니다. | 문자열 |
ClientCertificate
Name | Description | 값 |
---|---|---|
commonName | 인증서 일반 이름입니다. | 문자열 |
isAdmin | 클라이언트 인증서에 클러스터에 대한 관리자 액세스 권한이 있는지를 나타냅니다. 관리자가 아닌 클라이언트는 클러스터에서 읽기 전용 작업만 수행할 수 있습니다. | bool(필수) |
issuerThumbprint | 인증서에 대한 발급자 지문입니다. CommonName과 함께만 사용됩니다. | 문자열 |
thumbprint | 인증서 지문입니다. | 문자열 |
SettingsSectionDescription
Name | Description | 값 |
---|---|---|
name | 패브릭 설정의 섹션 이름입니다. | string(필수) |
매개 변수 | 섹션의 매개 변수 컬렉션입니다. | SettingsParameterDescription[] (필수) |
SettingsParameterDescription
Name | Description | 값 |
---|---|---|
name | 패브릭 설정의 매개 변수 이름입니다. | string(필수) |
값 | 패브릭 설정의 매개 변수 값입니다. | string(필수) |
IpTag
Name | Description | 값 |
---|---|---|
ipTagType | IP 태그 유형입니다. 예: FirstPartyUsage. | string(필수) |
태그 | 공용 IP와 연결된 IP 태그입니다. 예: SQL, 스토리지 등 | string(필수) |
LoadBalancingRule
Name | Description | 값 |
---|---|---|
backendPort | 엔드포인트의 내부 연결에 사용되는 포트입니다. 허용되는 값은 1에서 65535 사이입니다. | int(필수) 제약 조건: 최소값 = 1 최대값 = 65534 |
frontendPort | 외부 엔드포인트에 대한 포트입니다. 각 규칙의 포트 번호는 Load Balancer 내에서 고유해야 합니다. 허용되는 값은 1에서 65534 사이입니다. | int(필수) 제약 조건: 최소값 = 1 최대값 = 65534 |
loadDistribution | 이 규칙에 대한 부하 분산 정책입니다. | 문자열 |
probePort | 부하 분산 규칙에 사용되는 프로브 포트입니다. 허용되는 값은 1에서 65535 사이입니다. | int 제약 조건: 최소값 = 1 최대값 = 65534 |
probeProtocol | 부하 분산 규칙에서 사용하는 부하 분산 장치 프로브에 대한 참조입니다. | "http "" https ""tcp"(필수) |
probeRequestPath | 프로브 요청 경로입니다. HTTP/HTTPS 프로브에 대해서만 지원됩니다. | 문자열 |
protocol | 부하 분산 규칙에서 사용하는 전송 프로토콜에 대한 참조입니다. | "tcp" "udp"(필수) |
NetworkSecurityRule
Name | Description | 값 |
---|---|---|
access | 네트워크 트래픽이 허용되거나 거부됩니다. | "allow" "deny"(필수) |
description | 네트워크 보안 규칙 설명입니다. | string |
destinationAddressPrefix | 대상 주소 접두사입니다. CIDR 또는 대상 IP 범위입니다. 모든 원본 IP가 일치하도록 별표(‘*’)를 사용할 수도 있습니다. 'VirtualNetwork', 'AzureLoadBalancer' 및 'Internet'과 같은 기본 태그도 사용할 수 있습니다. | string |
destinationAddressPrefixes | 대상 주소 접두사입니다. CIDR 또는 대상 IP 범위. | string[] |
destinationPortRange | 대상 포트 또는 범위입니다. 0에서 65535 사이의 정수 또는 범위입니다. 별표 '*'를 사용하여 모든 포트를 일치시킬 수도 있습니다. | string |
destinationPortRanges | 대상 포트 범위입니다. | string[] |
direction | 네트워크 보안 규칙 방향. | "인바운드" "아웃바운드"(필수) |
name | 네트워크 보안 규칙 이름입니다. | string(필수) |
priority | 규칙의 우선 순위입니다. 값은 1000~3000 범위에 있을 수 있습니다. 이 범위를 벗어난 값은 Service Fabric ManagerCluster 리소스 공급자용으로 예약됩니다. 우선 순위 번호는 컬렉션의 각 규칙에 대해 고유해야 합니다. 우선 순위 번호가 낮을수록 규칙의 우선 순위가 높습니다. | int(필수) 제약 조건: 최소값 = 1000 최대값 = 3000 |
protocol | 이 규칙이 적용되는 네트워크 프로토콜입니다. | "아" "esp" " http "" https ""icmp" "tcp" "udp"(필수) |
sourceAddressPrefix | CIDR 또는 원본 IP 범위입니다. 모든 원본 IP가 일치하도록 별표(‘*’)를 사용할 수도 있습니다. 'VirtualNetwork', 'AzureLoadBalancer' 및 'Internet'과 같은 기본 태그도 사용할 수 있습니다. 수신 규칙인 경우 네트워크 트래픽이 시작되는 위치를 지정합니다. | string |
sourceAddressPrefixes | CIDR 또는 원본 IP 범위입니다. | string[] |
sourcePortRange | 원본 포트 또는 범위입니다. 0에서 65535 사이의 정수 또는 범위입니다. 별표 '*'를 사용하여 모든 포트를 일치시킬 수도 있습니다. | string |
sourcePortRanges | 원본 포트 범위입니다. | string[] |
ServiceEndpoint
Name | Description | 값 |
---|---|---|
위치 | 위치 목록입니다. | string[] |
서비스 | 엔드포인트 서비스의 형식입니다. | string(필수) |
ClusterUpgradePolicy
Name | Description | 값 |
---|---|---|
deltaHealthPolicy | 클러스터 델타 상태 정책은 클러스터 업그레이드 중에 클러스터의 상태를 평가하는 데 사용되는 상태 정책을 정의합니다. | ClusterUpgradeDeltaHealthPolicy |
forceRestart | true이면 코드 버전이 변경되지 않은 경우에도 업그레이드 중에 프로세스가 강제로 다시 시작됩니다(업그레이드는 구성 또는 데이터만 변경됨). | bool |
healthPolicy | 클러스터 상태 정책은 클러스터 업그레이드 중에 클러스터의 상태를 평가하는 데 사용되는 상태 정책을 정의합니다. | ClusterHealthPolicy |
monitoringPolicy | 클러스터 모니터링 정책은 모니터링 모드에서 업그레이드를 모니터링하기 위한 매개 변수를 설명합니다. | ClusterMonitoringPolicy |
upgradeReplicaSetCheckTimeout | 예기치 않은 문제가 있을 때 업그레이드 도메인의 처리를 차단하고 가용성의 손실을 방지하는 최대 시간입니다. 이 시간 제한이 만료되면 가용성 손실 문제와 상관없이 업그레이드 도메인 처리가 진행됩니다. 시간 제한은 각 업그레이드 도메인의 시작 시 다시 설정됩니다. 시간 제한은 hh:mm:ss 또는 d.hh:mm:ss.ms 형식일 수 있습니다. 이 값은 00:00:00에서 49710.06:28:15 사이여야 합니다(부호 없는 32비트 정수(초) |
문자열 |
ClusterUpgradeDeltaHealthPolicy
Name | Description | 값 |
---|---|---|
maxPercentDeltaUnhealthyApplications | 클러스터 업그레이드 중에 허용되는 최대 애플리케이션 상태 저하 비율입니다. 델타는 업그레이드 시작 시 애플리케이션의 상태와 상태 평가 시 애플리케이션 상태 간에 측정됩니다. 클러스터의 전역 상태를 허용 한도 내로 유지하기 위해 업그레이드 도메인 업그레이드가 완료될 때마다 검사가 수행됩니다. 시스템 서비스는 이에 포함되지 않습니다. 참고: 이 값은 속성에 지정된 값을 덮어씁니다. UpgradeDescription.HealthPolicy.MaxPercentUnhealthyApplications |
int 제약 조건: 최소값 = 0 최대값 = 100 |
maxPercentDeltaUnhealthyNodes | 클러스터를 업그레이드하는 동안 허용되는 노드 상태 저하의 최대 비율입니다. 델타는 업그레이드 시작 시 노드 상태와 상태 평가 시 노드 상태 간에 측정됩니다. 클러스터의 전역 상태를 허용 한도 내로 유지하기 위해 업그레이드 도메인 업그레이드가 완료될 때마다 검사가 수행됩니다. |
int(필수) 제약 조건: 최소값 = 0 최대값 = 100 |
maxPercentUpgradeDomainDeltaUnhealthyNodes | 클러스터를 업그레이드하는 동안 허용되는 업그레이드 도메인 노드 상태 저하의 최대 비율입니다. 델타는 업그레이드 시작 시 업그레이드 도메인 노드 상태와 상태 평가 시 업그레이드 도메인 노드 상태 간에 측정됩니다. 클러스터의 전역 상태를 허용 한도 내로 유지하기 위해 업그레이드 도메인 업그레이드가 완료될 때마다 완료된 업그레이드 도메인에 대한 검사가 수행됩니다. |
int 제약 조건: 최소값 = 0 최대값 = 100 |
ClusterHealthPolicy
Name | Description | 값 |
---|---|---|
maxPercentUnhealthyApplications | 오류를 보고하기 전에 허용되는 비정상 애플리케이션의 최대 백분율입니다. 예를 들어 애플리케이션의 10%를 비정상 상태가 되도록 허용하면 값은 10입니다. 비율은 클러스터에서 오류로 처리하기 전에 비정상 상태로 있을 수 있는 애플리케이션의 최대 허용 비율을 나타냅니다. 비율은 지켜지나 비정상 애플리케이션이 적어도 하나 있다면 상태는 경고로 평가됩니다. 이 값은 클러스터에 있는 애플리케이션 인스턴스의 총 수를 비정상 애플리케이션의 수로 나눠 계산합니다. 이 때 ApplicationTypeHealthPolicyMap에 포함된 애플리케이션 형식의 애플리케이션은 제외합니다. 계산값은 적은 수의 애플리케이션에서 오류 하나를 허용할 수 있도록 반올림됩니다. 기본 비율은 0입니다. |
int(필수) 제약 조건: 최소값 = 0 최대값 = 100 |
maxPercentUnhealthyNodes | 오류를 보고하기 전에 허용되는 비정상 노드의 최대 백분율입니다. 예를 들어 노드의 10%를 비정상 상태가 되도록 허용하면 값은 10입니다. 비율은 클러스터에서 오류로 처리하기 전에 비정상 상태로 있을 수 있는 노드의 최대 허용 비율을 나타냅니다. 비율은 지켜지나 비정상 노드가 적어도 하나 있다면 상태는 경고로 평가됩니다. 이 백분율은 클러스터에 있는 노드 총 수를 비정상 노드 수로 나눠 계산합니다. 계산값은 적은 수의 노드에서 오류 하나를 허용할 수 있도록 반올림됩니다. 기본 비율은 0입니다. 대형 클러스터에는 항상 복구를 위해 다운되거나 중단되는 노드가 있으므로 이를 감안하여 이 비율을 구성해야 합니다. |
int(필수) 제약 조건: 최소값 = 0 최대값 = 100 |
ClusterMonitoringPolicy
Name | Description | 값 |
---|---|---|
healthCheckRetryTimeout | 업그레이드가 롤백되기 전에 애플리케이션 또는 클러스터가 비정상일 때 상태 평가를 다시 시도하는 시간입니다. 시간 제한은 hh:mm:ss 또는 d.hh:mm:ss.ms 형식일 수 있습니다. | string(필수) |
healthCheckStableDuration | 업그레이드가 다음 업그레이드 도메인으로 진행되기 전에 애플리케이션 또는 클러스터가 정상 상태로 유지되어야 하는 시간입니다. 기간은 hh:mm:ss 또는 d.hh:mm:ss.ms 형식일 수 있습니다. | string(필수) |
healthCheckWaitDuration | 상태 검사를 수행하기 전에 업그레이드 도메인을 완료한 후 대기할 시간입니다. 기간은 hh:mm:ss 또는 d.hh:mm:ss.ms 형식일 수 있습니다. | string(필수) |
upgradeDomainTimeout | 업그레이드가 롤백되기 전에 각 업그레이드 도메인을 완료해야 하는 시간입니다. 시간 제한은 hh:mm:ss 또는 d.hh:mm:ss.ms 형식일 수 있습니다. | string(필수) |
upgradeTimeout | 업그레이드가 롤백되기 전에 전체 업그레이드를 완료해야 하는 시간입니다. 시간 제한은 hh:mm:ss 또는 d.hh:mm:ss.ms 형식일 수 있습니다. | string(필수) |
SKU
Name | Description | 값 |
---|---|---|
name | Sku 이름입니다. | "Basic" "표준"(필수) |
피드백
https://aka.ms/ContentUserFeedback
출시 예정: 2024년 내내 콘텐츠에 대한 피드백 메커니즘으로 GitHub 문제를 단계적으로 폐지하고 이를 새로운 피드백 시스템으로 바꿀 예정입니다. 자세한 내용은 다음을 참조하세요.다음에 대한 사용자 의견 제출 및 보기