Share via


빠른 시작: Helm 차트를 사용하여 Kubernetes에 SQL Server Linux 컨테이너 배포

적용 대상:SQL Server - Linux

이 빠른 시작에서는 Windows 클라이언트 컴퓨터에서 Helm 차트를 사용하여 AKS(Azure Kubernetes Service)에 SQL Server on Linux 컨테이너를 배포하는 단계를 안내합니다.

AKS는 컨테이너 클러스터를 배포하고 관리하기 위한 관리되는 Kubernetes 서비스입니다. Helm 은 Kubernetes 애플리케이션의 수명 주기를 설치하고 관리하는 데 도움이 되는 오픈 소스 패키징 도구입니다.

필수 구성 요소

클라이언트 도구 설치

Windows 클라이언트 컴퓨터에 다음 도구가 필요합니다.

다른 클라이언트 운영 체제를 사용하려는 경우 해당 플랫폼에 적합한 패키지를 선택해야 합니다.

Az PowerShell 모듈을 사용하여 kubectl 설치

kubectl을 사용하여 Kubernetes 클러스터와 상호 작용합니다. 자세한 내용은 az aks install-cli를 참조하세요.

kubectl을 설치하려면 Windows 명령 프롬프트에서 다음 명령을 실행합니다.

az aks install-cli

매번 전체 경로를 입력할 필요가 없도록 kubectl을 로컬 PATH 환경 변수에 추가할 수 있습니다.

kubectl을 AKS 클러스터에 연결

  1. 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
    
  2. 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 차트 배포를 볼 수 있습니다.

  1. 샘플 Helm 차트를 다운로드합니다.

  2. 샘플 차트를 다운로드한 디렉터리로 전환하고 필요한 경우 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 차트의 values.yaml 파일에서 sa_password 구성 옵션에 입력한 값과 일치합니다.

연결되면 개체 탐색기에서 SQL Server 인스턴스를 확장할 수 있습니다.

Screenshot showing the Object Explorer connected to the database instance.

리소스 정리

AKS 클러스터를 계속 사용하지 않으려면 클러스터를 삭제해야 합니다.