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、docker最新版

  3、k8s环境,不会配的看看其他文档

二、本地仓库

  本地仓库会用到官方镜像,registry

docker pull registry

  这一步你可能因为网络问题拉取不下来,解决方法:

dig @114.114.114.114 docker.io

  

使用该命令获取到可用ip,编辑hosts

vim /etc/hosts

  

2、docker images查看该镜像

3、运行容器

docker run -d -v /opt/registry:/var/lib/registry -p 5000:5000 --restart=always --name registry registry

4、查看仓库里的镜像

curl http://192.168.1.197:5000/v2/_catalog

  当然,现在是空的,没什么好看的

三、上传&拉取镜像

  1、编辑tag

    首先,你需要有一个镜像,比如我这里用的test

执行命令修改tag

docker tag test 192.168.3.181:5000/test:v1

    格式是: docker tag 镜像名 ip:端口/镜像名:版本(版本是为了k8s项目更新)

  2、推送镜像(push)

docker push 192.168.3.181:5000/test:v1

一般情况下,这时候你会遇到一个错误

你需要执行:vim /etc/docker/daemon.json 进行编辑

当然了,ip地址和端口记得改成自己的,然后再次push,就能正常了

   

3、上传成功后,可以删除本地镜像,从仓库拉取

docker rmi 192.168.3.181:5000/test:v1
docker pull 192.168.3.181:5000/test:v1

  

4、在局域网的其他机器拉取镜像

  在局域网的其他机器拉取镜像,需要同样的,编辑vim /etc/docker/daemon.json

  内容跟上面也一样,不赘述

四、项目部署

  1、修改.yaml文件

  参考本地部署文档里面的.yaml文件,https://www.cnblogs.com/CoderLinkf/p/12408589.html

  这里改动两个地方,第一个,images:改为192.168.3.181:5000/test:v1

  拉取策略:imagePullPolicy:IfNotPresent(如果本地没有就从仓库拉取)

  2、执行apply命令

  kubectl apply -f 你的文件名.yaml

  这里要注意的一点是,如果你的项目还没运行过,那么,不要直接用apply命令,请先使用create命令

  kubectl create -f 你的文件名.yaml

  3、kubectl get pods 即可查看状态,running状态就成功了

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

时间: 2024-08-02 00:46:09

k8s环境部署.net core web项目(docker本地仓库)的相关文章

【Eclipse】eclipse部署web项目至本地的tomcat但在webapps中找不到

clipse部署web项目至本地的tomcat但在webapps中找不到 1.发现问题 在我的 eclipse 中有个Dynamic Web Project(动态web项目),在本地的 tomcat 跑起来以后,浏览器能正常访问,但在tomcat的安装目录下的 webapps 并没有出现项目目录. 我的项目其实由两个项目组成,一个就是现在这个动态web项目(用作后台和部分前台详情页),另外一个是为 Phonegap 准备的前台html(静态页面),以下就用 动态web项目.静态web项目 指代他

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

eclipse部署web项目至本地的tomcat但在webapps中找不到

第一次安装或者重新安装eclipse,在部署项目的时候很可能会遇到 eclipse部署web项目至本地的tomcat但在webapps中找不到的问题.这是因为你的eclipse中的server中的项目部署路径没有设置好.因此,你会在你的tomcat中的webapps目录中并没有发现部署的项目,同时你可以在eclipse内置浏览器中输入http://localhost:8080/可以正常打开,但在外部浏览器上打开http://localhost:8080时却没有出现所期望的小猫画面. 解决办法:按

Nginx 部署多个 web 项目(虚拟主机)

1,创建 www 目录 2,在 www 目录下创建 test1 和 test2 目录,表示两个项目 3,test1 下创建 test1.html 4,test2 下创建 test2.html 5,配置虚拟主机(部署多个 web 项目) 6,测试 实现多个虚拟主机的方式,三种方式: 1)多个网卡,这样可以有多个 IP 地址,每个项目的 IP 不一样: 2)更改端口,每个项目的端口不一样: 3)域名不一样 域名解析过程: host 文件 ----> DNS 原文地址:https://www.cnbl

在.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

Centos7配置docker本地仓库

内网环境创建docker仓库 实验环境 192.168.80.200 #不能上外网的docker仓库,centos7系统 192.168.80.100 #能上外网的Linux服务器,centos7系统 利用yum仓库安装docker服务 把docker的rpm包导入内网yum仓库中(docker软件包docker-ce,container-selinux) (下载地址:http://rpmfind.net/linux/rpm2html/search.php) 配置好本地yum仓库源(具体配置可看

maven项目更换本地仓库

由于电脑重装系统更换原来maven项目的本地仓库 以前的仓库位置如图 需要更换的仓库位置 更换步骤如下: 更换后:

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

.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