k8s环境部署本地.net core web项目

上一篇文章,我们部署了docker+k8s环境,简单测试通过,但是,还没能将我们自己的项目部署上去,继续记录部署踩坑过程。

一、准备工作

1、当然是docker+k8s环境了,详情请看上一篇文档 https://www.cnblogs.com/CoderLinkf/p/12395710.html

2、如果你部署好环境,重启过,建议先kubeadm reset,重新关闭防火墙,swap重新init一下

systemctl stop firewalld
setenforce 0
swapoff -a
kubeadm init --apiserver-advertise-address=192.168.3.180 --image-repository registry.aliyuncs.com/google_containers --kubernetes-version v1.17.3 --service-cidr=10.1.0.0/16 --pod-network-cidr=10.244.0.0/16

  别忘了改ip,接下来,重新安装flannel,详情请看上一篇文档安装,这里还没有找到重启后环境不变的方法,最后你得到下图结果:

同理,node节点也需要重新执行。

二、开始部署

  1、首先,将项目发布到文件系统,ftp到centos系统,这步不细说了

  2、DockerFile:放在项目保存的目录下

FROM microsoft/aspnetcore:2.0 AS base
WORKDIR /dockerdemo
EXPOSE 80

COPY . .
ENTRYPOINT ["dotnet", "Application.web.dll"]

  3、拉取镜像,记得cd到目录下面,dockerdemo可以改成自己的项目

docker build -t dockerdemo .

  4、docker images,查看镜像

  5、到此,部署了master节点的镜像,接下来,同样的操作,在node节点拉取镜像(本地项目必须的)

  6、做完上面的工作,我们开始编写web-pod.yaml,当然文件名不重要,重要的是.yaml内容

apiVersion: apps/v1
kind: Deployment
metadata:
  name: web1
  labels:
    k8s-app: web1
spec:
  replicas: 2
  selector:
    matchLabels:
      k8s-app: web1
  template:
    metadata:
      labels:
        k8s-app: web1
    spec:
      containers:
      - name: web1
        image: dockerdemo
        imagePullPolicy: Never
        ports:
        - containerPort: 80
---
kind: Service
apiVersion: v1
metadata:
  labels:
    k8s-app: web1
  name: web1
spec:
  type: NodePort
  ports:
  - port: 80
    targetPort: 80
  selector:
    k8s-app: web1

  解释一下:

  name可以改,

  replicas参数表示工作副本,运行成功后会运行相应的pod数量在节点中

  image:本地镜像名称

  imagePullPolicy:因为是在本地,所以不从pull拉取镜像,Never(IfNotPresent:如果本地没有,拉取pull镜像;Always:总是从pull拉取)

  其他参数就不解释了,可以了解一下https://www.bbsmax.com/A/obzbN4AyzE/

  当然了,yaml文件格式非常严格,一不小心就会验证失败,可以在https://www.json2yaml.com/convert-yaml-to-json进行验证格式

  7、运行pod

kubectl create -f web-pod.yaml

  如果顺利的话,执行

kubectl get pod -o wide

  可以看到

这里的两个,即上面配置的replicas效果

kubectl get pod,svc -o wide

  运行kubectl get pod,svc -o wide,如果出现下图所示,状态为running

恭喜你,成功了,访问图上所示的链接http://192.168.3.180:30165/即可看到我们的网站

如果失败了,可以查看pod的日志

kubectl describe pod web1-58f6d7d9b5-mlbx2

  这里的pod名,可以通过上面的kubectl get pods来查看

更复杂的日志:

kubectl create -f web-pod.yaml

  

原文地址:https://www.cnblogs.com/CoderLinkf/p/12408589.html

时间: 2024-09-29 03:59:56

k8s环境部署本地.net core web项目的相关文章

k8s环境部署.net core web项目(docker本地仓库)

在之前的文档中,我们部署了.net core web在k8s环境下,达成了集群管理项目的目的.但是,由于是本地部署,需要在所有的node节点都拉取好镜像,这是非常麻烦的,为了只维护一份代码,同步更新.我们将使用docker镜像拉取,但是,由于GitHub仓库的push和pull太慢,经常失败,因此,本地简单部署一个私有仓库.记录下过程. 一.准备工作 1.两台或以上的虚拟机,2cpu 192.168.3.181    k8s-master 192.168.2.156    k8s-node 2.

Spark on K8S环境部署细节

Spark on K8S环境部署细节 sparkk8s time: 2020-1-3 Spark on K8S环境部署细节 Spark operator安装 准备kubectl客户端和Helm客户端 安装spark operator Spark wordcount 读写OSS 准备oss依赖的jar包 准备core-site.xml 打包支持读写oss的镜像 下载spark安装包解压 打包发布镜像 准备wordcount作业 1. spark submit 提交 2. spark operato

Docker容器环境下ASP.NET Core Web API

Docker容器环境下ASP.NET Core Web API应用程序的调试 本文主要介绍通过Visual Studio 2015 Tools for Docker – Preview插件,在Docker容器环境下,对ASP.NET Core Web API应用程序进行调试.在自己做实验的过程中也碰到了一些问题,经过一些测试和搜索资料,基本解决了这些问题,本文也会对这些问题进行介绍,以免有相同需求的朋友多走弯路. 插件的下载与安装 至撰写本文为止,Visual Studio 2015 Tools

intelliJ IDEA 怎么添加本地的idea web项目

概述:这篇文章主要讲述idea开发工具怎么添加本地的idea web项目. 一:首先介绍一下idea web项目的目录结构: 上图详细简单的说了一下idea web项目的文件情况. 二:说明一下部署本地web项目的步骤,我会尽量的详细的说明,即使有点繁琐也在所不惜. 打开idea开发工具进入下图,选择import project.如下图所示: 下面是连续的截图,文字在图片上说明.如下所示: 然后你就可以看到项目,以建成了,但是还需要配置,配置就看下图中圆圈中重要的两个键进行配置. .点击proj

在linux上部署自己开发的web项目

在linux上部署自己开发的web项目 前言:相信有很多做开发的小伙伴和我之前一样,只会在windows环境下,利用开发工具开发运行web项目,但是却不知道怎么把开发好的项目部署到linux服务器上去,并能够外网访问,这里是我自己摸索总结的过程,包括了linux的一些常用的命令,希望能帮助到更多的人:文章中还有很多不足的地方,我会慢慢的和大家一起学习进步,慢慢的完善知识技术体系. 实验环境:虚拟机上的centos7 web项目,首先是要在linux上搭建好web服务器运行环境,需要提前下载好to

在.net core web项目中生成二维码

原文:在.net core web项目中生成二维码 1.添加QRCoder包引用 2. public IActionResult MakeQrCode()        { string url="https://www.baidu.com"; var generator = new QRCodeGenerator(); var codeData = generator.CreateQrCode(str,QRCodeGenerator.ECCLevel.M,true); var qrc

php+wamp环境部署本地Web应用

1.创建新的项目(project),创建完成之后单击工具栏的应用运行/调试(Select Run/Debug Configuration)的下拉菜单弹出 Edit Cofigurations选项,单击进入编辑对话框.(或者用菜单栏的 run - edit configuration). 如下图 2.在编辑对话框框双击 Defaults或者单机工具栏的扳手按钮展开设置项,也可以但就Defaults左边的加号(“+“)图标来展开设置项.我们这里选择PHP Web Application,选择之后右边

ZH奶酪:LAMP环境中如何重新部署一个Yii2.0 web项目

使用Yii2.0 framework开发的项目,使用Github进行版本控制,现在要把这个项目部署到一个新的电脑/系统中: (1)安装LAMP (2)在/var/www/html目录下执行 git clone YOUR_YII_WEB_PROJECT (3)cd Yii2.0 web项目(例如:mabuhay)目录,安装Yii2.0 [email protected]:/var/www/html/mabuhay$ sudo curl -sS https://getcomposer.org/ins

.net core web项目部署centos

前言:最近公司有个项目用 .netcore开发的项目,然后闲的没事就研究如果发布到Linux系统上 需要安装的插件以及支撑架构 1.dotnetSDK 2.jexus Jexus 是Linux平台上 的一款免费的ASP.NET WEB服务器.它是 Linux.Unix.FreeBSD等非Windows系统架设 ASP.NET WEB 服务器的核心程序,具备反向代理.入侵检测等重要功能.拥有IIS和其它Web服务器所不具备的高度的安全性 3.supervisord supervisord 是用Py