빠른 시작: Helm 차트를 사용하여 Kubernetes에 SQL Server Linux 컨테이너 배포
적용 대상: SQL Server - Linux
이 빠른 시작에서는 Windows 클라이언트 컴퓨터에서 Helm 차트를 사용하여 AKS(Azure Kubernetes Service)에 SQL Server on Linux 컨테이너를 배포하는 단계를 안내합니다.
AKS는 컨테이너 클러스터를 배포하고 관리하기 위한 관리되는 Kubernetes 서비스입니다. Helm은 Kubernetes 애플리케이션을 설치하고 수명 주기를 관리하는 오픈 소스 패키징 도구입니다.
필수 구성 요소
Azure 구독 Azure 구독이 없는 경우 무료 계정을 만들 수 있습니다.
이 빠른 시작을 위한 샘플 Helm 차트를 다운로드하고 검토합니다. 샘플 차트에는 SQL Server 배포를 사용자 지정하기 위한 여러 구성 옵션이 포함되어 있습니다.
클라이언트 도구 설치
Windows 클라이언트 컴퓨터에 다음 도구가 필요합니다.
다른 클라이언트 운영 체제를 사용하려는 경우 해당 플랫폼에 적합한 패키지를 선택해야 합니다.
Az PowerShell 모듈을 사용하여 kubectl 설치
kubectl을 사용하여 Kubernetes 클러스터와 상호 작용합니다. 자세한 내용은 az aks install-cli를 참조하세요.
kubectl을 설치하려면 Windows 명령 프롬프트에서 다음 명령을 실행합니다.
az aks install-cli
팁
매번 전체 경로를 입력할 필요가 없도록 kubectl을 로컬 PATH
환경 변수에 추가할 수 있습니다.
kubectl을 AKS 클러스터에 연결
kubectl 또는 helm 명령이 특정 AKS 클러스터에서 실행되도록 AKS 클러스터의 컨텍스트를 병합해야 합니다.
병합하려면 AKS 클러스터에 연결 문서에 설명된 대로 명령을 실행합니다.
az aks get-credentials --resource-group <resourcegroupname> --name <aks clustername>
다음 출력이 표시됩니다. 여기서
<clustername>
은 제공한 클러스터이고,<username>
은 로컬 Windows 사용자 계정입니다.Merged "<clustername>" as current context in C:\Users\<username>\.kube.config
kubectl get nodes
를 실행하여 병합이 성공했는지 확인합니다. 출력은 AKS 클러스터의 컨텍스트에 있는 노드를 표시합니다.NAME STATUS ROLES AGE VERSION <aks-node>-vmss000000 Ready agent 141d v1.16.13 <aks-node>-vmss000001 Ready agent 141d v1.16.13
샘플 Helm 차트 검토
이제 Helm 차트를 통해 AKS 클러스터에 SQL Server를 배포할 준비가 되었습니다.
이 빠른 시작에서는 샘플 "as-is" Helm 차트를 제공합니다. 이 샘플은 참조용입니다. readme
파일을 검토하여 구성 요구 사항과 일치하는 구성 값을 이해해야 합니다.
SQL Server 배포 권장 모드인 StatefulSet 모드에서 SQL Server를 배포하려는 경우 대신 샘플 "as-is" StatefulSet 기반 Helm 차트 배포를 볼 수 있습니다.
샘플 Helm 차트를 다운로드합니다.
샘플 차트를 다운로드한 디렉터리로 전환하고 필요한 경우
values.yaml
파일을 수정합니다.
AKS 클러스터에 SQL Server 배포
다음 명령을 사용하여 SQL Server를 배포합니다. 배포 이름은 사용자 지정할 수 있으므로 mssql-latest-deploy
를 원하는 대로 변경할 수 있습니다.
helm install mssql-latest-deploy . --set ACCEPT_EULA.value=Y --set MSSQL_PID.value=Developer
이전 예제에서 차트 및 해당 파일은 마침표(.
)로 표시되는 현재 디렉터리에 있습니다. 원하는 경우 차트의 경로를 지정할 수 있습니다.
성공하면 다음과 같은 출력이 표시됩니다.
NAME: mssql-latest-deploy
LAST DEPLOYED: Wed Apr 06 21:36:19 2022
NAMESPACE: default
STATUS: deployed
REVISION: 1
SQL Server 배포 확인
Kubernetes 클러스터에 배포하는 데 몇 분 정도 걸릴 수 있습니다. 배포가 성공했는지 확인하려면 다음 명령을 실행합니다.
kubectl get all
성공하면 다음과 같은 출력이 표시됩니다.
NAME READY STATUS RESTARTS AGE
pod/mssql-latest-deploy-7f8c7f5bc-9grmg 1/1 Running 0 2m56s
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
service/kubernetes ClusterIP 10.0.0.1 <none> 443/TCP 141d
service/mssql-latest-deploy LoadBalancer 10.0.247.220 20.40.0.145 1433:30780/TCP 2m56s
NAME READY UP-TO-DATE AVAILABLE AGE
deployment.apps/mssql-latest-deploy 1/1 1 1 2m56s
NAME DESIRED CURRENT READY AGE
replicaset.apps/mssql-latest-deploy-7f8c7f5bc 1 1 1 2m56s
AKS에서 실행되는 SQL Server에 연결
SSMS(SQL Server Management Studio), Azure Data Studio 또는 sqlcmd와 같은 친숙한 SQL Server 클라이언트 도구를 사용하여 SQL Server 인스턴스에 연결할 수 있습니다.
예를 들어 SSMS를 사용하여 SQL Server 인스턴스에 연결하는 경우 다음 설정을 사용할 수 있습니다.
- 서버 이름:
mssql-latest-deploy
서비스의External-IP
주소를 사용합니다. 이 예에서는20.40.0.145
입니다. - 인증: 드롭다운 목록에서 SQL Server 인증을 선택합니다.
- 로그인: 시스템 관리자 계정인 를 사용합니다
sa
. - 암호: 암호는
sa
Helm 차트의 파일에서MSSQL_SA_PASSWORD
구성 옵션에서values.yaml
제공한 값과 일치합니다.
연결되면 개체 탐색기에서 SQL Server 인스턴스를 확장할 수 있습니다.
리소스 정리
AKS 클러스터를 계속 사용하지 않으려면 클러스터를 삭제해야 합니다.