kubernetes案例 tomcat+mysql
该文章参考《kubernetes 权威指南》
环境:
[root@master tomcat-mysql]# kubectl get nodes
NAME STATUS AGE
node1 Ready 9d
node2 Ready 9d
需要启动两个容器myweb和mysql。
myweb配置文件:
ReplicationController配置文件
[root@master tomcat-mysql]# vim myweb-rc.yaml
kind: ReplicationController
metadata:
name: myweb
spec:
replicas: 1
selector:
app: myweb
template:
metadata:
labels:
app: myweb
spec:
containers:
- name: myweb
image: docker.io/kubeguide/tomcat-app:v1
ports:
- containerPort: 8080
env:
- name: MYSQL_SERVICE_PORT
value: '3306'
Service配置文件
[root@master tomcat-mysql]# vim myweb-svc.yaml
apiVersion: v1
kind: Service
metadata:
name: myweb
spec:
type: NodePort
ports:
- port: 8080
nodePort: 30001
selector:
app: myweb
启动:
[root@master tomcat-mysql]# kubectl create -f myweb-rc.yaml
[root@master tomcat-mysql]# kubectl create -f myweb-svc.yaml
查看rc
[root@master tomcat-mysql]# kubectl get rc
NAME DESIRED CURRENT READY AGE
myweb 1 1 1 5h
查看svc
[root@master tomcat-mysql]# kubectl get svc
NAME CLUSTER-IP EXTERNAL-IP PORT(S) AGE
kubernetes 10.254.0.1 <none> 443/TCP 9d
myweb 10.254.255.33 <nodes> 8080:30001/TCP 5h
查看pod:
[root@master tomcat-mysql]# kubectl get pods -o wide
NAME READY STATUS RESTARTS AGE IP NODE
myweb-ljbs3 1/1 Running 0 5h 10.255.50.2 node2
mysql配置文件:
ReplicationController配置文件
[root@master tomcat-mysql]# vim mysql-rc.yaml
apiVersion: v1
kind: ReplicationController
metadata:
name: mysql
spec:
replicas: 1
selector:
app: mysql
template:
metadata:
labels:
app: mysql
spec:
containers:
- name: mysql
image: docker.io/mysql:5.6
imagePullPolicy: IfNotPresent
ports:
- containerPort: 3306
env:
- name: MYSQL_ROOT_PASSWORD
value: "123456"
Service配置文件
[root@master tomcat-mysql]# vim mysql-scv.yaml
apiVersion: v1
kind: Service
metadata:
name: mysql
spec:
ports:
- port: 3306
selector:
app: mysql
启动:
[root@master tomcat-mysql]# kubectl create -f mysql-rc.yaml
[root@master tomcat-mysql]# kubectl create -f mysql-scv.yaml
查看rc:
[root@master tomcat-mysql]# kubectl get rc
NAME DESIRED CURRENT READY AGE
mysql 1 1 1 5h
myweb 1 1 1 5h
查看svc:
[root@master tomcat-mysql]# kubectl get svc
NAME CLUSTER-IP EXTERNAL-IP PORT(S) AGE
kubernetes 10.254.0.1 <none> 443/TCP 9d
mysql 10.254.54.88 <none> 3306/TCP 5h
myweb 10.254.255.33 <nodes> 8080:30001/TCP 5h
查看pod:
[root@master tomcat-mysql]# kubectl get pods -o wide
NAME READY STATUS RESTARTS AGE IP NODE
mysql-7gs8v 1/1 Running 0 5h 10.255.84.3 node1
myweb-ljbs3 1/1 Running 0 5h 10.255.50.2 node2
pod-pvc 1/1 Running 1 3d 10.255.84.2 node1
访问:
myweb 服务对外的端口是 30001
访问 http:192.168.91.26:30001/demo/
访问 http:192.168.91.27:30001/demo/
注意:
若mysql的镜像是最新的话访问不了,最新的mysql镜像是mysql8以后的,建议使用mysql5.6或者5.7版本,我这里使用的是mysql5.6版本。
kubernetes案例 tomcat+mysql的更多相关文章
- [k8s] 最简单的集群小案例-记录本(tomcat+mysql)
启动一个简单的集群: tomcat+mysql myweb-pod.yaml apiVersion: v1 kind: Pod metadata: name: myweb labels: app: m ...
- java web(一) 使用sql标签库+tomcat+mysql手动创建一个jsp练习总结
2016-09-0111:06:53 使用sql标签库+tomcat+mysql手动创建一个jsp 1. 1.1安装tomcat ...
- linux 下 jdk+tomcat+mysql 的 jsp 环境搭建
JDK 在 linux 下安装 1. 把安装文件放在 /opt 下,并执行 [root@localhost opt]# ./jdk-1_5_0_06-linux-i586.bin 并 ...
- Cent OS服务器配置(JDK+Tomcat+MySQL)
本文摘自:Cent OS服务器配置(JDK+Tomcat+MySQL) 学习tar解压 解压 tar 文件 tar -zxvf apache-tomcat-6.0.35.tar.gz tomcat ...
- mac在 aliyun linux ecs实例上安装 jdk tomcat mysql
用了一个ftp 工具 把 gz rpm 等 传递到ecs 上 -- 用这个Transmit 用ssh远程登录,然后依次安装 jdk tomcat mysql 到 /usr/local/... 设置环 ...
- 以Tomcat+Mysql为例,实现Docker多容器连接
Docker提供了多个容器直接访问的方法,最简单的方式是直接使用端口映射-p参数指定映射的端口或者-P映射所有端口,多个容器直接通过网络端口进行访问. 但网络端口映射方式并不是Docker中连接多个容 ...
- Linux安装Jdk Tomcat MySQL
Jdk安装 Tomcat安装 Mysql安装 Jdk安装 官网下载 http://www.oracle.com/technetwork/java/javase/downloads/index.html ...
- Docker 搭建 Tomcat + Mysql
Docker 搭建 Tomcat + Mysql 准备 虚拟机 虚拟机安装Docker 在纯净的Centos镜像上搭建 Centos镜像准备 虚拟机上拉取 Centos 镜像: docker pull ...
- 在腾讯云&阿里云上部署JavaWeb项目(Tomcat+MySQL)
之前做项目都是在本地跑,最近遇到需要在在云服务器(阿里云或者腾讯云都可以,差不多)上部署Java Web项目的问题,一路上遇到了好多坑,在成功部署上去之后写一下部署的步骤与过程,一是帮助自己总结记忆, ...
随机推荐
- redis5.0集群配置
介绍 redis自3.0版本以来支持主从模式的集群,可用哨兵监控集群健康状态,但这种方式的集群很不成熟,数据备份需要全量拷贝.在之后的版本才真正支持集群分片. 在redis5.0中去除了以redis- ...
- Sql Server有主外键关系时添加、删除数据
当表之间有主外键关系时删除数据会被约束,添加.删除失败 解决办法,我们可以先把主外键关系的检查约束给关掉 → 然后删除数据 → 之后再把约束打开 查询出关掉所有外键约束的语句 SELECT 'ALTE ...
- 题解 P3378 【【模板】堆】
Update 18.2.27----想当年我还用着C..... 看到题解里一堆用C++ STL库中的优先队列,身为C语言选手心里不是滋味 故手打一个优先队列献给坚守在C语言的选手 #include & ...
- sql 批量插入
create PROCEDURE insertinto as begindeclare @id int;set @id=1;while @id<10begininsert into perso ...
- optparser模块 与 ZIP爆破(Python)
optparser模块: 为脚本传递命令参数. 初始化: 带 Usage 选项(-h 的显示内容 Usage:): >>> from optparse import OptionPa ...
- iOS音频频谱动画,仿QQ录音频谱
先上效果图: display.gif 有需要的请移步GitHub下载: https://github.com/HuangGY1993/GYSpectrum 用法很简单,示例: SpectrumView ...
- nuxt中全局引入element-ui
介绍 对于一个前端小白来说,使用一套已有的框架作为基础,可以达到事半功倍的效果,在这里我们选择Element.Element,一套为开发者.设计师和产品经理准备的基于 Vue 2.0 的桌面端组件库( ...
- 如何在SAP Kyma的控制台里扩展新的UI
方法是创建一个新的resource,类型为ClusterMicroFrontend. 使用命令行kubectl get ClusterMicroFrontend查看这些UI扩展: 最后自定义的UI出现 ...
- Java基础加强-泛型
/*泛型*/ (泛型是给编译器看的) 泛型是提供给 /*javac编译器使用的*/,可以限定集合中的输入类型,让编译器挡住源程序中的非法输入,编译器编译带类型带类型说明的集合时,会去掉 "类 ...
- Hadoop错误:PipeMapRed.waitOutputThreads(): subprocess failed with code 1
有一种原因是python文件中有语法或逻辑错误