当前位置: 首页 > news >正文

有做网站的公司吗网站开发工具有asp

有做网站的公司吗,网站开发工具有asp,邢台哪儿能做网站,北京地铁优化“ 终于可以部署ASP.NET Core到K8S中了...”在上一篇《基本概念快速一览》中#xff0c;我们把基本的一些概念快速地简单地不求甚解地过了一下#xff0c;本篇开始我们会将ASP.NET Core WebAPI部署到K8S#xff0c;从而结束初探的旅程。01—准备一个WebAPI这里准备一个空的A… “ 终于可以部署ASP.NET Core到K8S中了...”在上一篇《基本概念快速一览》中我们把基本的一些概念快速地简单地不求甚解地过了一下本篇开始我们会将ASP.NET Core WebAPI部署到K8S从而结束初探的旅程。01—准备一个WebAPI    这里准备一个空的ASP.NET Core WebAPI项目使用默认自带的ValuesController控制器具体代码见这里https://github.com/EdisonChou/AspNetCore.On.K8S/tree/master/src/01_hello-k8s/EDC.K8S.Demo.WebApi。  Dockerfile如下FROM microsoft/dotnet:2.1-aspnetcore-runtime AS base WORKDIR /app EXPOSE 80 FROM microsoft/dotnet:2.1-sdk AS build WORKDIR /src COPY . . RUN dotnet restore RUN dotnet build -c Release -o /app FROM build AS publish RUN dotnet publish -c Release -o /app FROM base AS final WORKDIR /app COPY --frompublish /app . ENTRYPOINT [dotnet, EDC.K8S.Demo.WebApi.dll]  我们可以事先在自己的Docker环境构建这样的一个镜像看看能否正常使用。  由于后面会使用到这个镜像因此可以将此镜像push到Docker Hub上。docker push your-image-name:tagname  当然你也可以直接使用我上传的这个镜像edisonsaonian/k8s-demo。  02—部署WebAPI到K8S2.1 准备Deployment YAML  在上一篇中我们知道Deployment主要负责Pod的编排那么我们这里就通过一个YAML来创建一个Deployment。apiVersion: apps/v1 kind: Deployment metadata: name: k8s-demo namespace: aspnetcore labels: name: k8s-demo spec: replicas: 2 selector: matchLabels: name: k8s-demo template: metadata: labels: name: k8s-demo spec: containers: - name: k8s-demo image: edisonsaonian/k8s-demo ports: - containerPort: 80 imagePullPolicy: Always --- kind: Service apiVersion: v1 metadata: name: k8s-demo namespace: aspnetcore spec: type: NodePort ports: - port: 80 targetPort: 80 selector: name: k8s-demo  这里这个deploy.yaml就会告诉K8S关于你的API的所有信息以及通过什么样的方式暴露出来让外部访问。  需要注意的是这里我们提前为要部署的ASP.NET Core WebAPI项目创建了一个namespace叫做aspnetcore因此这里写的namespace : aspnetcore。  K8S中通过标签来区分不同的服务因此这里统一name写成了k8s-demo。  在多实例的配置上通过replicas : 2这个设置告诉K8S给我启动2个实例起来当然你可以写更大的一个数量值。  最后在spec中告诉K8S我要通过NodePort的方式暴露出来公开访问因此端口范围从上一篇可以知道应该是 30000-32767这个范围之内。2.2 通过kubectl部署到K8S  首先确保你的Docker for Windows以及Kubernetes都启动起来了。  然后在Powershell中通过kubectl完成API的部署只需要下面这一句命令行即可kubectl create -f deploy.yaml    看到上面的提示service created就可以知道已经创建好了这里我们再通过下面这个命令来验证一下kubectl get svc -n aspnetcore    可以看到在命名空间aspnetcore下就有了一个k8s-demo的服务运行起来了并通过端口号31435向外部提供访问。2.3 在K8S中验证WebAPI  首先我们可以通过浏览器来访问一下这个API接口看看是否能正常访问到。      其次还记得在第一篇中部署的Dashboard吗我们通过Dashboard来看看我们的k8s-demo的状态    从Dashboard中可以看到更为详细的信息包括运行的Deployment、容器组由于我们设置的replicas2因此会有2个容器运行起来、副本集等等也可以通过Dashboard实时初步地监控我们的API的运行情况。03—在K8S中对WebAPI进行伸缩3.1 通过Dashboard伸缩WebAPI  在Dashboard中我们可以可视化地对我们的Deployment进行容器实例的伸缩如下图所示    在弹出的伸缩选项对话框中输入个数例如我们这里从2个缩减为1个然后确定。    再次观看Dashboard可以看到已经从原来的2个容器实例变为1个了。  3.2 通过Kubectl伸缩WebAPI  除了在Dashboard中可视化地操作进行伸缩也可以通过kubectl来进行例如下面这句命令将容器实例扩展到3个。需要注意的是由于我们的k8s-demo所在的命名空间是在aspnetcore下因此也需要指明--namespaceaspnetcore。kubectl scale deployment k8s-demo --replicas3 --namespaceaspnetcore    再到Dashboard中来验证一下是否扩展到了3个容器实例  3.2 自动伸缩WebAPI实例  在K8S中提供了一个autoscale接口来实现服务的自动伸缩它会采用默认的自动伸缩策略例如根据CPU的负载情况来帮助我们实现弹性伸缩的功能。例如下面这句命令可以实现我们的k8s-demo可以伸缩的范围是1~3个根据负载情况自己伸缩在没有多少请求量压力很小时收缩为一个在压力较大时启动另一个实例来降低负载。kubectl autoscale deployment k8s-demo --min1 --max3 --namespaceaspnetcore  04—一些补充知识点4.1 常用Kubectl命令kubectl get svc -n kube-system //获取指定命名空间的服务 kubectl cluster-info // 获取集群信息 kubectl get nodes // 获取集群节点信息 kubectl delete node 192.168.2.152 //删除节点 192.168.2.152 kubectl get namespaces // 获取所有命名空间 kubectl create namespace aspnetcore // 创建一个命名空间“aspnetcore”  更多kubectl命令参考  1https://jimmysong.io/kubernetes-handbook/guide/kubectl-cheatsheet.html  2https://www.jianshu.com/p/fb5c0d1154214.2 YAML文件解析   关于YAML文件各个节点的解释可以通过下面这个命令去了解kubectl explain deployment.metadata    更多YAML文件的节点参考https://www.kubernetes.org.cn/1414.html4.3 更多K8S基础知识  推荐阅读《18张插画了解Kubernetes背景与概念》   05—小结        本文简单的介绍了一下在Docker for Windows环境下通过kubectl部署一个ASP.NET Core WebAPI到K8S中并初步使用了K8S的伸缩特性对Deployment进行实例的伸缩体验了一下所谓的容器的编排。当然笔者也是初玩有很多还没学习这也只是K8S的冰山一角后续我会学习在Linux下部署K8S的生产级集群环境深入学习K8S的各种概念并实践最后会学习阿里云ACK服务容器服务Kubernetes版或腾讯云TKE服务基于Kubernetes的容器服务去部署和实践公司的生产环境相信到时也会有很多的分享的References参考资料Jessehttp://video.jessetalk.cn/my/course/6阿里云https://github.com/AliyunContainerService/k8s-for-docker-desktop/tree/18.09阿里云https://yq.aliyun.com/articles/508460?spma2c4e.11153940.blogcont221687.18.7dd57733hFolMo圣杰https://www.cnblogs.com/sheng-jie/p/10591794.html忱康https://blog.csdn.net/cuipengchong/article/details/72459299
http://www.sadfv.cn/news/128999/

相关文章:

  • 北京网站设计公司cg成都柚米科技15维拓设计在北京排名
  • 商城网站备案能通过吗哈尔滨排名seo公司
  • iis中的网站启动不了织梦网站代码
  • 网站建设的经费预算品牌网站建设保障大蝌蚪
  • 肇庆企业网站关键词优化教程网站的积分系统怎么做
  • 凤阳做网站o2o商城分销网站开发
  • flash网站建设淄博网站建设-至信网络
  • 有做公司网站的吗应遵循哪些原则
  • 专业的网站建设设计广州seo网站排名优化
  • 七冶建设集团网站 江苏东莞企石做网站
  • 深圳坪地网站建设 自助建站 五合一建站平台公司免费网站域名注册
  • 网站验收 流程wordpress小型论坛主题
  • dw个人网站建立教学wordpress图片像素
  • 太原市住房和城乡建设厅网站怎么在网站上做排名
  • 域名注册好如何做网站做网站不如做公众号
  • 兰州城建设计院网站网页设计代码如何写实训报告过程
  • 简单详细搭建网站教程图片下载网站哪个好
  • 建设团购网站怎么做网站在网上能搜到你
  • 做网站域名是什么意思竞价托管哪家专业
  • 浏阳网站开发做付费推广是网站好还是单页面好
  • 地方文明网站建设措施电子商务网站的建设方法
  • 网站织梦模板wordpress七牛
  • 太原做网站的公司wordpress多站点必备插件
  • 企业网站设计理念购物网站可行性分析报告
  • 广安住房和城乡建设厅网站在哪可以找到网站
  • 平湖模板网站建设公司网络营销是什么专业的课
  • 俄语在线网站建设柳市网站制作
  • 怎么构建网站河南平台网站建设设计
  • 广州商城型网站网站建设与制作外包服务
  • 幸福宝推广app网站入口烟台开发区建设业联合网站