728x90
이미지 공유시 필요 사항
subscription
tenant
app client id
secret
resource group
gallery name
image name
image version
1. 공유자 의 대한 설정
## 스냅샷 생성
tkgimages4=$(az vm show \
-g tkg-image \
-n tkg-image4 \
--query "storageProfile.osDisk.managedDisk.id" \
-o tsv)
az snapshot create \
-g tkg-image \
--source "$tkgimages4" \
--name tkg-images3
az snapshot list \
-g tkg-image \
-o table
### 이미지 갤러리 생성
## 스냅샷에서 찾기
az snapshot list -g tkg-image --query "[].[name, id]" -o tsv
## 갤러리 생성
az sig create --resource-group tkg-image --gallery-name vmware_image_gallery
## 갤러리 찾기
az sig list -o table
## 이미지 정의 만들기
resourceGroup=tkg-image
gallery=vmware_image_gallery
imageDef=bootstrap_image
## 디피니션 생성
az sig image-definition create \
--resource-group $resourceGroup \
--gallery-name $gallery \
--gallery-image-definition $imageDef \
--publisher myPublisher \
--offer myOffer \
--sku mySKU \
--os-type Linux \
--os-state specialized
### 이미지 버전 만들기
az sig image-version create \
--resource-group $resourceGroup \
--gallery-name $gallery \
--gallery-image-definition $imageDef \
--gallery-image-version 0.0.4 \
--target-regions "southcentralus=1" "koreacentral=1=standard_zrs" \
--replica-count 2 \
--os-snapshot '/subscriptions/{ SubScription ID}/resourceGroups/{Resource GROUP NAME}/providers/Microsoft.Compute/snapshots/tkg-images4'
APP REGISTRATION 생성
해당 SUBSCRIPTION 클릭

APP REGISTRATION을 생성 하기 위한 계정을 생성한다.(만약 있으면 안해도 된다.)

ACTIVE DIRECTORY로 이동 후 App registration 클릭

아래와 같이 공유할 이미지의 대한 app registration이름과 , 다른 subscription에서도 공유 할 수 있게 3번째를 선택 후 redirect 할 url을 등록한다.
Redirect URL : https://www.microsoft.com

Secret 생성

생성 한 App registration에 read 권한 부여


2. 공유 받는 곳 설정
## 방법
TENANT1
az login --service-principal -u 'TENANT 1의 client ID' -p 'TENANT 1의 SECRET' --tenant 'TENANT 1의 ID'
TENANT2
az login --service-principal -u 'TENANT 1의 client ID' -p 'TENANT 1의 SECRET' --tenant 'TENANT 2의 ID'
## token GET
az account get-access-token
## APP 권한 정보 공유 ( TENANT 1에서 APP REGISTRATIONS 생성시 URL REDIRECT 내용 )
## 방법
https://login.microsoftonline.com/ <TENANT 2 ID> /oauth2/authorize?client_id=<TENANT 1의 CLIENT ID >&response_type=code&redirect_uri=<TENANT 1에서 APP REGISTRATIONS 구성시 생성했던 URL>
위까지 하면 공유 받는 subscription의 공유자의 app registration의 대한 권한을 줄수 있으며 권한은 Contribute로 설정 한다.
3. 공유 받는 곳에서 공유 갤러리를 생성 한다.
### VM으로 바로 생성도 가능 하지만 VM으로 생성시 vnet 등등의 정보를 가지고 온다.
### 갤러리로 이미지를 공유 받고 그 이미지로 배포 하는 것이 좋다.
## TENANT2 에서 갤러리 생성
az sig create --resource-group rg-tanzupaas-prod --gallery-name tkgimage
## 갤러리 생성 확인
az sig show \
--resource-group rg-tanzupaas-prod \
--gallery-name tkgimage \
--query id
## 항목 정의
resourceGroup=rg-tanzupaas-prod
gallery=tkgimage
imageDef=bootstrap_tkgimage
## 이미지 디피니션
az sig image-definition create \
--resource-group $resourceGroup \
--gallery-name $gallery \
--gallery-image-definition $imageDef \
--publisher myPublisher \
--offer myOffer \
--sku mySKU \
--os-type Linux \
--os-state specialized
## 갤러리에서 갤러리 복사
## 방법
az sig image-version create \
--resource-group $resourceGroup \
--gallery-name $gallery \
--gallery-image-definition $imageDef \
--gallery-image-version 0.0.1 \
--target-regions "southcentralus=1" "koreacentral=1=standard_zrs" \
--replica-count 2 \
--managed-image '/subscriptions/ < TENANT 1의 SUBSCRIPTION ID > /resourceGroups/< TENANT 1의 Resource Group >/providers/Microsoft.Compute/galleries/<TENANT 1 의 갤러리 이름 >/images/<TENANT1의 IMAGE 이름>/versions/<TENANT1의 이미지 버전>'
반응형