Visual Studio Kubernetes Tools
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
]
開始行:
「[[マイクロソフト系技術情報 Wiki>http://techinfoofmicros...
-戻る
--[[Visual Studio]]
--[[Docker for Windows]]
--[[Docker Desktop for Windows]]
--[[Visual Studio Tools for Docker]]
--[[Azure Kubernetes Service (AKS)]]
--[[ASP.NET Core]]
---[[ASP.NET Coreのデプロイ]]
* 目次 [#j01d33c4]
#contents
*概要 [#nddd7376]
-「[[Visual Studio Tools for Docker]]」の延長で、~
[[K8s>#x4a72daa]](と言いつつ、実際は[[AKS>Azure Kubernet...
-何気に名称が、Visual Studio Tools for Kubernetesに変更さ...
-参考
--Visual Studio Tools for Kubernetes - Visual Studio Mark...
https://marketplace.visualstudio.com/items?itemName=ms-az...
**前提環境 [#t12636eb]
[[コチラ>Visual Studio Tools for Docker#ke8e67e9]]との差分
-[[Visual Studio]] 2019 Community
--.NET Core 3系
-[[Visual Studio]] 2022 Community
--.NET 6系
--[[Docker for Windows]]が必須ではなくなった。
**インストール [#t70031ef]
[[コチラ>Visual Studio Tools for Docker#b8b286e6]]との差分
-Visual Studio Kubernetes Tools
--以下ではなく、~
https://marketplace.visualstudio.com/items?itemName=ms-az...
--以下からインストール(VS2019の場合)
#ref(install.png,left,nowrap,インストール,60%)
**紆余曲折のメモ [#yf650ab5]
***断念 [#t6534e1a]
[[Open PaaS>https://dotnetdevelopmentinfrastructure.ossco...
-[[OpenShift>https://dotnetdevelopmentinfrastructure.ossc...
-[[Cloud Foundry>https://dotnetdevelopmentinfrastructure....
-[[Kubernetes(K8s)>https://dotnetdevelopmentinfrastructur...
***再起 [#gb258a43]
しかし、[[Compose on K8s>https://dotnetdevelopmentinfrast...
[[Docker Compose>https://dotnetdevelopmentinfrastructure....
らしいため、評価をリスタートしてみる気になった。
***再び断念 [#b2ef6933]
[[手順3>#vb6a5d71]]まで調査した結果、再び中断した(2019/...
-[[Azure Dev Spaces]]で実行することはできた~
(ただし、パブリック・アクセスが不可能の故、明確では無い...
-ツールが(、まだ)、作りこまれていないっぽい。
--Kubernetes/Helmを追加しても、[[Azure Dev Spaces]]に行っ...
[[Azure Kubernetes Service (AKS)]]のlaunchSettingsなどは...
--また、[[Docker Compose>https://dotnetdevelopmentinfrast...
***再び再起 [#xa2c47f4]
調査した結果、再び再起した(2019/12/06)。~
※ ただし、CLIでやっているので、Visual Studio Kubernetes T...
-[[手順4>#q9416ca2]]で
--ネットの上の[[Docker Compose>https://dotnetdevelopmenti...
--また、[[AKS>Azure Kubernetes Service (AKS)]]で動かす事...
-[[手順5>#n9ee4347]]で
--[[こちら>Visual Studio Tools for Docker#qf76ac18]]の[[D...
--また、[[AKS>Azure Kubernetes Service (AKS)]]で動かす事...
-[[手順6>#qb850bcb]] : 手順5の[[K8s>#x4a72daa]]マニュフ...
***再々の再起 [#r008f7ea]
調査した結果、再び再起した(2020/04/13)。
-[[手順7>#m6a31eb3]] : [[Docker Desktop for Windows]]に...
-[[手順8>#q66040c9]] : [[コチラ>Visual Studio Tools for ...
-[[手順9>#dac2b9bc]] : 手順8を[[K8s>#x4a72daa]]で実施
***将来的には... [#n3e06a9c]
これらのツールが、
-Helm Charts
-Compose on Kubernetes
-Kompose
[[辺り>#x4a72daa]]を統合するのではないだろうか?
***[[Visual Studio]] 2022 [#o90ed370]
[[Visual Studio]] 2022で動作確認。
-[[手順10>#nb71a05a]]
-[[手順11>#kd8a305b]]
***CaaSのトレンド変化 [#k1f61ca7]
「[[将来的には...>#n3e06a9c]]」からの変化としては、~
[[Open PaaS>https://dotnetdevelopmentinfrastructure.ossco...
クラウド系のCaaSも歓迎されてきた。
*手順1 [#f98240e6]
しかし、結局、「Visual Studio Kubernetes Tools」が何者な...
イマイチ解らないので、「WebApplication1」的なモノを使用し...
**画面の確認(手順 / 結果) [#e51fd9d0]
試してみると、以下のような画面が表示される。
-プロジェクト・テンプレートにKubernetesが追加される。
#ref(1.png,left,nowrap,手順1,60%)
-ASP.NET Core 3.0 の MVCを選択する。
#ref(2.png,left,nowrap,手順2,60%)
-新規作成したプロジェクトをソリューション・エクスプローラ...
-[[Azure Dev Spaces]]のlaunchSettingsでデバッグ実行を開始...
#ref(5.png,left,nowrap,手順5,80%)
**ココまでで解った事。 [#r2ea16b1]
-Kubernetes用プロジェクト・テンプレートでは、~
「azds.yaml」が追加され、[[Azure Dev Spaces]]のlaunchSett...
-参考
--Azure Container Service (AKS) vs Azure Service Fabric -...
https://pikedev.com/azure-container-service-aks-vs-azure-...
*手順2 [#wda48e54]
取り敢えず、[[Azure Dev Spacesの手順>Azure Dev Spaces#d67...
単純な構成で[[Azure Dev Spaces]]を試してみる。
**手順 [#a0f4b2ff]
***[[Azure Dev Spaces]]の構成 [#b651eed1]
-Azure ポータルから、K8sクラスタを使用して構成する。
-Dev Spaces言うだけあって、開発・デバッグ用のスペースらし...
-K8sクラスタは構築出来ても、~
Dev Spacesを有効にできるリージョンに制限があるので注意す...
***プロジェクトの構成 [#sbbf2a67]
-Kubernetes用プロジェクト・テンプレートで「WebApplication...
-[[Azure Dev Spaces]]のlaunchSettingsでデバッグ実行を開始...
--[[前述>#e51fd9d0]]の[[Azure Dev Spaces]]のダイアログが...
--AzureサブスクリプションのアカウントでVisual Studioにロ...
[[構成>#b651eed1]]した[[Azure Dev Spaces]]の情報が自動入...
**結果 [#lc7d0387]
Azureのハズだが、何故か、localhostでアプリケーションが起...
VS2019から?既定でパブリック・アクセスが不可能になってい...
-Hyper-Vコンテナで動いているのか?[[AKS>Azure Kubernetes ...
-調べると、内部でstdout と stderr + port forwardしている...
(Visual Studioの認証も通しているのでセキュアなのかもしれ...
-試しにHyper-VコンテナをホストしているHyper-VのVM停止させ...
それでもUNIXで動作するので、[[AKS>Azure Kubernetes Servic...
**ココまでで解った事。 [#i870f346]
-実際に、[[Azure Dev Spaces]]で動作させることが出来た。
-パブリック・アクセスが不可能だが、恐らく、[[AKS>Azure Ku...
*手順3 [#vb6a5d71]
単純な構成で、[[Azure Dev Spaces]]でない [[AKS>Azure Kube...
**前提条件 [#bc424342]
***構成 [#ue0f9f99]
-テンプレートの選択~
標準のプロジェクト・テンプレートで「WebApplication1」的な...
(Kubernetes用プロジェクト・テンプレートでは「Kubernetes/...
-プロジェクトの構成~
[[手順2>#wda48e54]]と、同様の「WebApplication1」を使用す...
***手順 [#t9731846]
[[手順2>#wda48e54]]と同様。
**結果 [#wda12acf]
標準のプロジェクト・テンプレートで「Kubernetes/Helm」を~
追加しても[[Azure Dev Spaces]]のlaunchSettingsになってし...
**ココまでで解った事。 [#d304b325]
(Toolsでは、できないのか、まだ、実装されていないのか?)
*手順4 [#q9416ca2]
[[Azure CLI]]で、[[Azure Dev Spaces]]でない [[AKS>Azure K...
**前提条件 [#bc424342]
***構成 [#u5d27a26]
-[[AKS>Azure Kubernetes Service (AKS)]]の構成~
Azureのポータルと、[[Azure CLI]]のazコマンドを使用する。
-プロジェクトの構成~
https://github.com/Azure-Samples/azure-voting-app-redis
***手順 [#j3b1eb24]
[[AKSのvoting-appチュートリアル>Azure Kubernetes Service ...
**ココまでで解った事。 [#d304b325]
-「docker-compose up -d」で躓いていたが~
再起動&リトライなどで動作するようになる。~
(docker自体が、そういうモノらしく、不安定であるもよう)
-[[AKS>Azure Kubernetes Service (AKS)]]は以下のコマンドで...
--[[Azure CLI]]のazコマンド
--[[kubectl CLIコマンド>#x4a72daa]]
-docker-composeで作成したイメージを
--ローカルで実行・テストした後に、[[AKS>Azure Kubernetes ...
--ただし、[[K8s>#x4a72daa]]での実行の定義は、docker-compo...
*手順5 [#n9ee4347]
-手順5では、複雑な構成の [[Docker Compose>https://dotnet...
-具体的には、[[手順4>#q9416ca2]]で、docker-composeで作成...
**前提条件 [#hf85d64a]
***構成 [#idfb4642]
[[こちら>Visual Studio Tools for Docker#qf76ac18]]をVS201...
したものを使用する(移行後の物品は[[コチラ>#k18f6b89]])。
***手順 [#m62b70d6]
[[AKSのASP.NET Coreチュートリアル>Azure Kubernetes Servic...
**結果 [#ba1b5eb2]
***ローカル [#w42b791b]
ローカルの[[Docker for Windows]]で動かしてみる。
-起動
>C:\Git\EvaluateAspNetCoreOnK8s\WebApplication1>docker-c...
>Starting webapplication1_postgres_1 ... done
>Starting webapplication1_redis_1 ... done
>Creating webapplication1_webapplication1_1 ... done
-アクセス~
http://localhost:5000/
-停止
>C:\Git\EvaluateAspNetCoreOnK8s\WebApplication1>docker-c...
>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
※ 上記の参考に習い、無事動作した。
***リモート [#d821480b]
リモートの[[AKS>Azure Kubernetes Service (AKS)]]で動かし...
>kubectl get service --watch
NAME TYPE CLUSTER-IP EXTERNAL-I...
...
**ココまでで解った事。 [#c2d7d7a8]
コンテナ技術を使用すると、
-単体 → 結合 → システム・テスト(UT → CT → ST)と環境をチ...
-シームレスにステージング環境にまで持っていくことができる...
*手順6 [#qb850bcb]
※ 本手順は未実施。
**前提条件 [#k6312410]
***構成 [#ve705bf4]
[[手順5>#n9ee4347]]の[[K8s>#x4a72daa]]マニュフェストにNg...
***手順 [#q97357c2]
-[[手順5の手順>#m62b70d6]]を参考にする。
-[[K8s>#x4a72daa]]マニュフェストにNginxを追加する。
--Nginx
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
--WebApplication1
---kind: Deployment
...
spec:
...
template:
spec:
containers:
ports:
- containerPort: 5001
---kind: Service
...
ports:
- port: 5001
※ 80 と 5001 のブリッジは、~
/etc/nginx/conf.d の proxy_pass に設定される。
**結果 [#odf9e9b5]
***ローカル [#c28a242b]
未実施
***リモート [#a2b0b8ae]
未実施
**ココまでで解った事。 [#w8dfdca3]
未実施
*手順7 [#m6a31eb3]
[[Docker Desktop for Windows]]に、寄り道。
**[[K8s>Docker Desktop for Windows#ad01d6b3]] [#eee49462]
これは、Docker Desktop(ローカル)のK8s
**[[WSL2>Docker Desktop for Windows#mb6cff6e]] [#q9f2a2b3]
Docker Desktopは、[[Docker Desktop WSL2 Backend>Docker De...
**[[Windows Serverコンテナ>Docker Desktop for Windows#l3c...
Docker Desktopは、Docker Desktop for Windowsで、Windowsコ...
*手順8 [#q66040c9]
上記([[手順5>#n9ee4347]])のサンプルを[[MVC_Sample>#ncd...
**前提条件 [#e8b6effc]
-daisukenishino2/EvaluateAspNetCoreOnK8s:~
KubernetesでASP.NET Coreを評価する。~
(Evaluate ASP.Net Core on Kubernetes.)
--→ MVC_Sample~
https://github.com/daisukenishino2/EvaluateAspNetCoreOnK8...
**結果 [#s5c4d3b2]
上手く行かなかった。
-プログラム・サービス一式をDocker Compose化した。 - OSSコ...
https://www.osscons.jp/jo99tfumm-537/#_537
**ココまでで解った事。 [#g4d04fca]
-不安定なので、「外部サービス類」と「WebアプリとWebサーバ...
別の docker-compose.yml にするのがベターユースなのではな...
>※ [[Docker for Windows]]が不安定という話と、~
[[Docker>コンテナ技術#w576cb19]]のportをマップする機能...
-その後、networksでブリッジさせると上手く行く事が解った。
--第0.5回 セルフZoom 部会 - OSSコンソーシアム~
2つのDocker Composeを統合・分割する。~
https://www.osscons.jp/jogfiigaw-537/
*手順9 [#dac2b9bc]
上記([[手順8>#q66040c9]])を[[ローカルのDocker Desktop ...
**[[前提条件>#eee49462]] [#gc7a8fd0]
**結果 [#n8bd0557]
上手く行かなかった。
-プログラム・サービス一式をDocker Compose化した。 - OSSコ...
https://www.osscons.jp/jo99tfumm-537/#_537
**ココまでで解った事。 [#o78464e9]
-「その文字は使えない」とか「ファイルをマウントしろ」とか...
メッセージが表示され、そのままのDocker Composeでは上手く...
-なので、やれるとしても、[[Kompose>#x4a72daa]] のconvert...
マイグレーション・ツールのように使用して、マニフェスト・...
新規作成する位しか、[[K8s>#x4a72daa]]へチェーンさせる方法...
*手順10 [#nb71a05a]
[[Visual Studio]] 2022でやってみる。
**前提条件 [#gce3b9bc]
[[Docker for WindowsではなくWSL2>#t12636eb]]で実行。
-WSL2インストール済み
-Docker for Windows未インストール
**結果 [#rad4f04b]
***コンソールアプリ [#veffd737]
-Dockerサポートを追加し、デバッグ・プロパティからWSLを選...
-(初回は、.NET未インストールのエラーが表示され、自動的に...
-問題なく実行できた。ただし、結果はデバッグ出力に出力され...
***Webアプリ [#ka815a5c]
-Dockerサポートを追加し、デバッグ・プロパティからWSLを選...
-(初回は、ASP.NET未インストールのエラーが表示され、自動...
-問題なく実行できた。ただし、結果はブラウザ経由で表示され...
**ココまでで解った事。 [#pe53dc34]
-問題なく実行できた。
-ただし、[[Docker Composeには、Docker for Windowsが必要>V...
*手順11 [#kd8a305b]
[[Visual Studio]] 2022で[[Docker Compose>https://dotnetde...
**前提条件 [#uc57c0a5]
[[Docker for WindowsとWSL2>#t12636eb]]を併用
-WSL2インストール済み
-Docker for Windows再インストール~
※ ただし、[[Docker Desktop WSL2 Backend>Docker Desktop fo...
**結果 [#ob8fa01c]
***コンソールアプリ [#o06efbc2]
-問題なく実行できた。
-ただし、同様に、結果はデバッグ出力に出力される。
***Webアプリ [#uc418f63]
-問題なく実行できた。
-ただし、ポートの指定をどうやっているかが不明だった。
**ココまでで解った事。 [#pe55b9a2]
-問題なく実行できた。
-これで1環境で双方の手順作成を確認可能。
*サンプル [#e04f0515]
**github.com [#nf8398ed]
***WebApplication1 [#k18f6b89]
https://github.com/daisukenishino2/EvaluateAspNetCoreOnK8...
***WebApplication2 [#k803576c]
https://github.com/daisukenishino2/EvaluateAspNetCoreOnK8...
***MVC_Sample [#ncd2818e]
https://github.com/daisukenishino2/EvaluateAspNetCoreOnK8...
**[[git clone後にDocker Composeで動かす方法。>Visual Stud...
*参考 [#h1f0a60f]
-Visual StudioがKubernetes対応。~
DockerfileとHelmチャートを自動生成し、~
Kubernetes環境へデプロイ可能に - Publickey~
https://www.publickey1.jp/blog/18/visual_studiokubernetes...
**Qiita [#k3f64696]
***[[ASK を使いこなす>Azure Kubernetes Service (AKS)#g22f...
***Kubernetes on [[Docker for Windows]] [#rb9ca770]
-Docker for WindowsでKubernetesを試してみる~
https://qiita.com/h-r-k-matsumoto/items/68f694650029ddf73...
--h-r-k-matsumoto/spring-boot-sample: spring boot + jib +...
https://github.com/h-r-k-matsumoto/spring-boot-sample
-[Docker for Windows]Kubernetesを動かしてみる~
https://qiita.com/icck/items/91eac9da094666e47c62
**Microsoft Docs [#pc82ab14]
***Kubernetes [#d2588c77]
-Kubernetes ツールのチュートリアル - Visual Studio~
https://docs.microsoft.com/ja-jp/visualstudio/containers/...
***[[Azure Dev Spaces>Azure Dev Spaces#d67caafd]] [#df371...
**OSSコンソーシアム [#w809fb59]
***Blog [#n95d96ef]
-Docker for Windows上で Docker Composeでテストし、Open Pa...
--その1~
https://www.osscons.jp/joweexgq6-537/
--その2~
https://www.osscons.jp/jo6610sfd-537/
***Wiki [#x4a72daa]
-マイクロソフト系技術情報 Wiki(当該Wiki)
--[[Visual Studio Tools for Docker]]
--[[Azure Kubernetes Service (AKS)]]
-開発基盤部会 Wiki
--[[Kubernetes>https://dotnetdevelopmentinfrastructure.os...
---[[Helm Charts>https://dotnetdevelopmentinfrastructure....
---[[Compose on Kubernetes>https://dotnetdevelopmentinfra...
---[[Kompose>https://dotnetdevelopmentinfrastructure.ossc...
----
Tags: [[:コンテナ]], [[:.NET開発]], [[:.NET Core]], [[:Hy...
終了行:
「[[マイクロソフト系技術情報 Wiki>http://techinfoofmicros...
-戻る
--[[Visual Studio]]
--[[Docker for Windows]]
--[[Docker Desktop for Windows]]
--[[Visual Studio Tools for Docker]]
--[[Azure Kubernetes Service (AKS)]]
--[[ASP.NET Core]]
---[[ASP.NET Coreのデプロイ]]
* 目次 [#j01d33c4]
#contents
*概要 [#nddd7376]
-「[[Visual Studio Tools for Docker]]」の延長で、~
[[K8s>#x4a72daa]](と言いつつ、実際は[[AKS>Azure Kubernet...
-何気に名称が、Visual Studio Tools for Kubernetesに変更さ...
-参考
--Visual Studio Tools for Kubernetes - Visual Studio Mark...
https://marketplace.visualstudio.com/items?itemName=ms-az...
**前提環境 [#t12636eb]
[[コチラ>Visual Studio Tools for Docker#ke8e67e9]]との差分
-[[Visual Studio]] 2019 Community
--.NET Core 3系
-[[Visual Studio]] 2022 Community
--.NET 6系
--[[Docker for Windows]]が必須ではなくなった。
**インストール [#t70031ef]
[[コチラ>Visual Studio Tools for Docker#b8b286e6]]との差分
-Visual Studio Kubernetes Tools
--以下ではなく、~
https://marketplace.visualstudio.com/items?itemName=ms-az...
--以下からインストール(VS2019の場合)
#ref(install.png,left,nowrap,インストール,60%)
**紆余曲折のメモ [#yf650ab5]
***断念 [#t6534e1a]
[[Open PaaS>https://dotnetdevelopmentinfrastructure.ossco...
-[[OpenShift>https://dotnetdevelopmentinfrastructure.ossc...
-[[Cloud Foundry>https://dotnetdevelopmentinfrastructure....
-[[Kubernetes(K8s)>https://dotnetdevelopmentinfrastructur...
***再起 [#gb258a43]
しかし、[[Compose on K8s>https://dotnetdevelopmentinfrast...
[[Docker Compose>https://dotnetdevelopmentinfrastructure....
らしいため、評価をリスタートしてみる気になった。
***再び断念 [#b2ef6933]
[[手順3>#vb6a5d71]]まで調査した結果、再び中断した(2019/...
-[[Azure Dev Spaces]]で実行することはできた~
(ただし、パブリック・アクセスが不可能の故、明確では無い...
-ツールが(、まだ)、作りこまれていないっぽい。
--Kubernetes/Helmを追加しても、[[Azure Dev Spaces]]に行っ...
[[Azure Kubernetes Service (AKS)]]のlaunchSettingsなどは...
--また、[[Docker Compose>https://dotnetdevelopmentinfrast...
***再び再起 [#xa2c47f4]
調査した結果、再び再起した(2019/12/06)。~
※ ただし、CLIでやっているので、Visual Studio Kubernetes T...
-[[手順4>#q9416ca2]]で
--ネットの上の[[Docker Compose>https://dotnetdevelopmenti...
--また、[[AKS>Azure Kubernetes Service (AKS)]]で動かす事...
-[[手順5>#n9ee4347]]で
--[[こちら>Visual Studio Tools for Docker#qf76ac18]]の[[D...
--また、[[AKS>Azure Kubernetes Service (AKS)]]で動かす事...
-[[手順6>#qb850bcb]] : 手順5の[[K8s>#x4a72daa]]マニュフ...
***再々の再起 [#r008f7ea]
調査した結果、再び再起した(2020/04/13)。
-[[手順7>#m6a31eb3]] : [[Docker Desktop for Windows]]に...
-[[手順8>#q66040c9]] : [[コチラ>Visual Studio Tools for ...
-[[手順9>#dac2b9bc]] : 手順8を[[K8s>#x4a72daa]]で実施
***将来的には... [#n3e06a9c]
これらのツールが、
-Helm Charts
-Compose on Kubernetes
-Kompose
[[辺り>#x4a72daa]]を統合するのではないだろうか?
***[[Visual Studio]] 2022 [#o90ed370]
[[Visual Studio]] 2022で動作確認。
-[[手順10>#nb71a05a]]
-[[手順11>#kd8a305b]]
***CaaSのトレンド変化 [#k1f61ca7]
「[[将来的には...>#n3e06a9c]]」からの変化としては、~
[[Open PaaS>https://dotnetdevelopmentinfrastructure.ossco...
クラウド系のCaaSも歓迎されてきた。
*手順1 [#f98240e6]
しかし、結局、「Visual Studio Kubernetes Tools」が何者な...
イマイチ解らないので、「WebApplication1」的なモノを使用し...
**画面の確認(手順 / 結果) [#e51fd9d0]
試してみると、以下のような画面が表示される。
-プロジェクト・テンプレートにKubernetesが追加される。
#ref(1.png,left,nowrap,手順1,60%)
-ASP.NET Core 3.0 の MVCを選択する。
#ref(2.png,left,nowrap,手順2,60%)
-新規作成したプロジェクトをソリューション・エクスプローラ...
-[[Azure Dev Spaces]]のlaunchSettingsでデバッグ実行を開始...
#ref(5.png,left,nowrap,手順5,80%)
**ココまでで解った事。 [#r2ea16b1]
-Kubernetes用プロジェクト・テンプレートでは、~
「azds.yaml」が追加され、[[Azure Dev Spaces]]のlaunchSett...
-参考
--Azure Container Service (AKS) vs Azure Service Fabric -...
https://pikedev.com/azure-container-service-aks-vs-azure-...
*手順2 [#wda48e54]
取り敢えず、[[Azure Dev Spacesの手順>Azure Dev Spaces#d67...
単純な構成で[[Azure Dev Spaces]]を試してみる。
**手順 [#a0f4b2ff]
***[[Azure Dev Spaces]]の構成 [#b651eed1]
-Azure ポータルから、K8sクラスタを使用して構成する。
-Dev Spaces言うだけあって、開発・デバッグ用のスペースらし...
-K8sクラスタは構築出来ても、~
Dev Spacesを有効にできるリージョンに制限があるので注意す...
***プロジェクトの構成 [#sbbf2a67]
-Kubernetes用プロジェクト・テンプレートで「WebApplication...
-[[Azure Dev Spaces]]のlaunchSettingsでデバッグ実行を開始...
--[[前述>#e51fd9d0]]の[[Azure Dev Spaces]]のダイアログが...
--AzureサブスクリプションのアカウントでVisual Studioにロ...
[[構成>#b651eed1]]した[[Azure Dev Spaces]]の情報が自動入...
**結果 [#lc7d0387]
Azureのハズだが、何故か、localhostでアプリケーションが起...
VS2019から?既定でパブリック・アクセスが不可能になってい...
-Hyper-Vコンテナで動いているのか?[[AKS>Azure Kubernetes ...
-調べると、内部でstdout と stderr + port forwardしている...
(Visual Studioの認証も通しているのでセキュアなのかもしれ...
-試しにHyper-VコンテナをホストしているHyper-VのVM停止させ...
それでもUNIXで動作するので、[[AKS>Azure Kubernetes Servic...
**ココまでで解った事。 [#i870f346]
-実際に、[[Azure Dev Spaces]]で動作させることが出来た。
-パブリック・アクセスが不可能だが、恐らく、[[AKS>Azure Ku...
*手順3 [#vb6a5d71]
単純な構成で、[[Azure Dev Spaces]]でない [[AKS>Azure Kube...
**前提条件 [#bc424342]
***構成 [#ue0f9f99]
-テンプレートの選択~
標準のプロジェクト・テンプレートで「WebApplication1」的な...
(Kubernetes用プロジェクト・テンプレートでは「Kubernetes/...
-プロジェクトの構成~
[[手順2>#wda48e54]]と、同様の「WebApplication1」を使用す...
***手順 [#t9731846]
[[手順2>#wda48e54]]と同様。
**結果 [#wda12acf]
標準のプロジェクト・テンプレートで「Kubernetes/Helm」を~
追加しても[[Azure Dev Spaces]]のlaunchSettingsになってし...
**ココまでで解った事。 [#d304b325]
(Toolsでは、できないのか、まだ、実装されていないのか?)
*手順4 [#q9416ca2]
[[Azure CLI]]で、[[Azure Dev Spaces]]でない [[AKS>Azure K...
**前提条件 [#bc424342]
***構成 [#u5d27a26]
-[[AKS>Azure Kubernetes Service (AKS)]]の構成~
Azureのポータルと、[[Azure CLI]]のazコマンドを使用する。
-プロジェクトの構成~
https://github.com/Azure-Samples/azure-voting-app-redis
***手順 [#j3b1eb24]
[[AKSのvoting-appチュートリアル>Azure Kubernetes Service ...
**ココまでで解った事。 [#d304b325]
-「docker-compose up -d」で躓いていたが~
再起動&リトライなどで動作するようになる。~
(docker自体が、そういうモノらしく、不安定であるもよう)
-[[AKS>Azure Kubernetes Service (AKS)]]は以下のコマンドで...
--[[Azure CLI]]のazコマンド
--[[kubectl CLIコマンド>#x4a72daa]]
-docker-composeで作成したイメージを
--ローカルで実行・テストした後に、[[AKS>Azure Kubernetes ...
--ただし、[[K8s>#x4a72daa]]での実行の定義は、docker-compo...
*手順5 [#n9ee4347]
-手順5では、複雑な構成の [[Docker Compose>https://dotnet...
-具体的には、[[手順4>#q9416ca2]]で、docker-composeで作成...
**前提条件 [#hf85d64a]
***構成 [#idfb4642]
[[こちら>Visual Studio Tools for Docker#qf76ac18]]をVS201...
したものを使用する(移行後の物品は[[コチラ>#k18f6b89]])。
***手順 [#m62b70d6]
[[AKSのASP.NET Coreチュートリアル>Azure Kubernetes Servic...
**結果 [#ba1b5eb2]
***ローカル [#w42b791b]
ローカルの[[Docker for Windows]]で動かしてみる。
-起動
>C:\Git\EvaluateAspNetCoreOnK8s\WebApplication1>docker-c...
>Starting webapplication1_postgres_1 ... done
>Starting webapplication1_redis_1 ... done
>Creating webapplication1_webapplication1_1 ... done
-アクセス~
http://localhost:5000/
-停止
>C:\Git\EvaluateAspNetCoreOnK8s\WebApplication1>docker-c...
>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
※ 上記の参考に習い、無事動作した。
***リモート [#d821480b]
リモートの[[AKS>Azure Kubernetes Service (AKS)]]で動かし...
>kubectl get service --watch
NAME TYPE CLUSTER-IP EXTERNAL-I...
...
**ココまでで解った事。 [#c2d7d7a8]
コンテナ技術を使用すると、
-単体 → 結合 → システム・テスト(UT → CT → ST)と環境をチ...
-シームレスにステージング環境にまで持っていくことができる...
*手順6 [#qb850bcb]
※ 本手順は未実施。
**前提条件 [#k6312410]
***構成 [#ve705bf4]
[[手順5>#n9ee4347]]の[[K8s>#x4a72daa]]マニュフェストにNg...
***手順 [#q97357c2]
-[[手順5の手順>#m62b70d6]]を参考にする。
-[[K8s>#x4a72daa]]マニュフェストにNginxを追加する。
--Nginx
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
--WebApplication1
---kind: Deployment
...
spec:
...
template:
spec:
containers:
ports:
- containerPort: 5001
---kind: Service
...
ports:
- port: 5001
※ 80 と 5001 のブリッジは、~
/etc/nginx/conf.d の proxy_pass に設定される。
**結果 [#odf9e9b5]
***ローカル [#c28a242b]
未実施
***リモート [#a2b0b8ae]
未実施
**ココまでで解った事。 [#w8dfdca3]
未実施
*手順7 [#m6a31eb3]
[[Docker Desktop for Windows]]に、寄り道。
**[[K8s>Docker Desktop for Windows#ad01d6b3]] [#eee49462]
これは、Docker Desktop(ローカル)のK8s
**[[WSL2>Docker Desktop for Windows#mb6cff6e]] [#q9f2a2b3]
Docker Desktopは、[[Docker Desktop WSL2 Backend>Docker De...
**[[Windows Serverコンテナ>Docker Desktop for Windows#l3c...
Docker Desktopは、Docker Desktop for Windowsで、Windowsコ...
*手順8 [#q66040c9]
上記([[手順5>#n9ee4347]])のサンプルを[[MVC_Sample>#ncd...
**前提条件 [#e8b6effc]
-daisukenishino2/EvaluateAspNetCoreOnK8s:~
KubernetesでASP.NET Coreを評価する。~
(Evaluate ASP.Net Core on Kubernetes.)
--→ MVC_Sample~
https://github.com/daisukenishino2/EvaluateAspNetCoreOnK8...
**結果 [#s5c4d3b2]
上手く行かなかった。
-プログラム・サービス一式をDocker Compose化した。 - OSSコ...
https://www.osscons.jp/jo99tfumm-537/#_537
**ココまでで解った事。 [#g4d04fca]
-不安定なので、「外部サービス類」と「WebアプリとWebサーバ...
別の docker-compose.yml にするのがベターユースなのではな...
>※ [[Docker for Windows]]が不安定という話と、~
[[Docker>コンテナ技術#w576cb19]]のportをマップする機能...
-その後、networksでブリッジさせると上手く行く事が解った。
--第0.5回 セルフZoom 部会 - OSSコンソーシアム~
2つのDocker Composeを統合・分割する。~
https://www.osscons.jp/jogfiigaw-537/
*手順9 [#dac2b9bc]
上記([[手順8>#q66040c9]])を[[ローカルのDocker Desktop ...
**[[前提条件>#eee49462]] [#gc7a8fd0]
**結果 [#n8bd0557]
上手く行かなかった。
-プログラム・サービス一式をDocker Compose化した。 - OSSコ...
https://www.osscons.jp/jo99tfumm-537/#_537
**ココまでで解った事。 [#o78464e9]
-「その文字は使えない」とか「ファイルをマウントしろ」とか...
メッセージが表示され、そのままのDocker Composeでは上手く...
-なので、やれるとしても、[[Kompose>#x4a72daa]] のconvert...
マイグレーション・ツールのように使用して、マニフェスト・...
新規作成する位しか、[[K8s>#x4a72daa]]へチェーンさせる方法...
*手順10 [#nb71a05a]
[[Visual Studio]] 2022でやってみる。
**前提条件 [#gce3b9bc]
[[Docker for WindowsではなくWSL2>#t12636eb]]で実行。
-WSL2インストール済み
-Docker for Windows未インストール
**結果 [#rad4f04b]
***コンソールアプリ [#veffd737]
-Dockerサポートを追加し、デバッグ・プロパティからWSLを選...
-(初回は、.NET未インストールのエラーが表示され、自動的に...
-問題なく実行できた。ただし、結果はデバッグ出力に出力され...
***Webアプリ [#ka815a5c]
-Dockerサポートを追加し、デバッグ・プロパティからWSLを選...
-(初回は、ASP.NET未インストールのエラーが表示され、自動...
-問題なく実行できた。ただし、結果はブラウザ経由で表示され...
**ココまでで解った事。 [#pe53dc34]
-問題なく実行できた。
-ただし、[[Docker Composeには、Docker for Windowsが必要>V...
*手順11 [#kd8a305b]
[[Visual Studio]] 2022で[[Docker Compose>https://dotnetde...
**前提条件 [#uc57c0a5]
[[Docker for WindowsとWSL2>#t12636eb]]を併用
-WSL2インストール済み
-Docker for Windows再インストール~
※ ただし、[[Docker Desktop WSL2 Backend>Docker Desktop fo...
**結果 [#ob8fa01c]
***コンソールアプリ [#o06efbc2]
-問題なく実行できた。
-ただし、同様に、結果はデバッグ出力に出力される。
***Webアプリ [#uc418f63]
-問題なく実行できた。
-ただし、ポートの指定をどうやっているかが不明だった。
**ココまでで解った事。 [#pe55b9a2]
-問題なく実行できた。
-これで1環境で双方の手順作成を確認可能。
*サンプル [#e04f0515]
**github.com [#nf8398ed]
***WebApplication1 [#k18f6b89]
https://github.com/daisukenishino2/EvaluateAspNetCoreOnK8...
***WebApplication2 [#k803576c]
https://github.com/daisukenishino2/EvaluateAspNetCoreOnK8...
***MVC_Sample [#ncd2818e]
https://github.com/daisukenishino2/EvaluateAspNetCoreOnK8...
**[[git clone後にDocker Composeで動かす方法。>Visual Stud...
*参考 [#h1f0a60f]
-Visual StudioがKubernetes対応。~
DockerfileとHelmチャートを自動生成し、~
Kubernetes環境へデプロイ可能に - Publickey~
https://www.publickey1.jp/blog/18/visual_studiokubernetes...
**Qiita [#k3f64696]
***[[ASK を使いこなす>Azure Kubernetes Service (AKS)#g22f...
***Kubernetes on [[Docker for Windows]] [#rb9ca770]
-Docker for WindowsでKubernetesを試してみる~
https://qiita.com/h-r-k-matsumoto/items/68f694650029ddf73...
--h-r-k-matsumoto/spring-boot-sample: spring boot + jib +...
https://github.com/h-r-k-matsumoto/spring-boot-sample
-[Docker for Windows]Kubernetesを動かしてみる~
https://qiita.com/icck/items/91eac9da094666e47c62
**Microsoft Docs [#pc82ab14]
***Kubernetes [#d2588c77]
-Kubernetes ツールのチュートリアル - Visual Studio~
https://docs.microsoft.com/ja-jp/visualstudio/containers/...
***[[Azure Dev Spaces>Azure Dev Spaces#d67caafd]] [#df371...
**OSSコンソーシアム [#w809fb59]
***Blog [#n95d96ef]
-Docker for Windows上で Docker Composeでテストし、Open Pa...
--その1~
https://www.osscons.jp/joweexgq6-537/
--その2~
https://www.osscons.jp/jo6610sfd-537/
***Wiki [#x4a72daa]
-マイクロソフト系技術情報 Wiki(当該Wiki)
--[[Visual Studio Tools for Docker]]
--[[Azure Kubernetes Service (AKS)]]
-開発基盤部会 Wiki
--[[Kubernetes>https://dotnetdevelopmentinfrastructure.os...
---[[Helm Charts>https://dotnetdevelopmentinfrastructure....
---[[Compose on Kubernetes>https://dotnetdevelopmentinfra...
---[[Kompose>https://dotnetdevelopmentinfrastructure.ossc...
----
Tags: [[:コンテナ]], [[:.NET開発]], [[:.NET Core]], [[:Hy...
ページ名: