🎼

AKS 上で Helm を使って SQL Server をデプロイする

2021/04/24に公開

AKS のお勉強がてら記事を漁っていたところ、「Deploy SQL Server on Azure Kubernetes Service cluster via Helm Charts - on a windows client machine!」という記事があり、やってみようかなと。

紹介されている手順としては Chocolatey 等を活用して自端末で実施するものだったのですが、普通に Azure Cloud Shell でもできそうだったのでやってみたところ上手くいきましたので、ちょろっとだけ残しておきます。

#そうは言うものの、個人的に Chocolatey は大好きです!

手順

デプロイ手順は簡単で、下記の通りです。

  1. AKS をデプロイする
  2. 資材をダウンロードする
  3. helm コマンドをたたく

1. AKS をデプロイする

AKS クラスターの作成 の手順を参照。Cloud Shell でも問題なくできます。

2. 資材をダウンロードする

資材は こちら のフォルダにあるものです。リポジトリ全体も小さいので、全体をクローンしてきました。

$ git clone https://github.com/microsoft/mssql-docker

3. helm コマンドをたたく

資材の場所に移動して、サンプル手順に記載の helm コマンドを実行します。

$ cd mssql-docker/linux/sample-helm-chart
$ ls
Chart.yaml  readme.md  templates  values.yaml
$ helm install mssql-latest-deploy . --set ACCEPT_EULA.value=Y --set MSSQL_PID.value=Developer

あとは、しばらく待って Pod や Service が正常に起動していることを確認できていれば OK です。

$ kubectl get pods
NAME                                  READY   STATUS    RESTARTS   AGE
mssql-latest-deploy-57d555fd9-8t45d   1/1     Running   0          12m

$ kubectl get services
NAME                  TYPE           CLUSTER-IP    EXTERNAL-IP     PORT(S)          AGE
kubernetes            ClusterIP      10.0.0.1      <none>          443/TCP          7d11h
mssql-latest-deploy   LoadBalancer   10.0.41.61    20.48.70.184    1433:31622/TCP   12m

今回は、サンプルの replicas が 1 なので Pod は 1 つ。IP アドレスは 20.48.70.184 でした。

SMSS (SQL Server Management Studio) にて接続する際、SA アカウントのパスワードが必要になりますが、こちらは values.yaml ファイルに書かれていますので、そちらを参照してください。

無事、接続できました👍

GitHub には、Helm チャートの中で指定するパラメーターの詳細なども詳しく書かれていますので、活用する際には読み込んでおきましょう!

Discussion