0
点赞
收藏
分享

微信扫一扫

27. 移除元素

探头的新芽 2023-12-17 阅读 38

1. Java web应用的容器化发布

1.1 环境准备

为了与其他Pod隔离,新建一个命名空间。

kubectl create namespace java-web

1.2 启动MySQL服务

1)创建MySQL定义文件sql-rc.yaml,用于启动MySQL服务。

apiVersion: v1 
kind: ReplicationController
metadata:
 name: mysql
 namespace: java-web 
spec:
 replicas: 1
 selector:
  app: mysql
 template:
  metadata:
   labels:
    app: mysql
  spec:
   containers:
   - name: mysql
     image: mysql:5.7
     ports:
     - containerPort: 3306
     env:
     - name: MYSQL_ROOT_PASSWORD
       value: "123456"

上述文件中的spec.template.metadata.labels指定了该Pod的标签。

2)将其发布到Kubernetes集群

kubectl create -f sql-rc.yaml

在这里插入图片描述

查看pod信息

kubectl get pods -n java-web

在这里插入图片描述

3)创建关联的Service定义文件,并执行create命令

vim sql-svc.yaml

apiVersion: v1
kind: Service
metadata:
 name: mysql
 namespace: java-web
spec:
 ports:
  - port: 3306
    targetPort: 3306
 selector:
  app: mysql

vim kubectl create -f sql-svc.yaml

在这里插入图片描述

1.3 启动Tomcat应用

1)创建Tomcat

编写Tomcat对应的文件web-rc.yaml

vim web-rc.yaml

apiVersion: v1
kind: ReplicationController
metadata:
 name: tomcat
 namespace: java-web
spec:
 replicas: 1
 selector:
  app: tomcat
 template:
  metadata:
   labels:
    app: tomcat
  spec:
   containers:
    - name: tomcat
      image: docker.io/kubeguide/tomcat-app:v1
      ports:
      - containerPort: 8080
      env:
       - name: MYSQL_SERVICE_HOST
         value: 10.104.44.202
       - name: MYSQL_SERVICE_PORT
         value: '3306'

创建Tomcat

kubectl create -f web-rc.yaml

2)创建Tomcat对应的Service

在文件中设置端口转发项,将容器的8080端口转发到本地的30000端口。

apiVersion: v1
kind: Service
metadata:
 name: tomcat
 namespace: java-web
spec:
 type: NodePort
 ports:
  - port: 8080
    targetPort: 8080
    nodePort: 30000
 selector:
  app: tomcat

执行kubectl create命令进行创建,并查看创建的Service

kubectl create -f web-svc.yaml

kubectl get pods -n java-web

在这里插入图片描述

5)查看服务部署的位置

kubectl get pod -n java-web -o wide

在这里插入图片描述

可以看到,mysql和tomcat都被部署到slave2上,所以在浏览器输入slave2的IP地址:30000/demo访问即可。

在这里插入图片描述

单击add按钮可向数据库添加数据。

在这里插入图片描述

举报

相关推荐

0 条评论