一个使用k8s发布应用程序的简单实例
使用k8s发布我们的应用程序大概有如下几步
1、打包应用服务
2、根据应用服务创建镜像
3、将打包的镜像推送到我们创建的docker私服
4、在k8s的Master节点编写yaml文件
5、根据yaml文件创建相关的pod和service
下面以spring cloud中的注册中心eureka为例做一个k8s发布应用程序的实例(在k8s环境中不建议使用eureka做微服务的注册发布的组件,本次只是验证k8s发布应用程序的过程,别无他意)。
1.打包应用服务
我们在服务上发布的为jar包,只要把应用程序打包成jar包即可
2.根据应用服务创建镜像
在给应用程序制作镜像请确保机器上安装了docker服务
在这里我们使用dockerfile文件制作应用程序镜像,dockerfile文件如何编写请读者自行查找相关资料。应用程序上传到与dockerfile统一目录下,如下图
执行命令:docker build -t itmuch/wyzx-frame-eureka:0.0.1 .,生成镜像。请注意命令后面的.,其代表当前目录。如下图:
我们查看镜像是否已存在,执行命令docker images,如下图
如上所示,镜像已经生成
3.镜像推送到docker私服
私服搭建请参考如下方式:
拉取镜像:docker pull docker.io/registry
验证:docker images 查看本地镜像列表
运行: 对外端口5000 后台默认运行,起别名registry2
docker run -p5000:5000 -d docker.io/registry --name=registry2
本机验证: docker ps
如上所示,docker私服已经启动了。
推送镜像到私服
1.修改镜像标签
docker tag itmuch/wyzx-frame-eureka:0.0.1 localhost:5000/itmuch/itmuch/wyzx-frame-eureka:0.0.1
2.推送镜像到私服
docker push localhost:5000/itmuch/itmuch/wyzx-frame-eureka:0.0.1,如下图3.查看推送是否成功,在浏览器输入如下地址,http://192.168.0.106:5000/v2/_catalog(我的docker私服服务器的ip为192.168.0.106),如下图,证明镜像是推送成功的
注意:在镜像上传私服或者下载镜像的时候遇到如下错误
Error response from daemon: Get https://RegistryHost:5000/v2/: http: server gave HTTP response to HTTPS client.
原因: 私服默认都是开启https传输,普通http请求方式就会出现如上错误
解决方案:更改docker配置文件(/etc/docker/daemon.json),增加如下配置
重启docker即可
4.编写yaml文件
为了简单起见,只编写两个yaml文件 rc文件和svc文件,文件内容如下
eureka-rc.yaml
eureka-svc.yaml
5.根据yaml文件创建相关的pod和service
进入Master节点的存放yaml文件目录,执行创建命令,如下图
输入kubectl命令,检查pod、service创建是否成功,如下图
如上,创建都是成功的
6.验证
在浏览器上输入地址:192.168.0.106:30301,如下图:
如上图说明发布是成功的。请确保宿主机器端口是开放的,否则可能无法访问。
以上就是使用k8s发布应用程序的简单实例的全过程。当然以上过程可通过jenkins和脚本做一键自动化部署,本次只是为了说明使用k8s发布应用程序的详细过程。
一个使用k8s发布应用程序的简单实例相关推荐
- python软件代码示例-用Python写一个模拟qq聊天小程序的代码实例
Python 超简单的聊天程序 客户端: import socket, sys host = '10.248.27.23' # host = raw_input("Plz imput des ...
- 能不能用python开发qq_用Python写一个模拟qq聊天小程序的代码实例
用Python写一个模拟qq聊天小程序的代码实例 发布时间:2020-09-09 07:49:29
- 用Python写一个模拟qq聊天小程序的代码实例
前言 今天小编就为大家分享一篇关于用Python写一个模拟qq聊天小程序的代码实例,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧 Python 超简单的聊天 ...
- php取随机数组的一个_php 数组随机取值的简单实例
array_rand() 在你想从数组中取出一个或多个随机的单元时相当有用.它接受 input 作为输入数组和一个可选的参数 num_req,指明了你想取出多少个单元 - 如果没有指定,默认为 1. ...
- java采集_Java实现一个小说采集程序的简单实例
被标题吸引进来的不要骂我. 只是一个简单的实现,随手写了来下载一部喜欢的小说的.示例中的小说只是示例,不是我的菜. 使用了jsoup.挺好用的一个工具. 有需要的话,参考下自己改吧.挺简单的,是吧. ...
- 用python做毕业设计小程序_用Python写一个模拟qq聊天小程序的代码实例
Python 超简单的聊天程序 客户端: import socket, sys host = '10.248.27.23' # host = raw_input("Plz imput des ...
- 如何利用python实现qq聊天_用Python写一个模拟qq聊天小程序的代码实例
Python 超简单的聊天程序 客户端: import socket, sys host = '10.248.27.23' # host = raw_input("Plz imput des ...
- 微信小程序 购物车简单实例
微信小程序,这里实现购物车功能的小demo,有需要此功能的朋友可以参考下. 摘要: 加减商品数量,汇总价格,全选与全不选 设计思路: 一.从网络上传入以下Json数据格式的数组 1.购物车id:cid ...
- Citrix XenApp 6.0 发布应用程序时 ICO 错误的解决方法
XenApp 6.0在测试运行中发现某些应用程序发布过程中出现ICO错误信息,而无法进行下去.如下图 这个信息显示我发布应用程序 MindManager 9时,出现ICO格式错误信息.点击继续,下一步 ...
最新文章
- 基于先验LiDAR点云地图的单目VIO定位(IROS 2020)
- linux安装perl编译环境,CentOS7 安装 perl 环境
- 使用httpd-2.2和httpd-2.4实现指定httpd服务
- 给服务器端下拉asp:DropDownList 绑定改变事件,Ajax绑定下拉
- Spirng mvc 参数绑定
- 设计模式之——bridge模式
- 21、OSPF配置实验之特殊区域totally stub
- linux搭建.net开发环境,ASP.NET Core知多少(5): Linux上搭建.Net Core开发环境
- word怎么把页面顺序倒过来_word设置倒序打印的方法
- RAR与ZIP区别,哪个比较好用!
- 智能陈桥输入法软件测试,智能陈桥五笔输入法
- 计算机基础实训项目二 Word 综合应用,计算机应用基础-实训项目二 Word 综合应用[优质文档]...
- 【CTF】Misc7——乌云邀请码+图穷匕见+convert
- GIF一下你也可以拍大片 微影戏程序
- git cz: Missing script: “test“ To see a list of scripts, run: npm run
- 0CTF/TCTF 2021 Quals_Misc_singer
- JuiceFS 在数据湖存储架构上的探索
- linux故障报错及解决方法
- 用计算机拜年祝福语,新年祝福语:拜年用语
- 系统坏了,该怎么办呢?电脑小白必备的装机指南
热门文章
- DSR (串口通信中的术语)
- 对于react-thunk中间件的简单理解
- 陈一舟:国内SNS社区的战斗已经结束
- 设计模式(十二)-装饰器模式(Decorator Pattern)——装饰边框与被饰物的一致性
- java毕业设计小区物业管理系统mybatis+源码+调试部署+系统+数据库+lw
- C#,生信软件实践(03)——DNA数据库GenBank格式详解及转为FASTA序列格式的源代码
- python继承和方法重写
- 为什么中国出不了Facebook和Twitter?
- matlab绘图(其他形式的二维曲线)
- 有了这 18 个免费的React模板以后,也太省事了吧!!