> For the complete documentation index, see [llms.txt](https://psedu.gitbook.io/k8s-aiops-aks/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://psedu.gitbook.io/k8s-aiops-aks/lab-1.md).

# Lab 1 - 클러스터 배포

1. Azure Portal 에 제공받은 계정으로 로그인

<https://portal.azure.com>

2. CloudShell 버튼 클릭

<figure><img src="/files/9JQGwcFiBNLnDuYjFtoM" alt=""><figcaption></figcaption></figure>

3. Bash 선택

<figure><img src="/files/NI7DzYazEfbki61yScRf" alt=""><figcaption></figcaption></figure>

4. 스토리지 계정 탑재 선택 후 구독은 안내에 따라서 선택한 뒤 적용 클릭

<figure><img src="/files/Hf1lkFidhw1TtC8REcWW" alt=""><figcaption></figcaption></figure>

5. 스토리지 계정을 만들고 싶습니다. 클릭

<figure><img src="/files/u6ZrOOK12V6zLvHDdStB" alt=""><figcaption></figcaption></figure>

6. 리소스 그룹 만들기 클릭후 user##-rg 입력한 뒤 OK 클릭

<figure><img src="/files/19TQqBQMwIIL1aGHMJKn" alt=""><figcaption></figcaption></figure>

7. 아래 항목을 입력한 뒤 만들기 클릭

* 지역 : 한국 중부
* 스토리지 계정 이름 : user##storageaccount
* 파일 공유 : use##fileshare

<figure><img src="/files/K4nYbNMcFjKh0hxLUZ1o" alt=""><figcaption></figcaption></figure>

8. 서비스 검색창 우측 Copilot 버튼 클릭

<figure><img src="/files/yAVqxbLvr6d4Q99NuFww" alt=""><figcaption></figcaption></figure>

9. 확장버튼 클릭

<figure><img src="/files/QB3bDMNLd6ycq76G4kwo" alt=""><figcaption></figcaption></figure>

10. 대화를 통해 AKS 클러스터를 배포 명령 생성

{% code overflow="wrap" %}

```
Azure AKS 클러스터를 프로덕션에 가까운 실습 환경으로 배포하기 위한 Azure CLI 명령어를 만들어줘.

조건은 다음과 같아.
--- 

리전: koreacentral
리소스 그룹: user##-rg
AKS 이름: user##-aks
Kubernetes 버전은 명시하지 말고 현재 지원되는 기본 버전 사용
노드풀 이름: user##-aks-pool
노드 수: 2개
노드 VM 크기: Standard_D2s_v3
Managed Identity 사용
Azure CNI 사용
Network Policy는 Azure Network Policy 사용
Cluster Autoscaler는 최소 2개, 최대 4개로 설정
Azure Monitor / Container Insights 연동 가능 여부를 고려해서 명령어 작성
```

{% endcode %}

<figure><img src="/files/2KiaeByHcddISbBwVBsC" alt=""><figcaption></figcaption></figure>

11. 해당 명령을 복사하여 Cloudshell 에서 실행&#x20;

{% hint style="warning" %}
이때 user## 에는 본인의 번호를 입력합니다.
{% endhint %}

12. 에러가 발생한다면 해당 에러를 Copilot 에게 물어본 뒤 해결

<figure><img src="/files/8YFFIMvJhmXfyXFdwJfZ" alt=""><figcaption></figcaption></figure>

13. 모범 배포 명령

{% code overflow="wrap" %}

```
az aks create \
  --resource-group user##-rg \
  --name user##-aks \
  --node-count 2 \
  --node-vm-size Standard_D2s_v3 \
  --enable-managed-identity \
  --network-plugin azure \
  --network-policy azure \
  --enable-cluster-autoscaler \
  --min-count 2 \
  --max-count 4 \
  --enable-addons monitoring \
  --generate-ssh-keys \
  --location koreacentral \
  --nodepool-name user##pool
```

{% endcode %}

14. 배포 완료 후 kubectl 인증 명령을 Copilot 에게 문의, 명령을 복사

{% code overflow="wrap" %}

```
kubectl 인증은 어떻게 해?
```

{% endcode %}

<figure><img src="/files/Uz7bwe3eU7eei2kCr1Tx" alt=""><figcaption></figcaption></figure>

15. 명령을 적절히 수정후 Cloudshell 에서 실행

{% code overflow="wrap" %}

```
az aks get-credentials --resource-group user##-rg --name user##-aks --admin
```

{% endcode %}

{% code overflow="wrap" %}

```
kubectl get node
```

{% endcode %}

<figure><img src="/files/5bWh6ssiiQzmvp0wWCFZ" alt=""><figcaption></figcaption></figure>
