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

web开发作者:dayu日期:10天前点击:6

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(自动扩展)

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

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


下一篇       上一篇