使用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发布应用程序的简单实例相关推荐

  1. python软件代码示例-用Python写一个模拟qq聊天小程序的代码实例

    Python 超简单的聊天程序 客户端: import socket, sys host = '10.248.27.23' # host = raw_input("Plz imput des ...

  2. 能不能用python开发qq_用Python写一个模拟qq聊天小程序的代码实例

    用Python写一个模拟qq聊天小程序的代码实例 发布时间:2020-09-09 07:49:29

  3. 用Python写一个模拟qq聊天小程序的代码实例

    前言 今天小编就为大家分享一篇关于用Python写一个模拟qq聊天小程序的代码实例,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧 Python 超简单的聊天 ...

  4. php取随机数组的一个_php 数组随机取值的简单实例

    array_rand() 在你想从数组中取出一个或多个随机的单元时相当有用.它接受 input 作为输入数组和一个可选的参数 num_req,指明了你想取出多少个单元 - 如果没有指定,默认为 1. ...

  5. java采集_Java实现一个小说采集程序的简单实例

    被标题吸引进来的不要骂我. 只是一个简单的实现,随手写了来下载一部喜欢的小说的.示例中的小说只是示例,不是我的菜. 使用了jsoup.挺好用的一个工具. 有需要的话,参考下自己改吧.挺简单的,是吧. ...

  6. 用python做毕业设计小程序_用Python写一个模拟qq聊天小程序的代码实例

    Python 超简单的聊天程序 客户端: import socket, sys host = '10.248.27.23' # host = raw_input("Plz imput des ...

  7. 如何利用python实现qq聊天_用Python写一个模拟qq聊天小程序的代码实例

    Python 超简单的聊天程序 客户端: import socket, sys host = '10.248.27.23' # host = raw_input("Plz imput des ...

  8. 微信小程序 购物车简单实例

    微信小程序,这里实现购物车功能的小demo,有需要此功能的朋友可以参考下. 摘要: 加减商品数量,汇总价格,全选与全不选 设计思路: 一.从网络上传入以下Json数据格式的数组 1.购物车id:cid ...

  9. Citrix XenApp 6.0 发布应用程序时 ICO 错误的解决方法

    XenApp 6.0在测试运行中发现某些应用程序发布过程中出现ICO错误信息,而无法进行下去.如下图 这个信息显示我发布应用程序 MindManager 9时,出现ICO格式错误信息.点击继续,下一步 ...

最新文章

  1. Cookie安全漫谈
  2. long java 比较_Java到底是不是一种纯面向对象语言?
  3. 互换性与技术测量电子版_圆柱公差与配合,公差等级的选用,一文全面介绍互换性与测量技术...
  4. 在布局空间标注的尺寸量不对_CAD图纸中标注值和实际测量值不一样怎么回事?...
  5. 【转】C#开发笔记之05-迭代器中的状态机(State Machine)到底是什么?
  6. @data注解不生效_你说啥什么?注解你还不会?
  7. This is Huge! PhysBAM code is going to be released?
  8. 使用python构建基于hadoop的mapreduce日志分析平台
  9. 英语四级备考~自我总结
  10. 国内最著名的公用CDN BootCDN停止服务
  11. 用VC GDI+画一颗树
  12. java 位运算取8位_5巨星生涯全明星队友:乔丹2位,科比8位,那詹姆斯呢?
  13. 软工萌新必备app及其用处
  14. 在CMD中输入adb命令,提示“‘adb‘ 不是内部或外部命令,也不是可运行程序或批处理文件”的解决方法
  15. android自动切换暗色,超实用!Android 深色模式适配(可定时开启的APP内主题切换管理工具)...
  16. 北斗GPS定位系统原理
  17. 中国人民公安大学 网络对抗技术 15网安六区 杨益 201521460031
  18. APSIM练习:小麦苜蓿轮作
  19. 三菱PLC触摸屏仿真测试
  20. SecurTrac™ 简介

热门文章

  1. 谈谈CMDB,ITIL和ITSM概念和简史
  2. ​IDC报告深度分析:智能照明势头迅猛,安防仍是重要推动力
  3. SoftPerfect NetWorx中管理流量和宽带设备工具
  4. matlab绘图(其他形式的二维曲线)
  5. java url转义_url特殊字符转义及解决方法
  6. 硬盘被搜 迅雷被指“盗窃用户文件”
  7. 期待已久!邓力、刘洋等合著的这本NLP书你确定不想看?
  8. 超声波按类型分类有纵波、横波、表面波、爬波、板波
  9. UnicodeDecodeError: 'gbk' codec can't decode byte 0xa6 in position 34: illegal multibyte sequence
  10. unity标准着色器入门-材质参数(二)