tnblog
首页
视频
资源
登录

OKD 部署.netcore项目

5429人阅读 2021/8/3 17:25 总访问:3467639 评论:0 收藏:0 手机
分类: 云产品

OKD 部署.netcore项目

创建.netcore测试项目(Webapp)

  1. dotnet --version
  2. dotnet new webApp -o myWebApp --no-https
  3. dotnet run
  4. cd myWebApp
  5. dotnet run


Ctrl+c停止运行后,发布该项目

  1. # 发布时项目框架版本(-f)可查看:https://docs.microsoft.com/zh-cn/dotnet/standard/frameworks
  2. dotnet publish myWebApp -f netcoreapp3.1 -c Release

在OKD中创建项目


使用aidasi用户创建mywebapp项目空间。

  1. oc login -u aidasi -p aidasi
  2. oc new-project mywebapp
  3. # 查看当前命名空间
  4. oc whoami --show-context

添加镜像流


先添加dotnet 镜像流。在下列链接中找到okd部署的系统所对应的dotnet的镜像流:
https://github1s.com/redhat-developer/s2i-dotnetcore/blob/master/dotnet_imagestreams_centos.json
下载下来后进行安装
这里我们就添加到当前项目(mynetcore)中,所以我图中多了一个openshift是错的,请按下面命令执行

  1. # 安装
  2. oc create -f dotnet_imagestreams_centos.json
  3. # 查看dotnet 版本
  4. oc get is dotnet --template='{{range .spec.tags}}{{.name}}{{"\n"}}{{end}}'


我们看到有关很多.net的环境镜像流。
接着我们需要将其镜像上传到我们私有镜像库中。
搭建私有库请参考:https://www.tnblog.net/hb/article/details/6291


我们在harbor界面上看看有没有这个mynetcore项目,没有是需要进行创建项目的。


这里我们只需要dotnet3.1的镜像即可。可以安装上图底部进行安装。

  1. docker pull registry.centos.org/dotnet/dotnet-31-centos7:latest
  2. docker tag registry.centos.org/dotnet/dotnet-31-centos7:latest 10.211.55.8:8060/mynetcore/dotnet:3.1
  3. docker push 10.211.55.8:8060/mynetcore/dotnet:3.1

在构建的过程中,我们可能需要build的服务去进行构建。所以我们需要为build服务添加我们的docker登录

  1. # 复制该文件到当前目录下
  2. cp ~/.docker/config.json k8s-docker.json
  3. # 添加到全局secret
  4. oc create secret generic harborkey --from-file=.dockerconfigjson=./k8s-docker.json --type=kubernetes.io/dockerconfigjson
  5. # 为builder账户添加拉取与上传的登陆secret
  6. oc secrets link builder harborkey --for=pull,mount


最后来看看界面上,builder是不是首先使用harborkey为顺序


这里secrets必须以harborkey为第一位哦,因为其他secret有harbor登录的账号与密码的话,那可能就使用前者而不使用我们现在创建的。

构建、部署与访问


创建一个构建配置。我们将使用包含.net5 SDK和运行时的dotnet3.1镜像。实用二进制内容构建应用程序

  1. ./oc new-build --name=my-web-app dotnet:3.1 --binary=true


指定刚刚发布的mywebtest项目目录路径进行构建。

  1. ./oc start-build my-web-app --from-dir=/Users/hebo/myfile/cshrp/test/myWebApp/bin/Release/netcoreapp3
  2. .1/publish


我们可以打开另外一个窗口,查看构建过程与构建日志

  1. # 获取所有构建
  2. oc get bc -n mywebapp
  3. # 获取构建日志
  4. oc logs -f bc/my-web-app -n mywebapp


我们可以看到已经构建成功了


这是一些日志信息


接着查看我们my-web-app的镜像流。

  1. oc get is -n mynetcore


部署创建应用

  1. oc new-app --docker-image=10.211.55.8:8060/mynetcore/my-web-app --name=my-web-app


接着创建路由方便我们访问

  1. oc expose svc/my-web-app
  2. # 查看路由
  3. oc get route


点开我们右下角链接,很尴尬


我们通过代理进行访问

  1. # 在本地运行
  2. kubectl proxy --address='0.0.0.0' --accept-hosts='^*$' --port=8009


访问地址:http://127.0.0.1:8009/api/v1/namespaces/mynetcore/services/my-web-app:8080/proxy/
关于kubectl proxy请参考:https://www.tnblog.net/hb/article/details/4681


欢迎加群讨论技术,1群:677373950(满了,可以加,但通过不了),2群:656732739

评价

OKD一键部署

OKD一键部署[TOC] OKD简介OKD 是Kubernetes 的一个发行版,针对持续应用程序开发和多租户部署进行了优化。OKD在 Kubernete...

简单学习OKD

简单学习OKD[TOC] Web登录来到OKD的登录界面,输入账号与密码进行登录(admin)。 我们这里可以创建一个自己的项目myproj...

OKD与Harbor的集成

OKD 与Harbor的集成[TOC] 为什么需要安装Harbor呢?因为在我们安装时并没有存储库,所以环境镜像也无法安装到本地存储库...

OKD 权限认证

OKD 权限认证[TOC] Openshift API Server 利用管理员配置的认证模块来认证每个达到的请求。认证过程及用户、API认证方式、...

OKD ImageStream

OKD ImageStream[TOC] ImageStreamImageStream是OpenShift独有的一种对象,在Kubernetes中没有对应的对象。它主要目标是简...

.net core3.0在Ubuntu 16.04上面的部署(Supervisor+nginx)(扩展docker)

前 言Linux 随着Linux越来越流行,本人一个.net程序员也多次研究linux与.net的相关产品,以及中间件的使用方式。So今天给...

k8s 结合 Service 与 Deployment 部署容器

前言最近看到了学习k8s的网站,在文章末尾分享给大家,所以我最近的教程也会根据上面的课程来进行一些总结Service:暴露容...

Mysql K8s部署Volume(hostPath)

Mysql K8s部署Volume[TOC] Mysql 与 Yaml 稍作修改这里提供的是官网的链接:https://kubernetes.io/docs/tasks/run-a...

Asp.net core webapi部署IIS过程详解,以及坑点介绍和解决坑点方法

这几天做了一个Asp.net core 3.0的webapi小练习,只有简单的增删改查,做好了以后又去对应的部署IIS,因为之前也发布过一些...

Elasticsearch 安装与部署

Elasticsearch 安装与部署[TOC] 环境准备 Java 8.0以上的环境本机环境为Mac,Java 14.0.2 获取 Elasticsearch 安装包 ...

Docker部署简单的mysql

Docker部署简单的mysql[TOC] 首先这玩意我是真不想写,网上写的太多了,但是又没有找到快速的创建方式。so…有疑问都可...

Docker 部署RabbitMq集群

Docker 部署RabbitMq集群[TOC] 镜像环境docker pull rabbitmq:3-management 镜像后面带management是带web管理界面...

dotnet项目执行shell脚本实现简单的自动化部署

不要k8s、不要docker、不要Jenkins,只要一个部署脚本,只是一个小项目单台服务器,实现提交代码自动执行脚本,拉代码构建...

servlet 快速部署入门(继承GenericServlet类)1

一、介绍二、入门搭建1:。。。。。2、3:第2 步还可以通过实现servlet接口完成,但是通过接口完成的话,需要重新的方法就...

JavaWeb项目部署到tomcat

1、2、3、还可参考https://blog.csdn.net/qq_46079450/article/details/124036966
这一世以无限游戏为使命!
排名
2
文章
634
粉丝
44
评论
93
docker中Sware集群与service
尘叶心繁 : 想学呀!我教你呀
一个bug让程序员走上法庭 索赔金额达400亿日元
叼着奶瓶逛酒吧 : 所以说做程序员也要懂点法律知识
.net core 塑形资源
剑轩 : 收藏收藏
映射AutoMapper
剑轩 : 好是好,这个对效率影响大不大哇,效率高不高
ASP.NET Core 服务注册生命周期
剑轩 : http://www.tnblog.net/aojiancc2/article/details/167
ICP备案 :渝ICP备18016597号-1
网站信息:2018-2025TNBLOG.NET
技术交流:群号656732739
联系我们:contact@tnblog.net
公网安备:50010702506256
欢迎加群交流技术