「マイクロソフト系技術情報 Wiki」は、「Open棟梁Project」,「OSSコンソーシアム .NET開発基盤部会」によって運営されています。
コチラとの差分
コチラとの差分
Open PaaSは、ちょっと難しいなぁと思い断念していた。
しかし、Compose on K8sがリリースされ、これによって、
Docker ComposeをOpen PaaSで扱えるようになった
らしいため、評価をリスタートしてみる気になった。
手順3まで調査した結果、再び中断した(2019/12/04)。
調査した結果、再び再起した(2019/12/06)。
※ ただし、CLIでやっているので、Visual Studio Kubernetes Toolsはあまり関係ない。
調査した結果、再び再起した(2020/04/13)。
これらのツールが、
辺りを統合するのではないだろうか?
しかし、結局、「Visual Studio Kubernetes Tools」が何者なのか?
イマイチ解らないので、「WebApplication1」的なモノを使用し、再び、評価してみる。
試してみると、以下のような画面が表示される。
取り敢えず、Azure Dev Spacesの手順を参考にして、
単純な構成でAzure Dev Spacesを試してみる。
Azureのハズだが、何故か、localhostでアプリケーションが起動する。
VS2019から?既定でパブリック・アクセスが不可能になっているらしい。
単純な構成で、Azure Dev Spacesでない AKS で使ってみる。
手順2と同様。
標準のプロジェクト・テンプレートで「Kubernetes/Helm」を
追加してもAzure Dev SpacesのlaunchSettingsになってしまう。
(Toolsでは、できないのか、まだ、実装されていないのか?)
Azure CLIで、Azure Dev Spacesでない AKS で使ってみる。
AKSのvoting-appチュートリアルを遂行する(Azure CLIを使用する)。
こちらをVS2019に.NET Core3.0アップグレード
したものを使用する(移行後の物品はコチラ)。
AKSのASP.NET Coreチュートリアルを遂行する(Azure CLIを使用する)。
ローカルのDocker for Windowsで動かしてみる。
>C:\Git\EvaluateAspNetCoreOnK8s\WebApplication1>docker-compose up -d >Starting webapplication1_postgres_1 ... done >Starting webapplication1_redis_1 ... done >Creating webapplication1_webapplication1_1 ... done
http://localhost:5000/
>C:\Git\EvaluateAspNetCoreOnK8s\WebApplication1>docker-compose down >Stopping webapplication1_webapplication1_1 ... done >Stopping webapplication1_postgres_1 ... done >Stopping webapplication1_redis_1 ... done >Removing webapplication1_webapplication1_1 ... done >Removing webapplication1_postgres_1 ... done >Removing webapplication1_redis_1 ... done >Removing network webapplication1_default
※ 上記の参考に習い、無事動作した。
リモートのAKSで動かしてみる。
>kubectl get service --watch NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE ...
コンテナ技術を使用すると、
※ 本手順は未実施。
apiVersion: apps/v1 kind: Deployment metadata: name: proxy spec: replicas: 2 selector: matchLabels: app: proxy template: metadata: labels: app: proxy spec: containers: - name: nginx image: nginx:latest ports: - containerPort: 80 volumeMounts: - name: proxy mountPath: /etc/nginx/conf.d volumes: - name: proxy configMap: name: proxy --- apiVersion: v1 kind: Service metadata: name: proxy spec: type: LoadBalancer ports: - port: 80 selector: app: proxy
... spec: ... template: spec: containers: ports: - containerPort: 5001
... ports: - port: 5001
※ 80 と 5001 のブリッジは、
/etc/nginx/conf.d の proxy_pass に設定される。
Docker Desktop for Windowsに、寄り道。
これは、Docker Desktop(ローカル)のK8s
Docker Desktopは、Docker Desktop for WSL2で、WSL2もサポート
Docker Desktopは、Docker Desktop for Windowsで、Windowsコンテナもサポート
上記(手順5)のサンプルをMVC_Sampleに変更。
MVC_Sampleを使用する。
上記(手順8)をローカルのDocker for WindowsのK8sで実行。
割愛(コチラを参照)
https://github.com/daisukenishino2/EvaluateAspNetCoreOnK8s/tree/master/WebApplication1
https://github.com/daisukenishino2/EvaluateAspNetCoreOnK8s/tree/master/MVC_Sample
Tags: :.NET開発, :.NET Core, :Hyper-V, :仮想化