Service Fabric 애플리케이션에서 Azure 리소스에 대한 관리 ID 를 사용하려면 먼저 클러스터에서 관리 ID 토큰 서비스를 사용하도록 설정합니다. 이 서비스는 관리 ID를 사용하여 Service Fabric 애플리케이션을 인증하고 대신 액세스 토큰을 가져오는 작업을 담당합니다. 서비스를 사용하도록 설정하면 서비스 패브릭 탐색기에서 왼쪽 창의 시스템 섹션 아래에서 이름 패브릭:/System/ManagedIdentityTokenService에서 실행되는 것을 볼 수 있습니다.
비고
관리 ID 토큰 서비스를 사용하려면 Service Fabric 런타임 버전 6.5.658.9590 이상이 필요합니다.
Azure Portal에서 클러스터 리소스를 열고 Essentials 섹션에서 Service Fabric 버전 속성을 확인하여 클러스터의 Service Fabric 버전을 찾을 수 있습니다.
클러스터가 수동 업그레이드 모드인 경우 먼저 6.5.658.9590 이상으로 업그레이드해야 합니다.
기존 클러스터에서 관리 ID 토큰 서비스 사용
기존 클러스터에서 관리 ID 토큰 서비스를 사용하도록 설정하려면 (1) 관리 ID 토큰 서비스 사용 및 (2) 각 노드의 다시 시작을 요청하는 두 가지 변경 내용을 지정하는 클러스터 업그레이드를 시작해야 합니다. 먼저 클러스터 Azure Resource Manager 템플릿에 다음 코드 조각을 추가합니다.
"fabricSettings": [
{
"name": "ManagedIdentityTokenService",
"parameters": [
{
"name": "IsEnabled",
"value": "true"
}
]
}
]
변경 내용을 적용하려면 업그레이드 정책을 변경하여 클러스터를 통해 업그레이드가 진행됨에 따라 각 노드에서 Service Fabric 런타임을 강제로 다시 시작하도록 지정해야 합니다. 이 다시 시작은 새로 사용하도록 설정된 시스템 서비스가 각 노드에서 시작되고 실행되도록 합니다. 아래 forceRestart
코드 조각에서는 다시 시작을 사용하도록 설정하는 데 필요한 설정입니다. 나머지 매개 변수의 경우 아래에 설명된 값을 사용하거나 클러스터 리소스에 이미 지정된 기존 사용자 지정 값을 사용합니다. Service Fabric 리소스 또는 resources.azure.com '패브릭 업그레이드' 옵션을 선택하여 Azure Portal에서 패브릭 업그레이드 정책('upgradeDescription')에 대한 사용자 지정 설정을 볼 수 있습니다. 업그레이드 정책의 기본 옵션('upgradeDescription')은 PowerShell 또는 resources.azure.com 볼 수 없습니다. 자세한 내용은 ClusterUpgradePolicy 를 참조하세요.
"upgradeDescription": {
"forceRestart": true,
"healthCheckRetryTimeout": "00:45:00",
"healthCheckStableDuration": "00:05:00",
"healthCheckWaitDuration": "00:05:00",
"upgradeDomainTimeout": "02:00:00",
"upgradeReplicaSetCheckTimeout": "1.00:00:00",
"upgradeTimeout": "12:00:00"
}
비고
업그레이드가 성공적으로 완료되면 후속 업그레이드의 영향을 최소화하기 위해 설정을 롤백 forceRestart
하는 것을 잊지 마세요.
오류 및 문제 해결
다음 메시지와 함께 배포가 실패하면 클러스터가 충분히 높은 Service Fabric 버전에서 실행되고 있지 않음을 의미합니다.
{
"code": "ParameterNotAllowed",
"message": "Section 'ManagedIdentityTokenService' and Parameter 'IsEnabled' is not allowed."
}