容器与集群——通过deployment 创建pod以及Java Web应用的容器化发布

发布时间 2023-12-04 20:02:01作者: Changersh

## 一、通过deployment 创建pod

1.1 编写yaml文件

image-20231204183004411

1.2 安装pod

  1. 创建kubectl create -f dp-nginx.yamlimage-20231204183109926

  2. 查看Deployment信息

    image-20231204183320595

1.3 查看相关信息

  1. 查看pod信息kubecel get pods

    image-20231204183257194

  2. 查看rs信息

    image-20231204183249114

二、Java Web应用的容器化发布

1. 环境准备

  1. 部署K8s集群并启动。

  2. 为了与其他pod隔离,创建命名空间:java-web

    kubectl create namespace java-web

2. 启动Mysql服务

  1. 创建mysql定义文件:sql-rc.yaml

    image-20231204184059052

  2. 将yaml文件发布到k8s集群

    kubectl create -f sql-rc.yaml

    image-20231204185322762

    yaml文件中已经指定了命名空间。

  3. 查看pod信息

    image-20231204185520005

  4. 创建关联的service定义文件:sql-svc.yaml

    image-20231204185446645

  5. 创建service

    kubectl create -f sql-svc.yaml

    image-20231204185845806

3. 启动Tomcat应用

  1. 创建对应文件:web-rc.yaml

    image-20231204185941107

  2. 使用命令创建Tomcat

    image-20231204190104163

    image-20231204190438700

  3. 查看java-web命名空间中创建的资源的状态

    mysql的网址,之后可能有用(如果打不开网页的MySQL的话)

    image-20231204190535456

  4. 查看pod所在的node

    一定要用命令查看一下pod是哪个主机创建的,后面打开网页需要指定ip

    kubectl get pods -n java-web -o wide

    image-20231204194202918

  5. 通过浏览器访问网页

    image-20231204194335216

  6. http://192.168.10.182:30000/demo进不去

    要修改web-rc.yaml中:MYSQL_SERVICE_HOST的value,改成第三步的ip。

    然后重启web-rc.yaml即可

    kubectl replace --force -f web-rc.yaml
    kubectl replace --force -f web-svc.yaml
    

    注意这时候的node可能会改变,再看看

    image-20231204194846604

  7. 通过浏览器访问网页

    image-20231204194919270