该文章参考《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的更多相关文章

  1. [k8s] 最简单的集群小案例-记录本(tomcat+mysql)

    启动一个简单的集群: tomcat+mysql myweb-pod.yaml apiVersion: v1 kind: Pod metadata: name: myweb labels: app: m ...

  2. java web(一) 使用sql标签库+tomcat+mysql手动创建一个jsp练习总结

    2016-09-0111:06:53                                     使用sql标签库+tomcat+mysql手动创建一个jsp 1. 1.1安装tomcat ...

  3. linux 下 jdk+tomcat+mysql 的 jsp 环境搭建

    JDK 在 linux 下安装 1.          把安装文件放在 /opt 下,并执行 [root@localhost opt]# ./jdk-1_5_0_06-linux-i586.bin 并 ...

  4. Cent OS服务器配置(JDK+Tomcat+MySQL)

    本文摘自:Cent OS服务器配置(JDK+Tomcat+MySQL) 学习tar解压 解压 tar 文件 tar -zxvf apache-tomcat-6.0.35.tar.gz tomcat   ...

  5. mac在 aliyun linux ecs实例上安装 jdk tomcat mysql

    用了一个ftp 工具 把 gz rpm 等 传递到ecs 上 -- 用这个Transmit 用ssh远程登录,然后依次安装 jdk tomcat  mysql 到 /usr/local/... 设置环 ...

  6. 以Tomcat+Mysql为例,实现Docker多容器连接

    Docker提供了多个容器直接访问的方法,最简单的方式是直接使用端口映射-p参数指定映射的端口或者-P映射所有端口,多个容器直接通过网络端口进行访问. 但网络端口映射方式并不是Docker中连接多个容 ...

  7. Linux安装Jdk Tomcat MySQL

    Jdk安装 Tomcat安装 Mysql安装 Jdk安装 官网下载 http://www.oracle.com/technetwork/java/javase/downloads/index.html ...

  8. Docker 搭建 Tomcat + Mysql

    Docker 搭建 Tomcat + Mysql 准备 虚拟机 虚拟机安装Docker 在纯净的Centos镜像上搭建 Centos镜像准备 虚拟机上拉取 Centos 镜像: docker pull ...

  9. 在腾讯云&阿里云上部署JavaWeb项目(Tomcat+MySQL)

    之前做项目都是在本地跑,最近遇到需要在在云服务器(阿里云或者腾讯云都可以,差不多)上部署Java Web项目的问题,一路上遇到了好多坑,在成功部署上去之后写一下部署的步骤与过程,一是帮助自己总结记忆, ...

随机推荐

  1. (十)springmvc之文件的处理

    一.同步上传文件 导入common-fileupload这个jar包. 配置     springmvc-servlet.xml <?xml version="1.0" en ...

  2. linux gcc安装

    2004年4月20日最新版本的GCC编译器3.4.0发布了.目前,GCC可以用来编译C/C++.FORTRAN.java.OBJC.ADA等语言的程序,可根据需要选择安装支持的语言.GCC 3.4.0 ...

  3. Python练习_高阶函数_day11

    1,写函数,传入n个数,返回字典{‘max’:最大值,’min’:最小值} 例如:min_max(2,5,7,8,4) 返回:{‘max’:8,’min’:2}(此题用到max(),min()内置函数 ...

  4. 文件导出Excel、Word、Pdf

    如果要将查询结果导出Excel,只要将页面的Context-Type修改下: header( "Content-Type: application/vnd.ms-excel"> ...

  5. js通俗易懂的&&与||或运算

    使用&&将返回第一个条件为假的值. 如果每个操作数的计算值都为true, 则返回最后一个计算过的表达式. let one = 1, two = 2, three = 3;console ...

  6. js实现千位分隔符

    var s=123456789; var seperate=s.toString().replace(/\B(?=(\d{3})+$)/g,',');

  7. 【转载】salesforce 零基础开发入门学习(六)简单的数据增删改查页面的构建

    salesforce 零基础开发入门学习(六)简单的数据增删改查页面的构建   VisualForce封装了很多的标签用来进行页面设计,本篇主要讲述简单的页面增删改查.使用的内容和设计到前台页面使用的 ...

  8. 【python】python 自动发邮件

    一.一般发邮件的方法 Python对SMTP支持有smtplib和email两个模块,email负责构造邮件,smtplib负责发送邮件. 注意到构造MIMETEXT对象时,第一个参数就是邮件正文,第 ...

  9. IDEA 导入jar包

    项IDEA的项目中导入下载好的jar包: 在intelij IDEA 中,点击File-Project Structure,出现界面的左侧点击Modules,然后点击“+”. 然后找到你要导入的jar ...

  10. InnoDB引擎中的索引与算法9

    5.1 InnoDB支持以下几种常见的索引: B+树索引 全文索引 哈希索引(自适应哈希索引) 关于哈希索引的说明: -- 1.InnoDB的哈希索引是自适应的,其根据表的使用情况自动生成哈希索引,不 ...