Microsoft.ServiceFabric 클러스터 2019-06-01-preview
Bicep 리소스 정의
다음을 대상으로 하는 작업을 사용하여 클러스터 리소스 유형을 배포할 수 있습니다.
- 리소스 그룹 - 리소스 그룹 배포 명령 참조
각 API 버전에서 변경된 속성 목록은 변경 로그참조하세요.
리소스 형식
Microsoft.ServiceFabric/clusters 리소스를 만들려면 템플릿에 다음 Bicep을 추가합니다.
resource symbolicname 'Microsoft.ServiceFabric/clusters@2019-06-01-preview' = {
location: 'string'
name: 'string'
properties: {
addOnFeatures: [
'string'
]
azureActiveDirectory: {
clientApplication: 'string'
clusterApplication: 'string'
tenantId: 'string'
}
certificate: {
thumbprint: 'string'
thumbprintSecondary: 'string'
x509StoreName: 'string'
}
certificateCommonNames: {
commonNames: [
{
certificateCommonName: 'string'
certificateIssuerThumbprint: 'string'
}
]
x509StoreName: 'string'
}
clientCertificateCommonNames: [
{
certificateCommonName: 'string'
certificateIssuerThumbprint: 'string'
isAdmin: bool
}
]
clientCertificateThumbprints: [
{
certificateThumbprint: 'string'
isAdmin: bool
}
]
clusterCodeVersion: 'string'
diagnosticsStorageAccountConfig: {
blobEndpoint: 'string'
protectedAccountKeyName: 'string'
protectedAccountKeyName2: 'string'
queueEndpoint: 'string'
storageAccountName: 'string'
tableEndpoint: 'string'
}
eventStoreServiceEnabled: bool
fabricSettings: [
{
name: 'string'
parameters: [
{
name: 'string'
value: 'string'
}
]
}
]
managementEndpoint: 'string'
nodeTypes: [
{
applicationPorts: {
endPort: int
startPort: int
}
capacities: {
{customized property}: 'string'
}
clientConnectionEndpointPort: int
durabilityLevel: 'string'
ephemeralPorts: {
endPort: int
startPort: int
}
httpGatewayEndpointPort: int
isPrimary: bool
name: 'string'
placementProperties: {
{customized property}: 'string'
}
reverseProxyEndpointPort: int
vmInstanceCount: int
}
]
reliabilityLevel: 'string'
reverseProxyCertificate: {
thumbprint: 'string'
thumbprintSecondary: 'string'
x509StoreName: 'string'
}
reverseProxyCertificateCommonNames: {
commonNames: [
{
certificateCommonName: 'string'
certificateIssuerThumbprint: 'string'
}
]
x509StoreName: 'string'
}
upgradeDescription: {
deltaHealthPolicy: {
applicationDeltaHealthPolicies: {
{customized property}: {
defaultServiceTypeDeltaHealthPolicy: {
maxPercentDeltaUnhealthyServices: int
}
serviceTypeDeltaHealthPolicies: {
{customized property}: {
maxPercentDeltaUnhealthyServices: int
}
}
}
}
maxPercentDeltaUnhealthyApplications: int
maxPercentDeltaUnhealthyNodes: int
maxPercentUpgradeDomainDeltaUnhealthyNodes: int
}
forceRestart: bool
healthCheckRetryTimeout: 'string'
healthCheckStableDuration: 'string'
healthCheckWaitDuration: 'string'
healthPolicy: {
applicationHealthPolicies: {
{customized property}: {
defaultServiceTypeHealthPolicy: {
maxPercentUnhealthyServices: int
}
serviceTypeHealthPolicies: {
{customized property}: {
maxPercentUnhealthyServices: int
}
}
}
}
maxPercentUnhealthyApplications: int
maxPercentUnhealthyNodes: int
}
upgradeDomainTimeout: 'string'
upgradeReplicaSetCheckTimeout: 'string'
upgradeTimeout: 'string'
}
upgradeMode: 'string'
vmImage: 'string'
}
tags: {
{customized property}: 'string'
}
}
속성 값
ApplicationDeltaHealthPolicy
이름 | 묘사 | 값 |
---|---|---|
defaultServiceTypeDeltaHealthPolicy | 클러스터를 업그레이드할 때 서비스 유형의 상태를 평가하는 데 기본적으로 사용되는 델타 상태 정책입니다. | ServiceTypeDeltaHealthPolicy |
serviceTypeDeltaHealthPolicies | 서비스 유형 이름당 서비스 유형 델타 상태 정책이 있는 맵입니다. 맵은 기본적으로 비어 있습니다. | serviceTypeDeltaHealthPolicyMap |
ApplicationDeltaHealthPolicyMap
이름 | 묘사 | 값 |
---|
ApplicationHealthPolicy
이름 | 묘사 | 값 |
---|---|---|
defaultServiceTypeHealthPolicy | 기본적으로 서비스 유형의 상태를 평가하는 데 사용되는 상태 정책입니다. | ServiceTypeHealthPolicy |
serviceTypeHealthPolicies | 서비스 유형 이름당 서비스 유형 상태 정책이 있는 맵입니다. 맵은 기본적으로 비어 있습니다. | ServiceTypeHealthPolicyMap |
ApplicationHealthPolicyMap
이름 | 묘사 | 값 |
---|
AzureActiveDirectory
이름 | 묘사 | 값 |
---|---|---|
clientApplication | Azure Active Directory 클라이언트 애플리케이션 ID입니다. | 문자열 |
clusterApplication | Azure Active Directory 클러스터 애플리케이션 ID입니다. | 문자열 |
tenantId | Azure Active Directory 테넌트 ID입니다. | 문자열 |
CertificateDescription
이름 | 묘사 | 값 |
---|---|---|
지문 | 기본 인증서의 지문입니다. | string(필수) |
thumbprintSecondary | 보조 인증서의 지문입니다. | 문자열 |
x509StoreName | 로컬 인증서 저장소 위치입니다. | 'AddressBook' 'AuthRoot' 'CertificateAuthority' '허용되지 않음' 'My' 'Root' 'TrustedPeople' 'TrustedPublisher' |
ClientCertificateCommonName
이름 | 묘사 | 값 |
---|---|---|
certificateCommonName | 클라이언트 인증서의 일반 이름입니다. | string(필수) |
certificateIssuerThumbprint | 클라이언트 인증서의 발급자 지문입니다. | string(필수) |
isAdmin | 클라이언트 인증서에 클러스터에 대한 관리자 액세스 권한이 있는지를 나타냅니다. 관리자가 아닌 클라이언트는 클러스터에서 읽기 전용 작업만 수행할 수 있습니다. | bool(필수) |
ClientCertificateThumbprint
이름 | 묘사 | 값 |
---|---|---|
certificateThumbprint | 클라이언트 인증서의 지문입니다. | string(필수) |
isAdmin | 클라이언트 인증서에 클러스터에 대한 관리자 액세스 권한이 있는지를 나타냅니다. 관리자가 아닌 클라이언트는 클러스터에서 읽기 전용 작업만 수행할 수 있습니다. | bool(필수) |
ClusterHealthPolicy
이름 | 묘사 | 값 |
---|---|---|
applicationHealthPolicies | 애플리케이션 또는 해당 자식 엔터티 중 하나의 상태를 평가하는 데 사용되는 애플리케이션 상태 정책 맵을 정의합니다. | applicationHealthPolicyMap |
maxPercentUnhealthyApplications | 오류를 보고하기 전에 허용되는 비정상 애플리케이션의 최대 백분율입니다. 예를 들어 10개% 애플리케이션이 비정상이 되도록 하려면 이 값은 10입니다. 백분율은 클러스터가 오류로 간주되기 전에 비정상일 수 있는 애플리케이션의 최대 허용 비율을 나타냅니다. 백분율이 존중되지만 하나 이상의 비정상 애플리케이션이 있는 경우 상태는 경고로 평가됩니다. 이는 ApplicationTypeHealthPolicyMap에 포함된 애플리케이션 유형의 애플리케이션을 제외하고 클러스터의 총 애플리케이션 인스턴스 수에 대한 비정상 애플리케이션 수를 나누어 계산합니다. 계산은 적은 수의 애플리케이션에서 하나의 오류를 허용하도록 반올림됩니다. 기본 백분율은 0입니다. |
int 제약 조건: 최소값 = 0 최대값 = 100 |
maxPercentUnhealthyNodes | 오류를 보고하기 전에 허용되는 비정상 노드의 최대 백분율입니다. 예를 들어 노드 10개% 비정상이 되도록 하려면 이 값은 10입니다. 백분율은 클러스터가 오류로 간주되기 전에 비정상일 수 있는 노드의 최대 허용 비율을 나타냅니다. 백분율이 존중되지만 하나 이상의 비정상 노드가 있는 경우 상태는 경고로 평가됩니다. 백분율은 클러스터의 총 노드 수에 대한 비정상 노드 수를 나누어 계산됩니다. 계산은 적은 수의 노드에서 하나의 오류를 허용하도록 반올림됩니다. 기본 백분율은 0입니다. 큰 클러스터에서 일부 노드는 항상 복구를 위해 중단되거나 중단되므로 이 백분율은 이를 허용하도록 구성해야 합니다. |
int 제약 조건: 최소값 = 0 최대값 = 100 |
ClusterProperties
이름 | 묘사 | 값 |
---|---|---|
addOnFeatures | 클러스터에서 사용하도록 설정할 추가 기능 목록입니다. | 다음 중 어느 것을 포함하는 문자열 배열: 'BackupRestoreService' 'DnsService' 'RepairManager' 'ResourceMonitorService' |
azureActiveDirectory | 클러스터의 AAD 인증 설정입니다. | AzureActiveDirectory |
증명서 | 클러스터 보안에 사용할 인증서입니다. 제공된 인증서는 클러스터 내의 노드 간 보안, 클러스터 관리 엔드포인트용 SSL 인증서 및 기본 관리 클라이언트에 사용됩니다. | CertificateDescription |
certificateCommonNames | 클러스터를 보호하는 데 사용되는 일반 이름으로 참조되는 서버 인증서의 목록을 설명합니다. | ServerCertificateCommonNames |
clientCertificateCommonNames | 클러스터를 관리할 수 있는 일반 이름으로 참조되는 클라이언트 인증서 목록입니다. | ClientCertificateCommonName[] |
clientCertificateThumbprints | 클러스터를 관리할 수 있는 지문으로 참조되는 클라이언트 인증서 목록입니다. | ClientCertificateThumbprint[] |
clusterCodeVersion | 클러스터의 Service Fabric 런타임 버전입니다. 이 속성은 upgradeMode 'Manual'으로 설정된 경우에만 사용자를 설정할 수 있습니다. 새 클러스터에 사용 가능한 Service Fabric 버전 목록을 얻으려면 ClusterVersion API사용합니다. 기존 클러스터에 사용 가능한 버전 목록을 얻으려면 사용 가능한ClusterVersions사용합니다. | 문자열 |
diagnosticsStorageAccountConfig | Service Fabric 진단 로그를 저장하기 위한 스토리지 계정 정보입니다. | DiagnosticsStorageAccountConfig |
eventStoreServiceEnabled | 이벤트 저장소 서비스를 사용할 수 있는지를 나타냅니다. | bool |
fabricSettings | 클러스터를 구성할 사용자 지정 패브릭 설정 목록입니다. | SettingsSectionDescription[] |
managementEndpoint | 클러스터의 http 관리 엔드포인트입니다. | string(필수) |
nodeTypes | 클러스터의 노드 형식 목록입니다. | NodeTypeDescription[] (필수) |
reliabilityLevel | 안정성 수준은 시스템 서비스의 복제본 집합 크기를 설정합니다.
ReliabilityLevel대해 알아봅니다. - 없음 - 대상 복제본 집합 수가 1인 시스템 서비스를 실행합니다. 테스트 클러스터에만 사용해야 합니다. - Bronze - 대상 복제본 집합 수가 3인 시스템 서비스를 실행합니다. 테스트 클러스터에만 사용해야 합니다. - Silver - 대상 복제본 집합 수가 5인 시스템 서비스를 실행합니다. - Gold - 대상 복제본 집합 수가 7인 시스템 서비스를 실행합니다. - Platinum - 대상 복제본 집합 수가 9인 시스템 서비스를 실행합니다. |
'브론즈' '골드' 'None' '플래티넘' '실버' |
reverseProxyCertificate | 역방향 프록시에서 사용하는 서버 인증서입니다. | CertificateDescription |
reverseProxyCertificateCommonNames | 클러스터를 보호하는 데 사용되는 일반 이름으로 참조되는 서버 인증서의 목록을 설명합니다. | ServerCertificateCommonNames |
upgradeDescription | 클러스터를 업그레이드할 때 사용할 정책입니다. | clusterUpgradePolicy |
upgradeMode | 새 Service Fabric 런타임 버전을 사용할 수 있는 경우 클러스터의 업그레이드 모드입니다. - 자동 - 클러스터가 사용 가능한 즉시 최신 Service Fabric 런타임 버전으로 자동으로 업그레이드됩니다. - 수동 - 클러스터가 최신 Service Fabric 런타임 버전으로 자동으로 업그레이드되지 않습니다. 클러스터 리소스에서 clusterCodeVersion 속성을 설정하여 클러스터를 업그레이드합니다. |
'Automatic' '수동' |
vmImage | VM 이미지 VMSS가 구성되었습니다. Windows 또는 Linux와 같은 제네릭 이름을 사용할 수 있습니다. | 문자열 |
ClusterUpgradeDeltaHealthPolicy
이름 | 묘사 | 값 |
---|---|---|
applicationDeltaHealthPolicies | 클러스터를 업그레이드할 때 애플리케이션 또는 해당 자식 엔터티 중 하나의 상태를 평가하는 데 사용되는 애플리케이션 델타 상태 정책 맵을 정의합니다. | applicationDeltaHealthPolicyMap |
maxPercentDeltaUnhealthyApplications | 클러스터 업그레이드 중에 허용되는 최대 애플리케이션 상태 저하 비율입니다. 델타는 업그레이드 시작 시 애플리케이션의 상태와 상태 평가 시 애플리케이션의 상태 간에 측정됩니다. 업그레이드 도메인 업그레이드가 완료될 때마다 확인이 수행되어 클러스터의 전역 상태가 허용되는 제한 내에 있는지 확인합니다. 시스템 서비스는 이에 포함되지 않습니다. |
int 제약 조건: 최소값 = 0 최대값 = 100(필수) |
maxPercentDeltaUnhealthyNodes | 클러스터 업그레이드 중에 허용되는 최대 노드 상태 저하 비율입니다. 델타는 업그레이드 시작 시 노드의 상태와 상태 평가 시 노드 상태 간에 측정됩니다. 업그레이드 도메인 업그레이드가 완료될 때마다 확인이 수행되어 클러스터의 전역 상태가 허용되는 제한 내에 있는지 확인합니다. |
int 제약 조건: 최소값 = 0 최대값 = 100(필수) |
maxPercentUpgradeDomainDeltaUnhealthyNodes | 클러스터 업그레이드 중에 허용되는 업그레이드 도메인 노드 상태 저하의 최대 허용 비율입니다. 델타는 업그레이드 시작 시 업그레이드 도메인 노드의 상태와 상태 평가 시 업그레이드 도메인 노드의 상태 간에 측정됩니다. 업그레이드 도메인의 상태가 허용되는 한도 내에 있는지 확인하기 위해 완료된 모든 업그레이드 도메인에 대해 업그레이드 도메인 업그레이드가 완료될 때마다 확인이 수행됩니다. |
int 제약 조건: 최소값 = 0 최대값 = 100(필수) |
ClusterUpgradePolicy
이름 | 묘사 | 값 |
---|---|---|
deltaHealthPolicy | 클러스터를 업그레이드할 때 사용되는 클러스터 델타 상태 정책입니다. | ClusterUpgradeDeltaHealthPolicy |
forceRestart | true이면 코드 버전이 변경되지 않은 경우에도 업그레이드 중에 프로세스가 강제로 다시 시작됩니다(업그레이드는 구성 또는 데이터만 변경됨). | bool |
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(필수) |
healthPolicy | 클러스터를 업그레이드할 때 사용되는 클러스터 상태 정책입니다. | ClusterHealthPolicy(필수) |
upgradeDomainTimeout | 업그레이드가 롤백되기 전에 각 업그레이드 도메인을 완료해야 하는 시간입니다. 시간 제한은 hh:mm:ss 또는 d.hh:mm:ss.ms 형식일 수 있습니다. | string(필수) |
upgradeReplicaSetCheckTimeout | 업그레이드 도메인의 처리를 차단하고 예기치 않은 문제가 발생할 때 가용성 손실을 방지하는 최대 시간입니다. 이 시간 제한이 만료되면 가용성 손실 문제에 관계없이 업그레이드 도메인의 처리가 진행됩니다. 시간 제한은 각 업그레이드 도메인의 시작 부분에 다시 설정됩니다. 시간 제한은 hh:mm:ss 또는 d.hh:mm:ss.ms 형식일 수 있습니다. | string(필수) |
upgradeTimeout | 업그레이드가 롤백되기 전에 전체 업그레이드를 완료해야 하는 시간입니다. 시간 제한은 hh:mm:ss 또는 d.hh:mm:ss.ms 형식일 수 있습니다. | string(필수) |
DiagnosticsStorageAccountConfig
이름 | 묘사 | 값 |
---|---|---|
blobEndpoint | Azure Storage 계정의 Blob 엔드포인트입니다. | string(필수) |
protectedAccountKeyName | 보호된 진단 스토리지 키 이름입니다. | string(필수) |
protectedAccountKeyName2 | 보조 보호된 진단 스토리지 키 이름입니다. 스토리지 계정 키 중 하나가 회전되면 클러스터는 다른 키를 사용하는 것으로 대체됩니다. | 문자열 |
queueEndpoint | Azure Storage 계정의 큐 엔드포인트입니다. | string(필수) |
storageAccountName | Azure Storage 계정 이름입니다. | string(필수) |
tableEndpoint | Azure Storage 계정의 테이블 엔드포인트입니다. | string(필수) |
EndpointRangeDescription
이름 | 묘사 | 값 |
---|---|---|
endPort | 포트 범위의 끝 포트 | int(필수) |
startPort | 포트 범위의 시작 포트 | int(필수) |
Microsoft.ServiceFabric/clusters
이름 | 묘사 | 값 |
---|---|---|
위치 | Azure 리소스 위치입니다. | string(필수) |
이름 | 리소스 이름 | string(필수) |
속성 | 클러스터 리소스 속성 | ClusterProperties |
태그 | 리소스 태그 | 태그 이름 및 값의 사전입니다. 템플릿 |
NodeTypeDescription
이름 | 묘사 | 값 |
---|---|---|
applicationPorts | 클러스터가 Service Fabric 애플리케이션에 포트를 할당한 포트 범위입니다. | EndpointRangeDescription |
용량 | 노드 형식의 노드에 적용되는 용량 태그인 클러스터 리소스 관리자는 이러한 태그를 사용하여 노드에 있는 리소스의 양을 이해합니다. | nodeTypeDescriptionCapacities |
clientConnectionEndpointPort | TCP 클러스터 관리 엔드포인트 포트입니다. | int(필수) |
durabilityLevel | 노드 형식의 내구성 수준입니다. DurabilityLevel - 브론즈 - 권한이 없습니다. 기본값입니다. - Silver - UD당 10분 동안 인프라 작업을 일시 중지할 수 있습니다. - 골드 - 인프라 작업은 UD당 2시간 동안 일시 중지할 수 있습니다. 골드 내구성은 D15_V2, G5 등과 같은 전체 노드 VM sku에서만 사용할 수 있습니다. |
'브론즈' '골드' '실버' |
ephemeralPorts | 이 노드 형식의 노드를 구성해야 하는 임시 포트의 범위입니다. | EndpointRangeDescription |
httpGatewayEndpointPort | HTTP 클러스터 관리 엔드포인트 포트입니다. | int(필수) |
isPrimary | 시스템 서비스가 실행될 노드 유형입니다. 하나의 노드 형식만 기본으로 표시되어야 합니다. 기본 노드 유형은 기존 클러스터에 대해 삭제하거나 변경할 수 없습니다. | bool(필수) |
이름 | 노드 형식의 이름입니다. | string(필수) |
placementProperties | 노드 형식의 노드에 적용되는 배치 태그로, 특정 서비스(워크로드)가 실행되어야 하는 위치를 나타내는 데 사용할 수 있습니다. | NodeTypeDescriptionPlacementProperties |
reverseProxyEndpointPort | 역방향 프록시에서 사용하는 엔드포인트입니다. | int |
vmInstanceCount | 노드 형식의 노드 수입니다. 이 개수는 해당 VirtualMachineScaleSet 리소스의 용량 속성과 일치해야 합니다. | int 제약 조건: 최소값 = 1 최대값 = 2147483647(필수) |
NodeTypeDescriptionCapacities
이름 | 묘사 | 값 |
---|
NodeTypeDescriptionPlacementProperties
이름 | 묘사 | 값 |
---|
ResourceTags
이름 | 묘사 | 값 |
---|
ServerCertificateCommonName
이름 | 묘사 | 값 |
---|---|---|
certificateCommonName | 서버 인증서의 일반 이름입니다. | string(필수) |
certificateIssuerThumbprint | 서버 인증서의 발급자 지문입니다. | string(필수) |
ServerCertificateCommonNames
이름 | 묘사 | 값 |
---|---|---|
commonNames | 클러스터를 보호하는 데 사용되는 일반 이름으로 참조되는 서버 인증서 목록입니다. | ServerCertificateCommonName[] |
x509StoreName | 로컬 인증서 저장소 위치입니다. | 'AddressBook' 'AuthRoot' 'CertificateAuthority' '허용되지 않음' 'My' 'Root' 'TrustedPeople' 'TrustedPublisher' |
ServiceTypeDeltaHealthPolicy
이름 | 묘사 | 값 |
---|---|---|
maxPercentDeltaUnhealthyServices | 클러스터 업그레이드 중에 허용되는 최대 서비스 상태 저하 비율입니다. 델타는 업그레이드 시작 시 서비스 상태와 상태 평가 시 서비스의 상태 간에 측정됩니다. 업그레이드 도메인 업그레이드가 완료될 때마다 확인이 수행되어 클러스터의 전역 상태가 허용되는 제한 내에 있는지 확인합니다. |
int 제약 조건: 최소값 = 0 최대값 = 100 |
ServiceTypeDeltaHealthPolicyMap
이름 | 묘사 | 값 |
---|
ServiceTypeHealthPolicy
이름 | 묘사 | 값 |
---|---|---|
maxPercentUnhealthyServices | 애플리케이션이 오류로 간주되기 전에 비정상으로 허용되는 서비스의 최대 비율입니다. | int 제약 조건: 최소값 = 0 최대값 = 100 |
ServiceTypeHealthPolicyMap
이름 | 묘사 | 값 |
---|
SettingsParameterDescription
이름 | 묘사 | 값 |
---|---|---|
이름 | 패브릭 설정의 매개 변수 이름입니다. | string(필수) |
값 | 패브릭 설정의 매개 변수 값입니다. | string(필수) |
SettingsSectionDescription
이름 | 묘사 | 값 |
---|---|---|
이름 | 패브릭 설정의 섹션 이름입니다. | string(필수) |
매개 변수 | 섹션의 매개 변수 컬렉션입니다. | SettingsParameterDescription[] (필수) |
빠른 시작 샘플
다음 빠른 시작 샘플은 이 리소스 유형을 배포합니다.
Bicep 파일 | 묘사 |
---|---|
5 노드 보안 클러스터 배포 | 이 템플릿을 사용하면 windows Server 2019 Datacenter를 실행하는 보안 5 노드 Service Fabric 클러스터를 Standard_D2_v2 크기 VMSS에 배포할 수 있습니다. |
ARM 템플릿 리소스 정의
다음을 대상으로 하는 작업을 사용하여 클러스터 리소스 유형을 배포할 수 있습니다.
- 리소스 그룹 - 리소스 그룹 배포 명령 참조
각 API 버전에서 변경된 속성 목록은 변경 로그참조하세요.
리소스 형식
Microsoft.ServiceFabric/clusters 리소스를 만들려면 템플릿에 다음 JSON을 추가합니다.
{
"type": "Microsoft.ServiceFabric/clusters",
"apiVersion": "2019-06-01-preview",
"name": "string",
"location": "string",
"properties": {
"addOnFeatures": [ "string" ],
"azureActiveDirectory": {
"clientApplication": "string",
"clusterApplication": "string",
"tenantId": "string"
},
"certificate": {
"thumbprint": "string",
"thumbprintSecondary": "string",
"x509StoreName": "string"
},
"certificateCommonNames": {
"commonNames": [
{
"certificateCommonName": "string",
"certificateIssuerThumbprint": "string"
}
],
"x509StoreName": "string"
},
"clientCertificateCommonNames": [
{
"certificateCommonName": "string",
"certificateIssuerThumbprint": "string",
"isAdmin": "bool"
}
],
"clientCertificateThumbprints": [
{
"certificateThumbprint": "string",
"isAdmin": "bool"
}
],
"clusterCodeVersion": "string",
"diagnosticsStorageAccountConfig": {
"blobEndpoint": "string",
"protectedAccountKeyName": "string",
"protectedAccountKeyName2": "string",
"queueEndpoint": "string",
"storageAccountName": "string",
"tableEndpoint": "string"
},
"eventStoreServiceEnabled": "bool",
"fabricSettings": [
{
"name": "string",
"parameters": [
{
"name": "string",
"value": "string"
}
]
}
],
"managementEndpoint": "string",
"nodeTypes": [
{
"applicationPorts": {
"endPort": "int",
"startPort": "int"
},
"capacities": {
"{customized property}": "string"
},
"clientConnectionEndpointPort": "int",
"durabilityLevel": "string",
"ephemeralPorts": {
"endPort": "int",
"startPort": "int"
},
"httpGatewayEndpointPort": "int",
"isPrimary": "bool",
"name": "string",
"placementProperties": {
"{customized property}": "string"
},
"reverseProxyEndpointPort": "int",
"vmInstanceCount": "int"
}
],
"reliabilityLevel": "string",
"reverseProxyCertificate": {
"thumbprint": "string",
"thumbprintSecondary": "string",
"x509StoreName": "string"
},
"reverseProxyCertificateCommonNames": {
"commonNames": [
{
"certificateCommonName": "string",
"certificateIssuerThumbprint": "string"
}
],
"x509StoreName": "string"
},
"upgradeDescription": {
"deltaHealthPolicy": {
"applicationDeltaHealthPolicies": {
"{customized property}": {
"defaultServiceTypeDeltaHealthPolicy": {
"maxPercentDeltaUnhealthyServices": "int"
},
"serviceTypeDeltaHealthPolicies": {
"{customized property}": {
"maxPercentDeltaUnhealthyServices": "int"
}
}
}
},
"maxPercentDeltaUnhealthyApplications": "int",
"maxPercentDeltaUnhealthyNodes": "int",
"maxPercentUpgradeDomainDeltaUnhealthyNodes": "int"
},
"forceRestart": "bool",
"healthCheckRetryTimeout": "string",
"healthCheckStableDuration": "string",
"healthCheckWaitDuration": "string",
"healthPolicy": {
"applicationHealthPolicies": {
"{customized property}": {
"defaultServiceTypeHealthPolicy": {
"maxPercentUnhealthyServices": "int"
},
"serviceTypeHealthPolicies": {
"{customized property}": {
"maxPercentUnhealthyServices": "int"
}
}
}
},
"maxPercentUnhealthyApplications": "int",
"maxPercentUnhealthyNodes": "int"
},
"upgradeDomainTimeout": "string",
"upgradeReplicaSetCheckTimeout": "string",
"upgradeTimeout": "string"
},
"upgradeMode": "string",
"vmImage": "string"
},
"tags": {
"{customized property}": "string"
}
}
속성 값
ApplicationDeltaHealthPolicy
이름 | 묘사 | 값 |
---|---|---|
defaultServiceTypeDeltaHealthPolicy | 클러스터를 업그레이드할 때 서비스 유형의 상태를 평가하는 데 기본적으로 사용되는 델타 상태 정책입니다. | ServiceTypeDeltaHealthPolicy |
serviceTypeDeltaHealthPolicies | 서비스 유형 이름당 서비스 유형 델타 상태 정책이 있는 맵입니다. 맵은 기본적으로 비어 있습니다. | serviceTypeDeltaHealthPolicyMap |
ApplicationDeltaHealthPolicyMap
이름 | 묘사 | 값 |
---|
ApplicationHealthPolicy
이름 | 묘사 | 값 |
---|---|---|
defaultServiceTypeHealthPolicy | 기본적으로 서비스 유형의 상태를 평가하는 데 사용되는 상태 정책입니다. | ServiceTypeHealthPolicy |
serviceTypeHealthPolicies | 서비스 유형 이름당 서비스 유형 상태 정책이 있는 맵입니다. 맵은 기본적으로 비어 있습니다. | ServiceTypeHealthPolicyMap |
ApplicationHealthPolicyMap
이름 | 묘사 | 값 |
---|
AzureActiveDirectory
이름 | 묘사 | 값 |
---|---|---|
clientApplication | Azure Active Directory 클라이언트 애플리케이션 ID입니다. | 문자열 |
clusterApplication | Azure Active Directory 클러스터 애플리케이션 ID입니다. | 문자열 |
tenantId | Azure Active Directory 테넌트 ID입니다. | 문자열 |
CertificateDescription
이름 | 묘사 | 값 |
---|---|---|
지문 | 기본 인증서의 지문입니다. | string(필수) |
thumbprintSecondary | 보조 인증서의 지문입니다. | 문자열 |
x509StoreName | 로컬 인증서 저장소 위치입니다. | 'AddressBook' 'AuthRoot' 'CertificateAuthority' '허용되지 않음' 'My' 'Root' 'TrustedPeople' 'TrustedPublisher' |
ClientCertificateCommonName
이름 | 묘사 | 값 |
---|---|---|
certificateCommonName | 클라이언트 인증서의 일반 이름입니다. | string(필수) |
certificateIssuerThumbprint | 클라이언트 인증서의 발급자 지문입니다. | string(필수) |
isAdmin | 클라이언트 인증서에 클러스터에 대한 관리자 액세스 권한이 있는지를 나타냅니다. 관리자가 아닌 클라이언트는 클러스터에서 읽기 전용 작업만 수행할 수 있습니다. | bool(필수) |
ClientCertificateThumbprint
이름 | 묘사 | 값 |
---|---|---|
certificateThumbprint | 클라이언트 인증서의 지문입니다. | string(필수) |
isAdmin | 클라이언트 인증서에 클러스터에 대한 관리자 액세스 권한이 있는지를 나타냅니다. 관리자가 아닌 클라이언트는 클러스터에서 읽기 전용 작업만 수행할 수 있습니다. | bool(필수) |
ClusterHealthPolicy
이름 | 묘사 | 값 |
---|---|---|
applicationHealthPolicies | 애플리케이션 또는 해당 자식 엔터티 중 하나의 상태를 평가하는 데 사용되는 애플리케이션 상태 정책 맵을 정의합니다. | applicationHealthPolicyMap |
maxPercentUnhealthyApplications | 오류를 보고하기 전에 허용되는 비정상 애플리케이션의 최대 백분율입니다. 예를 들어 10개% 애플리케이션이 비정상이 되도록 하려면 이 값은 10입니다. 백분율은 클러스터가 오류로 간주되기 전에 비정상일 수 있는 애플리케이션의 최대 허용 비율을 나타냅니다. 백분율이 존중되지만 하나 이상의 비정상 애플리케이션이 있는 경우 상태는 경고로 평가됩니다. 이는 ApplicationTypeHealthPolicyMap에 포함된 애플리케이션 유형의 애플리케이션을 제외하고 클러스터의 총 애플리케이션 인스턴스 수에 대한 비정상 애플리케이션 수를 나누어 계산합니다. 계산은 적은 수의 애플리케이션에서 하나의 오류를 허용하도록 반올림됩니다. 기본 백분율은 0입니다. |
int 제약 조건: 최소값 = 0 최대값 = 100 |
maxPercentUnhealthyNodes | 오류를 보고하기 전에 허용되는 비정상 노드의 최대 백분율입니다. 예를 들어 노드 10개% 비정상이 되도록 하려면 이 값은 10입니다. 백분율은 클러스터가 오류로 간주되기 전에 비정상일 수 있는 노드의 최대 허용 비율을 나타냅니다. 백분율이 존중되지만 하나 이상의 비정상 노드가 있는 경우 상태는 경고로 평가됩니다. 백분율은 클러스터의 총 노드 수에 대한 비정상 노드 수를 나누어 계산됩니다. 계산은 적은 수의 노드에서 하나의 오류를 허용하도록 반올림됩니다. 기본 백분율은 0입니다. 큰 클러스터에서 일부 노드는 항상 복구를 위해 중단되거나 중단되므로 이 백분율은 이를 허용하도록 구성해야 합니다. |
int 제약 조건: 최소값 = 0 최대값 = 100 |
ClusterProperties
이름 | 묘사 | 값 |
---|---|---|
addOnFeatures | 클러스터에서 사용하도록 설정할 추가 기능 목록입니다. | 다음 중 어느 것을 포함하는 문자열 배열: 'BackupRestoreService' 'DnsService' 'RepairManager' 'ResourceMonitorService' |
azureActiveDirectory | 클러스터의 AAD 인증 설정입니다. | AzureActiveDirectory |
증명서 | 클러스터 보안에 사용할 인증서입니다. 제공된 인증서는 클러스터 내의 노드 간 보안, 클러스터 관리 엔드포인트용 SSL 인증서 및 기본 관리 클라이언트에 사용됩니다. | CertificateDescription |
certificateCommonNames | 클러스터를 보호하는 데 사용되는 일반 이름으로 참조되는 서버 인증서의 목록을 설명합니다. | ServerCertificateCommonNames |
clientCertificateCommonNames | 클러스터를 관리할 수 있는 일반 이름으로 참조되는 클라이언트 인증서 목록입니다. | ClientCertificateCommonName[] |
clientCertificateThumbprints | 클러스터를 관리할 수 있는 지문으로 참조되는 클라이언트 인증서 목록입니다. | ClientCertificateThumbprint[] |
clusterCodeVersion | 클러스터의 Service Fabric 런타임 버전입니다. 이 속성은 upgradeMode 'Manual'으로 설정된 경우에만 사용자를 설정할 수 있습니다. 새 클러스터에 사용 가능한 Service Fabric 버전 목록을 얻으려면 ClusterVersion API사용합니다. 기존 클러스터에 사용 가능한 버전 목록을 얻으려면 사용 가능한ClusterVersions사용합니다. | 문자열 |
diagnosticsStorageAccountConfig | Service Fabric 진단 로그를 저장하기 위한 스토리지 계정 정보입니다. | DiagnosticsStorageAccountConfig |
eventStoreServiceEnabled | 이벤트 저장소 서비스를 사용할 수 있는지를 나타냅니다. | bool |
fabricSettings | 클러스터를 구성할 사용자 지정 패브릭 설정 목록입니다. | SettingsSectionDescription[] |
managementEndpoint | 클러스터의 http 관리 엔드포인트입니다. | string(필수) |
nodeTypes | 클러스터의 노드 형식 목록입니다. | NodeTypeDescription[] (필수) |
reliabilityLevel | 안정성 수준은 시스템 서비스의 복제본 집합 크기를 설정합니다.
ReliabilityLevel대해 알아봅니다. - 없음 - 대상 복제본 집합 수가 1인 시스템 서비스를 실행합니다. 테스트 클러스터에만 사용해야 합니다. - Bronze - 대상 복제본 집합 수가 3인 시스템 서비스를 실행합니다. 테스트 클러스터에만 사용해야 합니다. - Silver - 대상 복제본 집합 수가 5인 시스템 서비스를 실행합니다. - Gold - 대상 복제본 집합 수가 7인 시스템 서비스를 실행합니다. - Platinum - 대상 복제본 집합 수가 9인 시스템 서비스를 실행합니다. |
'브론즈' '골드' 'None' '플래티넘' '실버' |
reverseProxyCertificate | 역방향 프록시에서 사용하는 서버 인증서입니다. | CertificateDescription |
reverseProxyCertificateCommonNames | 클러스터를 보호하는 데 사용되는 일반 이름으로 참조되는 서버 인증서의 목록을 설명합니다. | ServerCertificateCommonNames |
upgradeDescription | 클러스터를 업그레이드할 때 사용할 정책입니다. | clusterUpgradePolicy |
upgradeMode | 새 Service Fabric 런타임 버전을 사용할 수 있는 경우 클러스터의 업그레이드 모드입니다. - 자동 - 클러스터가 사용 가능한 즉시 최신 Service Fabric 런타임 버전으로 자동으로 업그레이드됩니다. - 수동 - 클러스터가 최신 Service Fabric 런타임 버전으로 자동으로 업그레이드되지 않습니다. 클러스터 리소스에서 clusterCodeVersion 속성을 설정하여 클러스터를 업그레이드합니다. |
'Automatic' '수동' |
vmImage | VM 이미지 VMSS가 구성되었습니다. Windows 또는 Linux와 같은 제네릭 이름을 사용할 수 있습니다. | 문자열 |
ClusterUpgradeDeltaHealthPolicy
이름 | 묘사 | 값 |
---|---|---|
applicationDeltaHealthPolicies | 클러스터를 업그레이드할 때 애플리케이션 또는 해당 자식 엔터티 중 하나의 상태를 평가하는 데 사용되는 애플리케이션 델타 상태 정책 맵을 정의합니다. | applicationDeltaHealthPolicyMap |
maxPercentDeltaUnhealthyApplications | 클러스터 업그레이드 중에 허용되는 최대 애플리케이션 상태 저하 비율입니다. 델타는 업그레이드 시작 시 애플리케이션의 상태와 상태 평가 시 애플리케이션의 상태 간에 측정됩니다. 업그레이드 도메인 업그레이드가 완료될 때마다 확인이 수행되어 클러스터의 전역 상태가 허용되는 제한 내에 있는지 확인합니다. 시스템 서비스는 이에 포함되지 않습니다. |
int 제약 조건: 최소값 = 0 최대값 = 100(필수) |
maxPercentDeltaUnhealthyNodes | 클러스터 업그레이드 중에 허용되는 최대 노드 상태 저하 비율입니다. 델타는 업그레이드 시작 시 노드의 상태와 상태 평가 시 노드 상태 간에 측정됩니다. 업그레이드 도메인 업그레이드가 완료될 때마다 확인이 수행되어 클러스터의 전역 상태가 허용되는 제한 내에 있는지 확인합니다. |
int 제약 조건: 최소값 = 0 최대값 = 100(필수) |
maxPercentUpgradeDomainDeltaUnhealthyNodes | 클러스터 업그레이드 중에 허용되는 업그레이드 도메인 노드 상태 저하의 최대 허용 비율입니다. 델타는 업그레이드 시작 시 업그레이드 도메인 노드의 상태와 상태 평가 시 업그레이드 도메인 노드의 상태 간에 측정됩니다. 업그레이드 도메인의 상태가 허용되는 한도 내에 있는지 확인하기 위해 완료된 모든 업그레이드 도메인에 대해 업그레이드 도메인 업그레이드가 완료될 때마다 확인이 수행됩니다. |
int 제약 조건: 최소값 = 0 최대값 = 100(필수) |
ClusterUpgradePolicy
이름 | 묘사 | 값 |
---|---|---|
deltaHealthPolicy | 클러스터를 업그레이드할 때 사용되는 클러스터 델타 상태 정책입니다. | ClusterUpgradeDeltaHealthPolicy |
forceRestart | true이면 코드 버전이 변경되지 않은 경우에도 업그레이드 중에 프로세스가 강제로 다시 시작됩니다(업그레이드는 구성 또는 데이터만 변경됨). | bool |
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(필수) |
healthPolicy | 클러스터를 업그레이드할 때 사용되는 클러스터 상태 정책입니다. | ClusterHealthPolicy(필수) |
upgradeDomainTimeout | 업그레이드가 롤백되기 전에 각 업그레이드 도메인을 완료해야 하는 시간입니다. 시간 제한은 hh:mm:ss 또는 d.hh:mm:ss.ms 형식일 수 있습니다. | string(필수) |
upgradeReplicaSetCheckTimeout | 업그레이드 도메인의 처리를 차단하고 예기치 않은 문제가 발생할 때 가용성 손실을 방지하는 최대 시간입니다. 이 시간 제한이 만료되면 가용성 손실 문제에 관계없이 업그레이드 도메인의 처리가 진행됩니다. 시간 제한은 각 업그레이드 도메인의 시작 부분에 다시 설정됩니다. 시간 제한은 hh:mm:ss 또는 d.hh:mm:ss.ms 형식일 수 있습니다. | string(필수) |
upgradeTimeout | 업그레이드가 롤백되기 전에 전체 업그레이드를 완료해야 하는 시간입니다. 시간 제한은 hh:mm:ss 또는 d.hh:mm:ss.ms 형식일 수 있습니다. | string(필수) |
DiagnosticsStorageAccountConfig
이름 | 묘사 | 값 |
---|---|---|
blobEndpoint | Azure Storage 계정의 Blob 엔드포인트입니다. | string(필수) |
protectedAccountKeyName | 보호된 진단 스토리지 키 이름입니다. | string(필수) |
protectedAccountKeyName2 | 보조 보호된 진단 스토리지 키 이름입니다. 스토리지 계정 키 중 하나가 회전되면 클러스터는 다른 키를 사용하는 것으로 대체됩니다. | 문자열 |
queueEndpoint | Azure Storage 계정의 큐 엔드포인트입니다. | string(필수) |
storageAccountName | Azure Storage 계정 이름입니다. | string(필수) |
tableEndpoint | Azure Storage 계정의 테이블 엔드포인트입니다. | string(필수) |
EndpointRangeDescription
이름 | 묘사 | 값 |
---|---|---|
endPort | 포트 범위의 끝 포트 | int(필수) |
startPort | 포트 범위의 시작 포트 | int(필수) |
Microsoft.ServiceFabric/clusters
이름 | 묘사 | 값 |
---|---|---|
apiVersion | api 버전 | '2019-06-01-preview' |
위치 | Azure 리소스 위치입니다. | string(필수) |
이름 | 리소스 이름 | string(필수) |
속성 | 클러스터 리소스 속성 | ClusterProperties |
태그 | 리소스 태그 | 태그 이름 및 값의 사전입니다. 템플릿 |
형 | 리소스 종류 | 'Microsoft.ServiceFabric/clusters' |
NodeTypeDescription
이름 | 묘사 | 값 |
---|---|---|
applicationPorts | 클러스터가 Service Fabric 애플리케이션에 포트를 할당한 포트 범위입니다. | EndpointRangeDescription |
용량 | 노드 형식의 노드에 적용되는 용량 태그인 클러스터 리소스 관리자는 이러한 태그를 사용하여 노드에 있는 리소스의 양을 이해합니다. | nodeTypeDescriptionCapacities |
clientConnectionEndpointPort | TCP 클러스터 관리 엔드포인트 포트입니다. | int(필수) |
durabilityLevel | 노드 형식의 내구성 수준입니다. DurabilityLevel - 브론즈 - 권한이 없습니다. 기본값입니다. - Silver - UD당 10분 동안 인프라 작업을 일시 중지할 수 있습니다. - 골드 - 인프라 작업은 UD당 2시간 동안 일시 중지할 수 있습니다. 골드 내구성은 D15_V2, G5 등과 같은 전체 노드 VM sku에서만 사용할 수 있습니다. |
'브론즈' '골드' '실버' |
ephemeralPorts | 이 노드 형식의 노드를 구성해야 하는 임시 포트의 범위입니다. | EndpointRangeDescription |
httpGatewayEndpointPort | HTTP 클러스터 관리 엔드포인트 포트입니다. | int(필수) |
isPrimary | 시스템 서비스가 실행될 노드 유형입니다. 하나의 노드 형식만 기본으로 표시되어야 합니다. 기본 노드 유형은 기존 클러스터에 대해 삭제하거나 변경할 수 없습니다. | bool(필수) |
이름 | 노드 형식의 이름입니다. | string(필수) |
placementProperties | 노드 형식의 노드에 적용되는 배치 태그로, 특정 서비스(워크로드)가 실행되어야 하는 위치를 나타내는 데 사용할 수 있습니다. | NodeTypeDescriptionPlacementProperties |
reverseProxyEndpointPort | 역방향 프록시에서 사용하는 엔드포인트입니다. | int |
vmInstanceCount | 노드 형식의 노드 수입니다. 이 개수는 해당 VirtualMachineScaleSet 리소스의 용량 속성과 일치해야 합니다. | int 제약 조건: 최소값 = 1 최대값 = 2147483647(필수) |
NodeTypeDescriptionCapacities
이름 | 묘사 | 값 |
---|
NodeTypeDescriptionPlacementProperties
이름 | 묘사 | 값 |
---|
ResourceTags
이름 | 묘사 | 값 |
---|
ServerCertificateCommonName
이름 | 묘사 | 값 |
---|---|---|
certificateCommonName | 서버 인증서의 일반 이름입니다. | string(필수) |
certificateIssuerThumbprint | 서버 인증서의 발급자 지문입니다. | string(필수) |
ServerCertificateCommonNames
이름 | 묘사 | 값 |
---|---|---|
commonNames | 클러스터를 보호하는 데 사용되는 일반 이름으로 참조되는 서버 인증서 목록입니다. | ServerCertificateCommonName[] |
x509StoreName | 로컬 인증서 저장소 위치입니다. | 'AddressBook' 'AuthRoot' 'CertificateAuthority' '허용되지 않음' 'My' 'Root' 'TrustedPeople' 'TrustedPublisher' |
ServiceTypeDeltaHealthPolicy
이름 | 묘사 | 값 |
---|---|---|
maxPercentDeltaUnhealthyServices | 클러스터 업그레이드 중에 허용되는 최대 서비스 상태 저하 비율입니다. 델타는 업그레이드 시작 시 서비스 상태와 상태 평가 시 서비스의 상태 간에 측정됩니다. 업그레이드 도메인 업그레이드가 완료될 때마다 확인이 수행되어 클러스터의 전역 상태가 허용되는 제한 내에 있는지 확인합니다. |
int 제약 조건: 최소값 = 0 최대값 = 100 |
ServiceTypeDeltaHealthPolicyMap
이름 | 묘사 | 값 |
---|
ServiceTypeHealthPolicy
이름 | 묘사 | 값 |
---|---|---|
maxPercentUnhealthyServices | 애플리케이션이 오류로 간주되기 전에 비정상으로 허용되는 서비스의 최대 비율입니다. | int 제약 조건: 최소값 = 0 최대값 = 100 |
ServiceTypeHealthPolicyMap
이름 | 묘사 | 값 |
---|
SettingsParameterDescription
이름 | 묘사 | 값 |
---|---|---|
이름 | 패브릭 설정의 매개 변수 이름입니다. | string(필수) |
값 | 패브릭 설정의 매개 변수 값입니다. | string(필수) |
SettingsSectionDescription
이름 | 묘사 | 값 |
---|---|---|
이름 | 패브릭 설정의 섹션 이름입니다. | string(필수) |
매개 변수 | 섹션의 매개 변수 컬렉션입니다. | SettingsParameterDescription[] (필수) |
빠른 시작 템플릿
다음 빠른 시작 템플릿은 이 리소스 유형을 배포합니다.
템플렛 | 묘사 |
---|---|
NSG를 사용하도록 설정된 3 Nodetype 보안 클러스터 배포 Azure 배포 |
이 템플릿을 사용하면 Standard_D2 크기 VM에서 Windows Server 2016 데이터 센터를 실행하는 안전한 3 nodetype Service Fabric 클러스터를 배포할 수 있습니다. 이 템플릿을 사용하면 네트워크 보안 그룹을 사용하여 인바운드 및 아웃바운드 네트워크 트래픽을 제어할 수 있습니다. |
5 노드 보안 클러스터 배포 Azure 배포 |
이 템플릿을 사용하면 windows Server 2019 Datacenter를 실행하는 보안 5 노드 Service Fabric 클러스터를 Standard_D2_v2 크기 VMSS에 배포할 수 있습니다. |
5 Node Ubuntu Service Fabric 클러스터 배포 Azure 배포 |
이 템플릿을 사용하면 Standard_D2_V2 크기 VMSS에서 Ubuntu를 실행하는 보안 5 노드 Service Fabric 클러스터를 배포할 수 있습니다. |
Terraform(AzAPI 공급자) 리소스 정의
다음을 대상으로 하는 작업을 사용하여 클러스터 리소스 유형을 배포할 수 있습니다.
- 리소스 그룹
각 API 버전에서 변경된 속성 목록은 변경 로그참조하세요.
리소스 형식
Microsoft.ServiceFabric/clusters 리소스를 만들려면 템플릿에 다음 Terraform을 추가합니다.
resource "azapi_resource" "symbolicname" {
type = "Microsoft.ServiceFabric/clusters@2019-06-01-preview"
name = "string"
location = "string"
tags = {
{customized property} = "string"
}
body = jsonencode({
properties = {
addOnFeatures = [
"string"
]
azureActiveDirectory = {
clientApplication = "string"
clusterApplication = "string"
tenantId = "string"
}
certificate = {
thumbprint = "string"
thumbprintSecondary = "string"
x509StoreName = "string"
}
certificateCommonNames = {
commonNames = [
{
certificateCommonName = "string"
certificateIssuerThumbprint = "string"
}
]
x509StoreName = "string"
}
clientCertificateCommonNames = [
{
certificateCommonName = "string"
certificateIssuerThumbprint = "string"
isAdmin = bool
}
]
clientCertificateThumbprints = [
{
certificateThumbprint = "string"
isAdmin = bool
}
]
clusterCodeVersion = "string"
diagnosticsStorageAccountConfig = {
blobEndpoint = "string"
protectedAccountKeyName = "string"
protectedAccountKeyName2 = "string"
queueEndpoint = "string"
storageAccountName = "string"
tableEndpoint = "string"
}
eventStoreServiceEnabled = bool
fabricSettings = [
{
name = "string"
parameters = [
{
name = "string"
value = "string"
}
]
}
]
managementEndpoint = "string"
nodeTypes = [
{
applicationPorts = {
endPort = int
startPort = int
}
capacities = {
{customized property} = "string"
}
clientConnectionEndpointPort = int
durabilityLevel = "string"
ephemeralPorts = {
endPort = int
startPort = int
}
httpGatewayEndpointPort = int
isPrimary = bool
name = "string"
placementProperties = {
{customized property} = "string"
}
reverseProxyEndpointPort = int
vmInstanceCount = int
}
]
reliabilityLevel = "string"
reverseProxyCertificate = {
thumbprint = "string"
thumbprintSecondary = "string"
x509StoreName = "string"
}
reverseProxyCertificateCommonNames = {
commonNames = [
{
certificateCommonName = "string"
certificateIssuerThumbprint = "string"
}
]
x509StoreName = "string"
}
upgradeDescription = {
deltaHealthPolicy = {
applicationDeltaHealthPolicies = {
{customized property} = {
defaultServiceTypeDeltaHealthPolicy = {
maxPercentDeltaUnhealthyServices = int
}
serviceTypeDeltaHealthPolicies = {
{customized property} = {
maxPercentDeltaUnhealthyServices = int
}
}
}
}
maxPercentDeltaUnhealthyApplications = int
maxPercentDeltaUnhealthyNodes = int
maxPercentUpgradeDomainDeltaUnhealthyNodes = int
}
forceRestart = bool
healthCheckRetryTimeout = "string"
healthCheckStableDuration = "string"
healthCheckWaitDuration = "string"
healthPolicy = {
applicationHealthPolicies = {
{customized property} = {
defaultServiceTypeHealthPolicy = {
maxPercentUnhealthyServices = int
}
serviceTypeHealthPolicies = {
{customized property} = {
maxPercentUnhealthyServices = int
}
}
}
}
maxPercentUnhealthyApplications = int
maxPercentUnhealthyNodes = int
}
upgradeDomainTimeout = "string"
upgradeReplicaSetCheckTimeout = "string"
upgradeTimeout = "string"
}
upgradeMode = "string"
vmImage = "string"
}
})
}
속성 값
ApplicationDeltaHealthPolicy
이름 | 묘사 | 값 |
---|---|---|
defaultServiceTypeDeltaHealthPolicy | 클러스터를 업그레이드할 때 서비스 유형의 상태를 평가하는 데 기본적으로 사용되는 델타 상태 정책입니다. | ServiceTypeDeltaHealthPolicy |
serviceTypeDeltaHealthPolicies | 서비스 유형 이름당 서비스 유형 델타 상태 정책이 있는 맵입니다. 맵은 기본적으로 비어 있습니다. | serviceTypeDeltaHealthPolicyMap |
ApplicationDeltaHealthPolicyMap
이름 | 묘사 | 값 |
---|
ApplicationHealthPolicy
이름 | 묘사 | 값 |
---|---|---|
defaultServiceTypeHealthPolicy | 기본적으로 서비스 유형의 상태를 평가하는 데 사용되는 상태 정책입니다. | ServiceTypeHealthPolicy |
serviceTypeHealthPolicies | 서비스 유형 이름당 서비스 유형 상태 정책이 있는 맵입니다. 맵은 기본적으로 비어 있습니다. | ServiceTypeHealthPolicyMap |
ApplicationHealthPolicyMap
이름 | 묘사 | 값 |
---|
AzureActiveDirectory
이름 | 묘사 | 값 |
---|---|---|
clientApplication | Azure Active Directory 클라이언트 애플리케이션 ID입니다. | 문자열 |
clusterApplication | Azure Active Directory 클러스터 애플리케이션 ID입니다. | 문자열 |
tenantId | Azure Active Directory 테넌트 ID입니다. | 문자열 |
CertificateDescription
이름 | 묘사 | 값 |
---|---|---|
지문 | 기본 인증서의 지문입니다. | string(필수) |
thumbprintSecondary | 보조 인증서의 지문입니다. | 문자열 |
x509StoreName | 로컬 인증서 저장소 위치입니다. | 'AddressBook' 'AuthRoot' 'CertificateAuthority' '허용되지 않음' 'My' 'Root' 'TrustedPeople' 'TrustedPublisher' |
ClientCertificateCommonName
이름 | 묘사 | 값 |
---|---|---|
certificateCommonName | 클라이언트 인증서의 일반 이름입니다. | string(필수) |
certificateIssuerThumbprint | 클라이언트 인증서의 발급자 지문입니다. | string(필수) |
isAdmin | 클라이언트 인증서에 클러스터에 대한 관리자 액세스 권한이 있는지를 나타냅니다. 관리자가 아닌 클라이언트는 클러스터에서 읽기 전용 작업만 수행할 수 있습니다. | bool(필수) |
ClientCertificateThumbprint
이름 | 묘사 | 값 |
---|---|---|
certificateThumbprint | 클라이언트 인증서의 지문입니다. | string(필수) |
isAdmin | 클라이언트 인증서에 클러스터에 대한 관리자 액세스 권한이 있는지를 나타냅니다. 관리자가 아닌 클라이언트는 클러스터에서 읽기 전용 작업만 수행할 수 있습니다. | bool(필수) |
ClusterHealthPolicy
이름 | 묘사 | 값 |
---|---|---|
applicationHealthPolicies | 애플리케이션 또는 해당 자식 엔터티 중 하나의 상태를 평가하는 데 사용되는 애플리케이션 상태 정책 맵을 정의합니다. | applicationHealthPolicyMap |
maxPercentUnhealthyApplications | 오류를 보고하기 전에 허용되는 비정상 애플리케이션의 최대 백분율입니다. 예를 들어 10개% 애플리케이션이 비정상이 되도록 하려면 이 값은 10입니다. 백분율은 클러스터가 오류로 간주되기 전에 비정상일 수 있는 애플리케이션의 최대 허용 비율을 나타냅니다. 백분율이 존중되지만 하나 이상의 비정상 애플리케이션이 있는 경우 상태는 경고로 평가됩니다. 이는 ApplicationTypeHealthPolicyMap에 포함된 애플리케이션 유형의 애플리케이션을 제외하고 클러스터의 총 애플리케이션 인스턴스 수에 대한 비정상 애플리케이션 수를 나누어 계산합니다. 계산은 적은 수의 애플리케이션에서 하나의 오류를 허용하도록 반올림됩니다. 기본 백분율은 0입니다. |
int 제약 조건: 최소값 = 0 최대값 = 100 |
maxPercentUnhealthyNodes | 오류를 보고하기 전에 허용되는 비정상 노드의 최대 백분율입니다. 예를 들어 노드 10개% 비정상이 되도록 하려면 이 값은 10입니다. 백분율은 클러스터가 오류로 간주되기 전에 비정상일 수 있는 노드의 최대 허용 비율을 나타냅니다. 백분율이 존중되지만 하나 이상의 비정상 노드가 있는 경우 상태는 경고로 평가됩니다. 백분율은 클러스터의 총 노드 수에 대한 비정상 노드 수를 나누어 계산됩니다. 계산은 적은 수의 노드에서 하나의 오류를 허용하도록 반올림됩니다. 기본 백분율은 0입니다. 큰 클러스터에서 일부 노드는 항상 복구를 위해 중단되거나 중단되므로 이 백분율은 이를 허용하도록 구성해야 합니다. |
int 제약 조건: 최소값 = 0 최대값 = 100 |
ClusterProperties
이름 | 묘사 | 값 |
---|---|---|
addOnFeatures | 클러스터에서 사용하도록 설정할 추가 기능 목록입니다. | 다음 중 어느 것을 포함하는 문자열 배열: 'BackupRestoreService' 'DnsService' 'RepairManager' 'ResourceMonitorService' |
azureActiveDirectory | 클러스터의 AAD 인증 설정입니다. | AzureActiveDirectory |
증명서 | 클러스터 보안에 사용할 인증서입니다. 제공된 인증서는 클러스터 내의 노드 간 보안, 클러스터 관리 엔드포인트용 SSL 인증서 및 기본 관리 클라이언트에 사용됩니다. | CertificateDescription |
certificateCommonNames | 클러스터를 보호하는 데 사용되는 일반 이름으로 참조되는 서버 인증서의 목록을 설명합니다. | ServerCertificateCommonNames |
clientCertificateCommonNames | 클러스터를 관리할 수 있는 일반 이름으로 참조되는 클라이언트 인증서 목록입니다. | ClientCertificateCommonName[] |
clientCertificateThumbprints | 클러스터를 관리할 수 있는 지문으로 참조되는 클라이언트 인증서 목록입니다. | ClientCertificateThumbprint[] |
clusterCodeVersion | 클러스터의 Service Fabric 런타임 버전입니다. 이 속성은 upgradeMode 'Manual'으로 설정된 경우에만 사용자를 설정할 수 있습니다. 새 클러스터에 사용 가능한 Service Fabric 버전 목록을 얻으려면 ClusterVersion API사용합니다. 기존 클러스터에 사용 가능한 버전 목록을 얻으려면 사용 가능한ClusterVersions사용합니다. | 문자열 |
diagnosticsStorageAccountConfig | Service Fabric 진단 로그를 저장하기 위한 스토리지 계정 정보입니다. | DiagnosticsStorageAccountConfig |
eventStoreServiceEnabled | 이벤트 저장소 서비스를 사용할 수 있는지를 나타냅니다. | bool |
fabricSettings | 클러스터를 구성할 사용자 지정 패브릭 설정 목록입니다. | SettingsSectionDescription[] |
managementEndpoint | 클러스터의 http 관리 엔드포인트입니다. | string(필수) |
nodeTypes | 클러스터의 노드 형식 목록입니다. | NodeTypeDescription[] (필수) |
reliabilityLevel | 안정성 수준은 시스템 서비스의 복제본 집합 크기를 설정합니다.
ReliabilityLevel대해 알아봅니다. - 없음 - 대상 복제본 집합 수가 1인 시스템 서비스를 실행합니다. 테스트 클러스터에만 사용해야 합니다. - Bronze - 대상 복제본 집합 수가 3인 시스템 서비스를 실행합니다. 테스트 클러스터에만 사용해야 합니다. - Silver - 대상 복제본 집합 수가 5인 시스템 서비스를 실행합니다. - Gold - 대상 복제본 집합 수가 7인 시스템 서비스를 실행합니다. - Platinum - 대상 복제본 집합 수가 9인 시스템 서비스를 실행합니다. |
'브론즈' '골드' 'None' '플래티넘' '실버' |
reverseProxyCertificate | 역방향 프록시에서 사용하는 서버 인증서입니다. | CertificateDescription |
reverseProxyCertificateCommonNames | 클러스터를 보호하는 데 사용되는 일반 이름으로 참조되는 서버 인증서의 목록을 설명합니다. | ServerCertificateCommonNames |
upgradeDescription | 클러스터를 업그레이드할 때 사용할 정책입니다. | clusterUpgradePolicy |
upgradeMode | 새 Service Fabric 런타임 버전을 사용할 수 있는 경우 클러스터의 업그레이드 모드입니다. - 자동 - 클러스터가 사용 가능한 즉시 최신 Service Fabric 런타임 버전으로 자동으로 업그레이드됩니다. - 수동 - 클러스터가 최신 Service Fabric 런타임 버전으로 자동으로 업그레이드되지 않습니다. 클러스터 리소스에서 clusterCodeVersion 속성을 설정하여 클러스터를 업그레이드합니다. |
'Automatic' '수동' |
vmImage | VM 이미지 VMSS가 구성되었습니다. Windows 또는 Linux와 같은 제네릭 이름을 사용할 수 있습니다. | 문자열 |
ClusterUpgradeDeltaHealthPolicy
이름 | 묘사 | 값 |
---|---|---|
applicationDeltaHealthPolicies | 클러스터를 업그레이드할 때 애플리케이션 또는 해당 자식 엔터티 중 하나의 상태를 평가하는 데 사용되는 애플리케이션 델타 상태 정책 맵을 정의합니다. | applicationDeltaHealthPolicyMap |
maxPercentDeltaUnhealthyApplications | 클러스터 업그레이드 중에 허용되는 최대 애플리케이션 상태 저하 비율입니다. 델타는 업그레이드 시작 시 애플리케이션의 상태와 상태 평가 시 애플리케이션의 상태 간에 측정됩니다. 업그레이드 도메인 업그레이드가 완료될 때마다 확인이 수행되어 클러스터의 전역 상태가 허용되는 제한 내에 있는지 확인합니다. 시스템 서비스는 이에 포함되지 않습니다. |
int 제약 조건: 최소값 = 0 최대값 = 100(필수) |
maxPercentDeltaUnhealthyNodes | 클러스터 업그레이드 중에 허용되는 최대 노드 상태 저하 비율입니다. 델타는 업그레이드 시작 시 노드의 상태와 상태 평가 시 노드 상태 간에 측정됩니다. 업그레이드 도메인 업그레이드가 완료될 때마다 확인이 수행되어 클러스터의 전역 상태가 허용되는 제한 내에 있는지 확인합니다. |
int 제약 조건: 최소값 = 0 최대값 = 100(필수) |
maxPercentUpgradeDomainDeltaUnhealthyNodes | 클러스터 업그레이드 중에 허용되는 업그레이드 도메인 노드 상태 저하의 최대 허용 비율입니다. 델타는 업그레이드 시작 시 업그레이드 도메인 노드의 상태와 상태 평가 시 업그레이드 도메인 노드의 상태 간에 측정됩니다. 업그레이드 도메인의 상태가 허용되는 한도 내에 있는지 확인하기 위해 완료된 모든 업그레이드 도메인에 대해 업그레이드 도메인 업그레이드가 완료될 때마다 확인이 수행됩니다. |
int 제약 조건: 최소값 = 0 최대값 = 100(필수) |
ClusterUpgradePolicy
이름 | 묘사 | 값 |
---|---|---|
deltaHealthPolicy | 클러스터를 업그레이드할 때 사용되는 클러스터 델타 상태 정책입니다. | ClusterUpgradeDeltaHealthPolicy |
forceRestart | true이면 코드 버전이 변경되지 않은 경우에도 업그레이드 중에 프로세스가 강제로 다시 시작됩니다(업그레이드는 구성 또는 데이터만 변경됨). | bool |
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(필수) |
healthPolicy | 클러스터를 업그레이드할 때 사용되는 클러스터 상태 정책입니다. | ClusterHealthPolicy(필수) |
upgradeDomainTimeout | 업그레이드가 롤백되기 전에 각 업그레이드 도메인을 완료해야 하는 시간입니다. 시간 제한은 hh:mm:ss 또는 d.hh:mm:ss.ms 형식일 수 있습니다. | string(필수) |
upgradeReplicaSetCheckTimeout | 업그레이드 도메인의 처리를 차단하고 예기치 않은 문제가 발생할 때 가용성 손실을 방지하는 최대 시간입니다. 이 시간 제한이 만료되면 가용성 손실 문제에 관계없이 업그레이드 도메인의 처리가 진행됩니다. 시간 제한은 각 업그레이드 도메인의 시작 부분에 다시 설정됩니다. 시간 제한은 hh:mm:ss 또는 d.hh:mm:ss.ms 형식일 수 있습니다. | string(필수) |
upgradeTimeout | 업그레이드가 롤백되기 전에 전체 업그레이드를 완료해야 하는 시간입니다. 시간 제한은 hh:mm:ss 또는 d.hh:mm:ss.ms 형식일 수 있습니다. | string(필수) |
DiagnosticsStorageAccountConfig
이름 | 묘사 | 값 |
---|---|---|
blobEndpoint | Azure Storage 계정의 Blob 엔드포인트입니다. | string(필수) |
protectedAccountKeyName | 보호된 진단 스토리지 키 이름입니다. | string(필수) |
protectedAccountKeyName2 | 보조 보호된 진단 스토리지 키 이름입니다. 스토리지 계정 키 중 하나가 회전되면 클러스터는 다른 키를 사용하는 것으로 대체됩니다. | 문자열 |
queueEndpoint | Azure Storage 계정의 큐 엔드포인트입니다. | string(필수) |
storageAccountName | Azure Storage 계정 이름입니다. | string(필수) |
tableEndpoint | Azure Storage 계정의 테이블 엔드포인트입니다. | string(필수) |
EndpointRangeDescription
이름 | 묘사 | 값 |
---|---|---|
endPort | 포트 범위의 끝 포트 | int(필수) |
startPort | 포트 범위의 시작 포트 | int(필수) |
Microsoft.ServiceFabric/clusters
이름 | 묘사 | 값 |
---|---|---|
위치 | Azure 리소스 위치입니다. | string(필수) |
이름 | 리소스 이름 | string(필수) |
속성 | 클러스터 리소스 속성 | ClusterProperties |
태그 | 리소스 태그 | 태그 이름 및 값의 사전입니다. |
형 | 리소스 종류 | "Microsoft.ServiceFabric/clusters@2019-06-01-preview" |
NodeTypeDescription
이름 | 묘사 | 값 |
---|---|---|
applicationPorts | 클러스터가 Service Fabric 애플리케이션에 포트를 할당한 포트 범위입니다. | EndpointRangeDescription |
용량 | 노드 형식의 노드에 적용되는 용량 태그인 클러스터 리소스 관리자는 이러한 태그를 사용하여 노드에 있는 리소스의 양을 이해합니다. | nodeTypeDescriptionCapacities |
clientConnectionEndpointPort | TCP 클러스터 관리 엔드포인트 포트입니다. | int(필수) |
durabilityLevel | 노드 형식의 내구성 수준입니다. DurabilityLevel - 브론즈 - 권한이 없습니다. 기본값입니다. - Silver - UD당 10분 동안 인프라 작업을 일시 중지할 수 있습니다. - 골드 - 인프라 작업은 UD당 2시간 동안 일시 중지할 수 있습니다. 골드 내구성은 D15_V2, G5 등과 같은 전체 노드 VM sku에서만 사용할 수 있습니다. |
'브론즈' '골드' '실버' |
ephemeralPorts | 이 노드 형식의 노드를 구성해야 하는 임시 포트의 범위입니다. | EndpointRangeDescription |
httpGatewayEndpointPort | HTTP 클러스터 관리 엔드포인트 포트입니다. | int(필수) |
isPrimary | 시스템 서비스가 실행될 노드 유형입니다. 하나의 노드 형식만 기본으로 표시되어야 합니다. 기본 노드 유형은 기존 클러스터에 대해 삭제하거나 변경할 수 없습니다. | bool(필수) |
이름 | 노드 형식의 이름입니다. | string(필수) |
placementProperties | 노드 형식의 노드에 적용되는 배치 태그로, 특정 서비스(워크로드)가 실행되어야 하는 위치를 나타내는 데 사용할 수 있습니다. | NodeTypeDescriptionPlacementProperties |
reverseProxyEndpointPort | 역방향 프록시에서 사용하는 엔드포인트입니다. | int |
vmInstanceCount | 노드 형식의 노드 수입니다. 이 개수는 해당 VirtualMachineScaleSet 리소스의 용량 속성과 일치해야 합니다. | int 제약 조건: 최소값 = 1 최대값 = 2147483647(필수) |
NodeTypeDescriptionCapacities
이름 | 묘사 | 값 |
---|
NodeTypeDescriptionPlacementProperties
이름 | 묘사 | 값 |
---|
ResourceTags
이름 | 묘사 | 값 |
---|
ServerCertificateCommonName
이름 | 묘사 | 값 |
---|---|---|
certificateCommonName | 서버 인증서의 일반 이름입니다. | string(필수) |
certificateIssuerThumbprint | 서버 인증서의 발급자 지문입니다. | string(필수) |
ServerCertificateCommonNames
이름 | 묘사 | 값 |
---|---|---|
commonNames | 클러스터를 보호하는 데 사용되는 일반 이름으로 참조되는 서버 인증서 목록입니다. | ServerCertificateCommonName[] |
x509StoreName | 로컬 인증서 저장소 위치입니다. | 'AddressBook' 'AuthRoot' 'CertificateAuthority' '허용되지 않음' 'My' 'Root' 'TrustedPeople' 'TrustedPublisher' |
ServiceTypeDeltaHealthPolicy
이름 | 묘사 | 값 |
---|---|---|
maxPercentDeltaUnhealthyServices | 클러스터 업그레이드 중에 허용되는 최대 서비스 상태 저하 비율입니다. 델타는 업그레이드 시작 시 서비스 상태와 상태 평가 시 서비스의 상태 간에 측정됩니다. 업그레이드 도메인 업그레이드가 완료될 때마다 확인이 수행되어 클러스터의 전역 상태가 허용되는 제한 내에 있는지 확인합니다. |
int 제약 조건: 최소값 = 0 최대값 = 100 |
ServiceTypeDeltaHealthPolicyMap
이름 | 묘사 | 값 |
---|
ServiceTypeHealthPolicy
이름 | 묘사 | 값 |
---|---|---|
maxPercentUnhealthyServices | 애플리케이션이 오류로 간주되기 전에 비정상으로 허용되는 서비스의 최대 비율입니다. | int 제약 조건: 최소값 = 0 최대값 = 100 |
ServiceTypeHealthPolicyMap
이름 | 묘사 | 값 |
---|
SettingsParameterDescription
이름 | 묘사 | 값 |
---|---|---|
이름 | 패브릭 설정의 매개 변수 이름입니다. | string(필수) |
값 | 패브릭 설정의 매개 변수 값입니다. | string(필수) |
SettingsSectionDescription
이름 | 묘사 | 값 |
---|---|---|
이름 | 패브릭 설정의 섹션 이름입니다. | string(필수) |
매개 변수 | 섹션의 매개 변수 컬렉션입니다. | SettingsParameterDescription[] (필수) |