AKS 上で Helm を使って SQL Server をデプロイする
AKS のお勉強がてら記事を漁っていたところ、「Deploy SQL Server on Azure Kubernetes Service cluster via Helm Charts - on a windows client machine!」という記事があり、やってみようかなと。
紹介されている手順としては Chocolatey 等を活用して自端末で実施するものだったのですが、普通に Azure Cloud Shell でもできそうだったのでやってみたところ上手くいきましたので、ちょろっとだけ残しておきます。
#そうは言うものの、個人的に Chocolatey は大好きです!
手順
デプロイ手順は簡単で、下記の通りです。
- AKS をデプロイする
- 資材をダウンロードする
- 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