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项目的问题,一路上遇到了好多坑,在成功部署上去之后写一下部署的步骤与过程,一是帮助自己总结记忆, ...
随机推荐
- 在论坛中出现的比较难的sql问题:8(递归问题 树形结构分组)
原文:在论坛中出现的比较难的sql问题:8(递归问题 树形结构分组) 最近,在论坛中,遇到了不少比较难的sql问题,虽然自己都能解决,但发现过几天后,就记不起来了,也忘记解决的方法了. 所以,觉得有必 ...
- CAS客户端认证流程
CAS登陆流程 Step 1:浏览器向CAS客户端发起登陆请求,CAS客户端生成“登陆URL”,并把浏览器重定向到该URL 登陆URL: https://${cas-server-host}:${ca ...
- vue路由(一)
“vue.js 路由允许我们通过不同的 URL 访问不同的内容.通过 Vue.js 可以实现多视图的单页Web应用(single page web application,SPA)”这段是从网上直接抄 ...
- MySQL全同步复制基于GR集群架构实现(Centos7)
目录 一. 理论概述 概述 二. 部署 向组加入新节点 测试 三.总结 一. 理论概述 概述 本案例操作的是针对于MySQL的复制类型中的全同步复制,对几种复制类型简单总结下: 异步复制:MySQL默 ...
- Java基于Redis的分布式锁
分布式锁,其实最终还是要保证锁(数据)的一致性,说到数据一致性,基于ZK,ETCD数据一致性中间件做分数是锁,才是王道.但是Redis也能满足最基本的需求. 参考: https://www.cnblo ...
- gdb无法单步调试
使用gdb调试单步程序时如果打印提示“single stepping until exit from function xxx,which has no line number information ...
- CentOs Linux 对于Django uwsgi + Nginx 的安装与部署
Django Nginx+uWSGI 安装配置 链接:
- 深度解析Graph Embedding
Graph Embedding是推荐系统.计算广告领域最近非常流行的做法,是从word2vec等一路发展而来的Embedding技术的最新延伸:并且已经有很多大厂将Graph Embedding应用于 ...
- java学习笔记15-封装
把属性(成员变量)设置为私有(private),把方法设置为共有的(public),假如外界想要得到或者改变某个属性,只能通过方法来办到,这其实是封装的思想之一. 新建一个Student类,这个类有几 ...
- gdb设置条件断点
b +行号 if i==9:设置条件断点 finish:执行到当前函数返回处(退出函数) bt:打印栈帧关系