日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > asp.net >内容正文

asp.net

在Azure Container Service创建Kubernetes(k8s)群集运行ASP.NET Core跨平台应用程序

發布時間:2023/12/4 asp.net 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 在Azure Container Service创建Kubernetes(k8s)群集运行ASP.NET Core跨平台应用程序 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

引子

在此前的一篇文章中,我介紹了如何在本地docker環境中運行ASP.NET Core跨平臺應用程序,看起來非常不錯,不是嗎?那么,如果我們希望真正在實際的生產環境去部署和運行這個應用程序,應該怎么做呢?

通常來說,有兩種方案可以選擇

1. 在目標運行環境(可以是本地的服務器,也可以是云端)申請虛擬機,然后啟用docker運行這些應用程序,所有的細節都可以(也必須)由你自己控制。

2. 使用云平臺的PaaS服務,尤其是支持容器化的云平臺的PaaS服務,這里面就包括了Azure Container Service,簡稱ACS。這種情況下,你可以將一些底層的細節工作交給Azure,而將你的精力專注在業務應用上面即可。


ACS簡介

Azure 容器服務讓創建、配置和管理預配置來運行容器化應用程序的虛擬機群集變得更簡單。 它使用熱門開源計劃和業務流程工具的優化配置。 通過此服務,用戶可使用現有技能或利用不斷增加的大量社區專業知識,在 Microsoft Azure 上部署和管理基于容器的應用程序。請參考下面的鏈接了解一些細節,包括快速進行動手實驗

https://docs.microsoft.com/zh-cn/azure/container-service/?


發布本地的docker鏡像

其實,不管是你用哪種方案,一個前提條件是將你本地的鏡像發布到一個公共可以訪問的倉庫。你可以發布到hub.docker.com,也可以發布到自己的倉庫。

如果要發布到hub.docker.com,請參考下面的步驟

1. 你需要擁有一個Docker ID。請前往https://hub.docker.com/注冊。

2.在本地將鏡像打上自己的tag。例如我的鏡像是mvcapp,我的Docker ID是chenxizhang,那么要能發布到Docker Hub的話,這個鏡像需要打上一個Tag,名稱為chenxizhang/mvcapp。請通過這個命令來完成此操作:docker tag mvcapp chenxizhang/mvcapp

你無需擔心,其實打上Tag,只是一個邏輯上面的映射,并不會增加本地的存儲占用空間。

3.使用docker login 命令 登陸hub.docker.com

4.使用docker push chenxizhang/mvcapp 這樣的命令,將本地的鏡像推送到hub.docker.com ,這可能需要一定的時間,取決于你的網絡配置

如果一切順利的話,你將可以看到如下的結果


備注:如果要創建自己的docker 倉庫,可以了解? Azure Container Registry 這個服務。(https://azure.microsoft.com/zh-cn/services/container-registry/),這里不做展開。


在Azure Container Service創建 Kubernetes群集


你可以完全參考這篇入門文章(https://docs.microsoft.com/zh-cn/azure/container-service/container-service-kubernetes-walkthrough),通過幾個簡單的命令創建Kubernetes群集

1. az group create

2.az acs create

3.az acs kubernetes install-cli (這一步是可選的,如果是在azure cloudshell中可以省略)

4.az acs kubernetes get-credentials

5.kubectl get nodes (請等待各個節點的Status值變成Ready)


在k8s群集中部署ASP.NET Core應用程序


我們已經有了一個公共可以訪問的鏡像,同時也有了一個容器的集群。下面就能看看怎么樣讓這個應用在k8s群集中部署和運行起來了。

實際上,很簡單。(當然,這只是入門級的演示,每個命令都還有很多細節可以調整)


1.通過kubectl run 命令指定要拉取的鏡像,并且通過設置一定的參數將其運行起來。k8s的術語將這個過程稱為創建一個部署(deployment)

kubectl run mvcapp --image chenxizhang/mvcapp --env="ASPNETCORE_URLS=http://+:80"


2. 將這個部署通過某種方式暴露給外部可以訪問

kubectl export deployments mvcapp --port=80 --type=LoadBalance


3.查看服務狀態,直到EXTERNAL-IP有返回具體的值,這就表示容器已經創建并且運行起來了。

kubectl get svc

4. 通過這個外部的IP地址就可以訪問到你的應用


其他有意思的信息和控制項

如果將應用部署到ACS只是這樣的功能,當然沒有什么可以值得稱贊的,實際上ACS的最大價值是提供了一個強大的容器運行平臺,它可以幫助開發人員完成很多細節的工作,包括擴展和收縮容器規模等等。下面是一些有意思的信息和控制項

1. 通過kubectl get deploy可以查看關于每個部署的一些細節信息

2.通過kubectl get rs 可以獲取到每個部署相關的復制集(replicas)

3.通過kubectl scale 命令可以指定針對某個應用要運行幾個容器

kubectl scale --replicas=3 rs/mvcapp-1456147153

備注:實際上在kubectl run的時候,就可以指定要同時運行的容器數量,同時,如果你愿意,也可以設置為autoscale(自動擴展)

相關文章:?

  • 老司機實戰Windows Server Docker:1 初體驗之各種填坑

  • 老司機實戰Windows Server Docker:2 docker化現有iis應用的正確姿勢

  • 老司機實戰Windows Server Docker:3 單節點Windows Docker服務器簡單運維(上)

  • 老司機實戰Windows Server Docker:4 單節點Windows Docker服務器簡單運維(下)

  • 老司機實戰Windows Server Docker:5 Windows Server Dockerfile葵花寶典

  • .Net大戶的選擇:Windows Container在攜程的應用

  • Docker4Dev #6 使用 Windows Container 運行.net應用

  • Docker基礎入門及示例

  • Linux+Nginx+Asp.net Core部署

  • Docker Machine 簡介

  • 容器,Docker和Azure Container Service

  • 基于VS2017的Docker Support體檢ASP.NET Core站點的Docker部署

  • Docker-Compose 一鍵部署Ningx+.Net Core+Redis集群

  • DotNetCore跨平臺~Dockerfile的解釋

  • Docker~從Dockerfile到Container的過程

  • 在Docker中運行asp.net core 跨平臺應用程序

原文地址:http://www.cnblogs.com/chenxizhang/p/7226903.html


.NET社區新聞,深度好文,微信中搜索dotNET跨平臺或掃描二維碼關注

總結

以上是生活随笔為你收集整理的在Azure Container Service创建Kubernetes(k8s)群集运行ASP.NET Core跨平台应用程序的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。