衡阳网站优化外包价格,wordpress修改模板注册,摄影网页设计说明,外国人的做视频网站上一篇《Mac中搭建Kubernetes》介绍了怎样在Mac中搭建单节点的Kubernetes#xff0c;本文将编写一个dotNetCore的示例程序#xff0c;并发布到Kubernetes中。环境基本步骤创建dotnetCore示例项目#xff1b;本地搭建私有registry#xff0c;或者使用DockerHub#xff0c;本… 上一篇《Mac中搭建Kubernetes》介绍了怎样在Mac中搭建单节点的Kubernetes本文将编写一个dotNetCore的示例程序并发布到Kubernetes中。环境基本步骤创建dotnetCore示例项目本地搭建私有registry或者使用DockerHub本文采用搭建私有仓库的方式将dotnetCore示例项目发布到私有仓库中发布私有仓库镜像到Kubernetes创建示例项目1、在命令行执行命令创建一个名为k8s-netcore-demo的项目dotnet new webApp -o k8s-netcore-demo --no-httpsno-https2、将示例程序运行起来cd k8s-netcore-demodotnet rundotnet run运行正常的话访问http://localhost:5000会出现下图界面搭建私有仓库docker pull registrydocker run -d -p 8888:5000 --restartalways registrydocker run -d -p 8888:5000 --restartalways registry发布netcore程序到私有仓库1、发布netcore程序dotnet publish2、在publish目录中创建Dockfile文件文件内容如下FROM microsoft/dotnet:2.1-aspnetcore-runtimeCOPY . /appWORKDIR /appEXPOSE 80/tcpENTRYPOINT [dotnet, k8s-netcore-demo.dll]2.1-aspnetcore-runtimeCOPY . /appWORKDIR /appEXPOSE 80/tcpENTRYPOINT [dotnet, k8s-netcore-demo.dll]3、将netcore程序编译成Docker镜像docker build -t k8s-netcore-demo .4、将镜像发布到私有仓库docker tag k8s-netcore-demo localhost:8888/k8s-netcore-demodocker push localhost:8888/k8s-netcore-demo8888/k8s-netcore-demodocker push localhost:8888/k8s-netcore-demo默认情况下你执行docker push时会出现下面错误在Mac中的Docker中做如下设置即可解决设置好重启Docker之后再次执行docker push可以正常将镜像推送到私有仓库中。推送完成后浏览器中访问http://localhost:8888/v2/_catalog如果如下图所示说明推送成功了。发布镜像到Kubernetes1、创建Kubernetes的部署文件deploy.yaml部署文件为yaml文件格式。文件内容如下apiVersion: apps/v1kind: Deploymentmetadata: name: k8s-netcore-demo namespace: k8s-netcore labels: k8s-app: k8s-netcore-demospec: replicas: 2 selector: matchLabels: k8s-app: k8s-netcore-demo template: metadata: labels: k8s-app: k8s-netcore-demo spec: containers: - name: k8s-netcore-demo image: localhost:8888/k8s-netcore-demo ports: - containerPort: 80 ---# ------------------- Service ------------------- #kind: ServiceapiVersion: v1metadata: labels: k8s-app: k8s-netcore-demo name: k8s-netcore-demo namespace: k8s-netcorespec: type: NodePort ports: - port: 80 targetPort: 80 selector: k8s-app: k8s-netcore-demokind: Deploymentmetadata: name: k8s-netcore-demo namespace: k8s-netcore labels: k8s-app: k8s-netcore-demospec: replicas: 2 selector: matchLabels: k8s-app: k8s-netcore-demo template: metadata: labels: k8s-app: k8s-netcore-demo spec: containers: - name: k8s-netcore-demo image: localhost:8888/k8s-netcore-demo ports: - containerPort: 80 ---# ------------------- Service ------------------- #kind: ServiceapiVersion: v1metadata: labels: k8s-app: k8s-netcore-demo name: k8s-netcore-demo namespace: k8s-netcorespec: type: NodePort ports: - port: 80 targetPort: 80 selector: k8s-app: k8s-netcore-demo上面配置文件中属性的含义不用先去弄清楚保证程序能够正常跑起来是关键。2、因为在deploy.yaml文件中指定了namespace所以先创建一个名为k8s-netcore的namespacekubectl create namespace k8s-netcore3、执行deploy.yaml文件kubectl create -f deploy.yaml --validate#加上 --validate 参数当yaml文件有错误时会给出提示--validate#加上 --validate 参数当yaml文件有错误时会给出提示4、使用kubectl get命令查看创建情况kubectl get deploy -n k8s-netcore5、查看资源情况kubectl get svc -n k8s-netcore上图中可以看出暴露出来的端口为32527浏览器中访问http://localhost:32527如下图6、启动代理在Dashboard中查看运行情况kubectl proxy怎样访问Dashboard可以查看《Mac中搭建Kubernetes》中相关介绍。本文中用到的命令#创建dotNetCore项目dotnet new webApp -o k8s-netcore-demo --no-https#将dotNetCore程序构建为镜像docker build -t k8s-netcore-demo .#创建namespacekubectl create namespace k8s-netcore#部署Kuberneteskubectl create -f deploy.yaml --validate#查看指定命名空间的部署情况kubectl get deploy -n k8s-netcore#查看指定命名空间的资源情况kubectl get svc -n k8s-netcoredotnet new webApp -o k8s-netcore-demo --no-https#将dotNetCore程序构建为镜像docker build -t k8s-netcore-demo .#创建namespacekubectl create namespace k8s-netcore#部署Kuberneteskubectl create -f deploy.yaml --validate#查看指定命名空间的部署情况kubectl get deploy -n k8s-netcore#查看指定命名空间的资源情况kubectl get svc -n k8s-netcore总结命令不用刻意去记练习多了自然就记住了部署程序Kubernetes中先需要将镜像发布到仓库中自己部署的私有仓库和公有云仓库都可以通过本文的操作步骤可以将程序发布到Kubernetes中运行起来这样可以对Kubernetes有一个主观的认识接下来就可以循序渐进的对Kubernetes进行深入的学习。