Azure Container Instances というサービスが・・・~blackjumbodog-dotnet-core

出てきたので、試してみました。

Fast and Easy Containers: Azure Container Instances

リンクは、公式のBlogです。

 

既に試しており、ざっくりまとめている方(しばやん)のを一読してみてください。

 

というわけで、OSC2017Hokkaidoでは、App Service on Linux でしたが、こちらはどうやら、Hyper-Vレベルで分離したcontainerのゲストインスタンスを利用可能になるサービスのようです。スケーリング等の機能はなく、IaaSに近いようなシンプルなコンテナといったところでしょうか。

実際に作ってみよう

Create your first container in Azure Container Instances

 

公式ではポータルのCLIを使ってとなってましたが、それっぽいテンプレートがポータルにあるのでそっちで試してみました。

イメージは、BlackJumboDog!
darkcrash/blackjumbodog-dotnet-core
ポートは3080をHTTPにしてるのでこれを!
こちら、Linuxベースのイメージになります。

しかしながら、色々試してて、リージョンは選択できるけどデプロイできないみたいな状態なので、今日現在ではおとなしくAzコマンドを使ったほうがいいのだろうと思いました。

加えて、ポータルで出来上がったものは、こんな感じで
あまり、というか情報がありませんでした。

そこで、コマンド

az container list -g [グループ名]
{
 "nextLink": null,
 "value": [
 {
 "containers": [
 {
 "command": null,
 "environmentVariables": [],
 "image": "darkcrash/blackjumbodog-dotnet-core",
 "instanceView": null,
 "name": "bjd-container4-XXXXXXX",
 "ports": [
 {
 "port": 3080
 }
 ],
 "resources": {
 "limits": null,
 "requests": {
 "cpu": 4.0,
 "memoryInGb": 4.0
 }
 },
 "volumeMounts": null
 }
 ],
 "id": "/subscriptions/XXXX/resourceGroups/bjd-container4/providers/Microsoft.ContainerInstance/containerGroups/bjd-container4-j6bvkbkaxarxy1",
 "imageRegistryCredentials": null,
 "ipAddress": {
 "ip": "13.93.166.22",
 "ports": [
 {
 "port": 3080,
 "protocol": "TCP"
 }
 ]
 },
 "location": "westus",
 "name": "bjd-container4-XXXXXXX",
 "osType": "Linux",
 "provisioningState": "Succeeded",
 "resourceGroup": "bjd-container4",
 "restartPolicy": null,
 "state": null,
 "tags": null,
 "type": "Microsoft.ContainerInstance/containerGroups",
 "volumes": null
 }
 ]
}

http://13.93.166.22:3080/

開いたー!ひゃっほー!
ただ、BlackJumboDogのコンソールログは見えないので、ちょっと実感は薄かったw

とはいえ、今までIaaS上にVMを上げてDockerHostを作り、そこにコンテナをのっけるのではなく、Hyper-Vに直接乗っかっているような状態なので、非常にシンプルでわかりやすくリソースの調整もポータル上からできるようになるというのであれば、VMっぽい感覚で、素早くコンテナ作れるってのはちょっとしたものを作る上ではいいんじゃないかと思いました。スケーリングはApp Service On LinuxがPaaSとして存在しているので、そんなすみわけがあるのかなぁと妄想したところでした。

これ、オーケストレーションももちろんだけど。
VNET接続とか、DNSまたはホスト名、LBとかいろいろできるようになったらまた違う可能性ありそうな気がしないでもない。ARMテンプレートとイメージだけでDevOpsとか。
ちょっと、●●ほしいなぁ、おしデプロイするかー!みたいなのも。