테라폼으로 Azure Kubernets 배포하기

안상운·2024년 12월 12일
0

Terraform

목록 보기
7/8
post-thumbnail

1. 디렉토리와 Azure CLI에 로그인

원하는 경로에 폴더를 만들고 안에 폴더를 하나 더 만든다(Terraform scripts)

이제 비주얼 스튜디오 코드로 들어가서 내가 위에 만든 폴더의 경로로 들어가자

확장에서 azure terraform 을 설치

이제 터미널로 들어가서 Azure cli에 로그인을 해보자.
먼저 해당 폴더를 우클릭해서 터미널을 열어준자.

만약 Microsofr Azure 계정이 없다면 지금 만들어주고 오자.

터미널에 az login을 입력하고 로그인 절차를 진행

로그인이 성공했으면 이제 테라폼 파일을 만들어보자.

2. Terraform code 구현

provider.tf

terraform {
  required_version = ">=1.0"

  required_providers {
    
    azapi = {
        source = "azure/azapi"
        version = "~>1.5"
    }
    azurerm = {
        source = "hashicorp/azurerm"
        version = "~>3.0"
    }
    random = {
        source = "hashicorp/random"
        version = "~>3.0"
    }
    time = {
        source = "hashicorp/time"
        version = "0.9.1"
    }
  }
}

provider "azurerum" {
  features {}
}

ssh.tf

resource "random_pet" "ssh_key_name" {
  prefix = "ssh"
  separator = ""
}


resource "azapi_resource_action" "ssh_public_key_gen" {
    type = "Microsoft.Compute/sshPublicKeys@2022-11-01"
    resource_id = azapi_resource.ssh_public_key.id
    action = "generateKeyPair"
    method = "POST"

    response_export_values = ["publickey", "privatekey"]
}


resource "azapi_resource" "ssh_public_key" {
    type =  "Microsoft.Compute.sshPublicKeys@2022-11-11-01"
    name = random_pet.ssh_key_name.id
    location = azurerm_resource_group.rg.location
    parent_id = azurerum_resource_group.rg.id
  
}

output "key_data" {
    value = jsondecode(azapi_resource_action.ssh_public_key_gen.output).publickey
}

0개의 댓글