Terraform에서 제공하는 Azure provider를 사용하려면 client_id, client_secret, tenant_id, subscription_id 정보가 있어야 한다.
provider "azurerm" {
features {}
client_id = var.client_id
client_secret = var.client_secret
tenant_id = var.tenant_id
subscription_id = var.subscription_id
}
이미 있다면
data "azurerm_resource_group" "ml_prod" {
name = "ml-prod"
}
새로 생성한다면
resource "azurerm_resource_group" "ml_prod_ws" {
name = "ml_prod_ws"
location = "koreacentral"
}
agent_public_key_certificate에는 certificate-authority-data를 넣어주면 된다.

Azureml SDK에서 Arc kubernetes에 등록된 외부 cluster를 사용하려면 Arc cluster를 생성한 후 그 안에 Microsoft.AzureML.Kubernetes도 설치해야 한다.
resource "azurerm_arc_kubernetes_cluster" "onprem_c002_cluster" {
name = "onprem-c002"
resource_group_name = data.azurerm_resource_group.ml_prod.name
location = data.azurerm_resource_group.ml_prod.location
agent_public_key_certificate = var.c002_certificate_authority_data
identity {
type = "SystemAssigned"
}
}
resource "azurerm_arc_kubernetes_cluster_extension" "onprem_c002_ext" {
name = "onprem-c002"
cluster_id = azurerm_arc_kubernetes_cluster.onprem_c002_cluster.id
extension_type = "Microsoft.AzureML.Kubernetes"
identity {
type = "SystemAssigned"
}
configuration_settings = {
"scope" : "cluster",
"enableTraining" : true,
}
}
Azure arc 에서 해당 cluster Overview 화면에 이렇게 떠야 정상임
