在之前的文档中,我们部署了.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状态就成功了

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

  1. 怎么部署 .NET Core Web项目 到linux

    .NET Core is free, open source, cross platform and runs basically everywhere. STEP 0 - GET A CHEAP H ...

  2. VS2017 IIS 部署.net core web项目

    1.点击IIS,查看模块 查看是否安装了 AspNetCoreModule 模块,如果没有安装可下载:https://dotnet.microsoft.com/download 下载安装后,即可部署项 ...

  3. Docker 部署Dotnet Core MVC项目

    原文:Docker 部署Dotnet Core MVC项目 1.dotnet core创建项目 dotnet new mvc -o myweb cd myweb 然后就是业务代码的编辑,增删改查乱七八 ...

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

    clipse部署web项目至本地的tomcat但在webapps中找不到 1.发现问题 在我的 eclipse 中有个Dynamic Web Project(动态web项目),在本地的 tomcat ...

  5. Azure Web App (三)切换你的Net Core Web 项目的数据库连接字符串

    一,引言 上一篇文章讲到今天我们演示了一下,如何在Web App中创建 “Deployment Slot”进行快速无停机部署新功能代码,也使用VS进行发布到创建的Web App中创建的新的部署槽位中, ...

  6. Eclipse部署多个Web项目内存溢出,java.lang.OutOfMemoryError: PermGen space

    Eclipse部署多个Web项目内存溢出,java.lang.OutOfMemoryError: PermGen space >>>>>>>>>& ...

  7. asp.net core web 项目附加进程调试

    之前asp.net web项目在部署IIS站点的时候可以直接选择项目目录,不用发布,然后附加进程的时候,找到w3wp.exe开头的进程,再根据用户名找到要附加的进程,就可以附加进程调试了.但asp.n ...

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

    1,创建 www 目录 2,在 www 目录下创建 test1 和 test2 目录,表示两个项目 3,test1 下创建 test1.html 4,test2 下创建 test2.html 5,配置 ...

  9. C# 动态创建SQL数据库(二) 在.net core web项目中生成二维码 后台Post/Get 请求接口 方式 WebForm 页面ajax 请求后台页面 方法 实现输入框小数多 自动进位展示,编辑时实际值不变 快速掌握Gif动态图实现代码 C#处理和对接HTTP接口请求

    C# 动态创建SQL数据库(二) 使用Entity Framework  创建数据库与表 前面文章有说到使用SQL语句动态创建数据库与数据表,这次直接使用Entriy Framwork 的ORM对象关 ...

随机推荐

  1. Matlab高级教程_第二篇:MATLAB和C#对应数据类型的讲解(多讲一点儿C#的矩阵运算)

    1. MATLAB对应C#的数据类型主要在引入的父类库MWArray当中.有如下对应规则 .NET TYPE MWArrayTYPE MATLAB Type System.Double MWNumer ...

  2. dubbo同步/异步调用的方式

    我们知道,Dubbo 缺省协议采用单一长连接,底层实现是 Netty 的 NIO 异步通讯机制:基于这种机制,Dubbo 实现了以下几种调用方式: 同步调用(默认) 异步调用 参数回调 事件通知 同步 ...

  3. mysql模糊匹配like及批量替换replace

    1.mysql 模糊匹配 like 与 not like 用法 : SELECT * FROM `user` where `nickname` LIKE '%测试%' SELECT * FROM `u ...

  4. 常用JS图片滚动(无缝、平滑、上下左右滚动)

    常用JS图片滚动(无缝.平滑.上下左右滚动)代码大全 <head><-----></head><body> <!--向下滚动代码开始-->& ...

  5. Qt platform plugin 'windows' 问题的解决方法

    关于Qt 发布程序时遇到qt platform plugin ‘windows’问题的解决方法如下  遇到这个问题,一般应该已经把一部分dll拷贝到了发布的可执行文件同级目录, 我是直接添加C:\Qt ...

  6. 学习python-20191208(1)-Python Flask高级编程开发鱼书_第03章_数据与flask路由

    视频01: 略...... ———————————————————————————————————————————————————————————— 视频02: 搜索需要外部数据源,也就是需要外部的A ...

  7. python学习笔记(11)文件操作

    一.读文件 读写文件是最常见的IO操作.Python内置了读写文件的函数,用法和C是兼容的. 读写文件前,我们先必须了解一下,在磁盘上读写文件的功能都是由操作系统提供的,现代操作系统不允许普通的程序直 ...

  8. window server 2012+apache+django

    一.apache下载安装 https://www.apachelounge.com/download/VC10/ ***注意*** 本人用的是window server 2012 64位版本云服务器, ...

  9. dotfuscator安装

    1.vs 2017 安装 dotfuscator 组件 打开vs 2017 按 ctrl + Q在输入框中输入“dotfuscator” ,选中第一个. 2.安装完成后即可在vs的工具中看到该组件 3 ...

  10. fetch API 和 ajax

    fetch('/some.json', { method: 'get', body: { id: 22 } }).then(function (resp) { resp.json().then(con ...