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状态就成功了
k8s环境部署.net core web项目(docker本地仓库)的更多相关文章
- 怎么部署 .NET Core Web项目 到linux
.NET Core is free, open source, cross platform and runs basically everywhere. STEP 0 - GET A CHEAP H ...
- VS2017 IIS 部署.net core web项目
1.点击IIS,查看模块 查看是否安装了 AspNetCoreModule 模块,如果没有安装可下载:https://dotnet.microsoft.com/download 下载安装后,即可部署项 ...
- Docker 部署Dotnet Core MVC项目
原文:Docker 部署Dotnet Core MVC项目 1.dotnet core创建项目 dotnet new mvc -o myweb cd myweb 然后就是业务代码的编辑,增删改查乱七八 ...
- 【Eclipse】eclipse部署web项目至本地的tomcat但在webapps中找不到
clipse部署web项目至本地的tomcat但在webapps中找不到 1.发现问题 在我的 eclipse 中有个Dynamic Web Project(动态web项目),在本地的 tomcat ...
- Azure Web App (三)切换你的Net Core Web 项目的数据库连接字符串
一,引言 上一篇文章讲到今天我们演示了一下,如何在Web App中创建 “Deployment Slot”进行快速无停机部署新功能代码,也使用VS进行发布到创建的Web App中创建的新的部署槽位中, ...
- Eclipse部署多个Web项目内存溢出,java.lang.OutOfMemoryError: PermGen space
Eclipse部署多个Web项目内存溢出,java.lang.OutOfMemoryError: PermGen space >>>>>>>>>& ...
- asp.net core web 项目附加进程调试
之前asp.net web项目在部署IIS站点的时候可以直接选择项目目录,不用发布,然后附加进程的时候,找到w3wp.exe开头的进程,再根据用户名找到要附加的进程,就可以附加进程调试了.但asp.n ...
- Nginx 部署多个 web 项目(虚拟主机)
1,创建 www 目录 2,在 www 目录下创建 test1 和 test2 目录,表示两个项目 3,test1 下创建 test1.html 4,test2 下创建 test2.html 5,配置 ...
- C# 动态创建SQL数据库(二) 在.net core web项目中生成二维码 后台Post/Get 请求接口 方式 WebForm 页面ajax 请求后台页面 方法 实现输入框小数多 自动进位展示,编辑时实际值不变 快速掌握Gif动态图实现代码 C#处理和对接HTTP接口请求
C# 动态创建SQL数据库(二) 使用Entity Framework 创建数据库与表 前面文章有说到使用SQL语句动态创建数据库与数据表,这次直接使用Entriy Framwork 的ORM对象关 ...
随机推荐
- SpringMVC插件安装、环境配置及快速入门_学习笔记
SpringMVC 是现在广泛应用的框架结构,我也只是一个初学者,一遍学习一遍梳理整合,如有错误,希望大神指点,别误人. MVC :Model-View-Control 框架性质的C 层要完成的主要工 ...
- jmeter测试get post 笔记
0 环境 系统环境:win7 1 操作 1 post 新建线程组 2 get 和post新建类似 http请求 只是新建一个参数化我测试的2个url http://127.0.0.1:8080/cry ...
- 第19届亚太零售商大会 | 奇点云CEO行在受邀出席发表演讲
2019年9月5日—7日,第19届亚太零售商大会在重庆举行. 亚太零售商大会作为世界三大零售盛会之一,是亚太地区零售行业最具规模.最具影响力的零售行业盛会.本次大会以“新零售·新消费·新动力·合作与共 ...
- 82)PHP,基本框架类步骤
framework.class.php 基本代码展示: <?php /** * 框架初始化功能类 */ class Framework { /** * 入口 * 里面的static和self是一 ...
- JavaScript创建函数的方式
在JavaScript中,创建函数是比较常见的操作,但是JavaScript中怎么创建函数呢,有几种方式可以创建函数呢?在JavaScript一般有三种方式创建对象1.函数声明方式格式:functio ...
- OpenAL介绍
OpenAL(Open Audio Library)是自由软件界的跨平台音效API,由Loki Software,使用在Windows.Linux 系统上,用在音效缓冲和收听中编码. OpenAL设计 ...
- Longest Increasing Subsequence (Medium)
第一次做题思路201511092250 1.采用map存储,key为nums[i],value为以nums[i]为结尾的最大递增子序列的长度 2.采用map里面的lower_bounder函数直接找出 ...
- [LC] 92. Reverse Linked List II
Reverse a linked list from position m to n. Do it in one-pass. Note: 1 ≤ m ≤ n ≤ length of list. Exa ...
- Eclipse中项目过大引起的 IDE 加载缓慢,JVM 内存不足的情况解决
如果 IDE 加载项目非常缓慢,甚至常常出现卡死的情况,有可能是开发工具设置的 JVM 内存不够引起的.解决办法:找到 Eclipse 的安装目录,修改 Eclipse.ini 配置文件.修改此配置文 ...
- JDBC原理之层次结构
目录 JDBC的层次结构 前言 Collection角色 Statement角色 ResultSet角色 JDBC工作的基本流程 JDBC的层次结构 前言 JDBC API提供了以下接口和类: Dri ...