说明

我们通过一个示例来演示一下kubernetes部署应用的基本配置。

这个示例相对比较简单,就是一个tomcat应用加上一个mysql数据库

在tomcat里运行一个简单的webappp,这个app会访问Mysql获取数据。并展示在页面上。为了演示和简化的目的,只要程序正确连接到了数据库上,它就会自动完成对应的table的创建与初始化数据的准备工作。所以当我们通过浏览器访问此应用的时候,就会显示一个表格的页面,数据则来自数据库。

配置

我们在/root/k8s-yaml/目录下创建一个webapp的目录,在这个目录里面创建四个文件:

  1. .
  2. ├── mysql-dm.yaml
  3. ├── mysql-svc.yaml
  4. ├── myweb-dm.yaml
  5. └── myweb-svc.yaml

这四个文件的内容分别如下:

mysql-dm.yaml:

  1. apiVersion: apps/v1beta1
  2. kind: Deployment
  3. metadata:
  4. name: mysql
  5. spec:
  6. replicas: 1
  7. selector:
  8. matchLabels:
  9. app: mysql
  10. template:
  11. metadata:
  12. labels:
  13. app: mysql
  14. spec:
  15. containers:
  16. - name: mysql
  17. image: mysql:5.7
  18. ports:
  19. - containerPort: 3306
  20. env:
  21. - name: MYSQL_ROOT_PASSWORD
  22. value: "123456"

mysql-svc.yaml:

  1. apiVersion: v1
  2. kind: Service
  3. metadata:
  4. name: mysql
  5. spec:
  6. ports:
  7. - port: 3306
  8. selector:
  9. app: mysql``

myweb-dm.yaml:

  1. apiVersion: apps/v1beta1
  2. kind: Deployment
  3. metadata:
  4. name: myweb
  5. spec:
  6. replicas: 2
  7. selector:
  8. matchLabels:
  9. app: myweb
  10. template:
  11. metadata:
  12. labels:
  13. app: myweb
  14. spec:
  15. containers:
  16. - name: myweb
  17. image: kubeguide/tomcat-app:v1
  18. ports:
  19. - containerPort: 8080
  20. env:
  21. - name: MYSQL_SERVICE_HOST
  22. value: 'mysql'
  23. - name: MYSQL_SERVICE_PORT
  24. value: '3306

myweb-svc.yaml:

  1. apiVersion: v1
  2. kind: Service
  3. metadata:
  4. name: myweb
  5. spec:
  6. type: NodePort
  7. ports:
  8. - port: 8080
  9. nodePort: 30001
  10. selector:
  11. app: myweb

我们通过如下方式启动:

  1. kubectl apply -f ./

访问:

http://$node_ip:30001/demo

一个简单的Kubernetes应用部署示例的更多相关文章

  1. 从一个简单的Java单例示例谈谈并发

    一个简单的单例示例 单例模式可能是大家经常接触和使用的一个设计模式,你可能会这么写 public class UnsafeLazyInitiallization { private static Un ...

  2. 从一个简单的Java单例示例谈谈并发 JMM JUC

    原文: http://www.open-open.com/lib/view/open1462871898428.html 一个简单的单例示例 单例模式可能是大家经常接触和使用的一个设计模式,你可能会这 ...

  3. 一个简单的java僵局演示示例

    在实际编程,为了避免死锁情况,但是,让你写一个有用的程序死锁似几乎不要太简单(种面试题),下面是一个简单的死锁样例. 线程的同步化可能会造成死锁,死锁发生在两个线程相互持有对方正在等待的东西(实际是两 ...

  4. CSS3 实现的一个简单的"动态主菜单" 示例[转]

    其实这个示例蛮无聊的 很简单 也没什么实际的用处. 主要是展示了 CSS3 如何实现动画效果. 写这个主要是想看一看 完成这样的效果 我到底要写多少代码. 同时和我熟悉的java做个比较. 比较结果不 ...

  5. CSS3 实现的一个简单的"动态主菜单" 示例

    其实这个示例蛮无聊的 很简单 也没什么实际的用处. 主要是展示了 CSS3 如何实现动画效果. 写这个主要是想看一看 完成这样的效果 我到底要写多少代码. 同时和我熟悉的java做个比较. 比较结果不 ...

  6. 一个简单的webdynpro的ALV示例

    开发alv的时候需要1.在web dynpro组件下面 的已使用的组件中添加ALV组件 SALV_WD_TABLE 2.在组件控制器的属性下面创建ALV组件SALV_WD_TABLE 3.在视图界面的 ...

  7. 基于SpringCloud的微服务架构实战案例项目,以一个简单的购物流程为示例

    QuickStart 基于SpringCloud体系实现,简单购物流程实现,满足基本功能:注册.登录.商品列表展示.商品详情展示.订单创建.详情查看.订单支付.库存更新等等. 每个业务服务采用独立的M ...

  8. 企业级任务调度框架Quartz(3) 一个简单的Quartz 例子

    1. 一个简单的Quartz 工程     本示例应用比起众所周知的 System.out.println("Hello world from Quartz") 来还是要有趣些.当 ...

  9. Node.js实战14:一个简单的TCP服务器。

    本文,将会展示如何用Nodejs内置的net模块开发一个TCP服务器,同时模拟一个客户端,并实现客户端和服务端交互. net模块是nodejs内置的基础网络模块,通过使用net,可以创建一个简单的tc ...

随机推荐

  1. VBA how to crack Excel Password

    来源 更多vba相关 vba教程 VBA cheat sheet 1. VBA how to crack Excel Workbook/Worksheet password To remove the ...

  2. TLV5620参考电压的问题

    1. TLV5620参考电压的,上面红线的VID的意思应该是引脚(REFA-REFD)输入的电压值(3.3V),下面的应该是实际参考值,根据实际测试VID=3.3V的时候,Vref=2.2V,至于为什 ...

  3. [Unity]制作游戏中名字板的过程记录

    先大概说一下需求: 1 每个模型上都要有名字板:人.怪.npc等等. 2 名字板上会显示:名字(文字).血条(图片)等 3 因为是透视相机,名字板离得太近会变得超大,且主角移动,名字板的位置相对于相机 ...

  4. 实战重现隐藏在A标签_blank下的危险漏洞,简略说明noopener的作用

    前几日,在看阮一峰老师的博客文章中,发现了这么一篇 .标题为 <target = "_blank" 的危险性(英文)>.这篇文章同事看过之后因为不理解其中的危险之处,念 ...

  5. Mac OS系统 sublime text3 常用快捷键记录

    个人觉得下面这些个常用的快捷键,还是有必要熟练使用的: 符号说明: ⌘:command ⌃:control ⌥:option ⇧:shift ↩:enter ⌫:delete cmd+n 新建文件(n ...

  6. Linux读书笔记第一周

    1.Unix内核的特点:简洁:抽象:可移植性:进程创建:清晰的层次化结构. Linux内核是一种自由/开源的软件,设计思想与Unix系统相似(一切皆文件,特定的单一用途 & 简单的组合方式) ...

  7. 用C语言编程自动生成四则运算

    #include<stdio.h>#include<stdlib.h>#include <time.h>#define N 30main(){ int a,b,k, ...

  8. Beta 讨论分析——持续更新ing

    wonderland Beta 讨论分析 标签(空格分隔): 软工实践 wonderland 主要工作: info信息: 1.关联账号界面:hbb 2.标签检索界面:hbb 3.近期活跃度(cf.hd ...

  9. ElasticSearch 2 (29) - 信息聚合系列之测试驱动

    ElasticSearch 2 (29) - 信息聚合系列之测试驱动 摘要 我们可以用以下几页定义不同的聚合和它们的语法,但学习聚合的最佳途径就是用实例来说明.一旦我们获得了聚合的思想,以及如何合理地 ...

  10. Apache修改了配置文件中的路径后,登录该地址网页出现问题 (其中介绍了selinux的域和安全上下文)

    默认的网站数据存放在: /var/www/html 首页名称: index.html Apache服务程序的主配置文件: /etc/httpd/conf/httpd.conf (若是将  119  行 ...