Docker 货柜码头工人;Kubernetes apache tomcat 8.5.56 http状态404

Docker 货柜码头工人;Kubernetes apache tomcat 8.5.56 http状态404,docker,tomcat,kubernetes,Docker,Tomcat,Kubernetes,请注意,我正在docker容器中运行apache tomcat 8.5.56上的.war应用程序,一切正常,但是当我在Kubernetes上创建deploy容器时,我可以访问我的应用程序欢迎页面:我收到了错误消息 HTTP状态404–未找到 类型状态报告 消息请求的资源[/SmartClass]不可用 说明源服务器找不到目标资源的当前表示形式,或者不愿意透露存在该表示形式。 ApacheTomcat/8.5.56 拜托,有人知道怎么解决吗 对于部署,我刚刚将.war文件复制到 /opt/apa

请注意,我正在docker容器中运行apache tomcat 8.5.56上的.war应用程序,一切正常,但是当我在Kubernetes上创建deploy容器时,我可以访问我的应用程序欢迎页面:我收到了错误消息

HTTP状态404–未找到
类型状态报告
消息请求的资源[/SmartClass]不可用
说明源服务器找不到目标资源的当前表示形式,或者不愿意透露存在该表示形式。
ApacheTomcat/8.5.56
拜托,有人知道怎么解决吗

对于部署,我刚刚将.war文件复制到
/opt/apache-tomcat/webapps/
并且我已经将我的server.xml文件复制到了
/opt/apache-tomcat/conf/
中。看起来问题与应用程序的连接有关

  • 创建公开Tomcat部署的服务对象:

    kubectl公开部署tomcat示例--type=NodePort--name=example服务
    
  • 显示有关服务的信息:

    kubectl描述服务示例服务
    
    输出与此类似:

    Name:示例服务
    名称空间:默认值
    标签:run=lexample
    注释:
    选择器:run=example
    类型:节点端口
    IP:10.32.0.16
    端口:8080/TCP
    目标端口:8080/TCP
    节点端口:30000/TCP
    终点:10.200.1.4:8080,10.200.2.5:8080
    会话关联:无
    活动:
    
    记下服务的NodePort值。例如,在前面的输出中,NodePort值为30000

  • 列出运行Tomcat应用程序的POD:

    kubectl get pods--selector=“run=example”--output=wide
    
    输出与此类似:

    名称就绪状态。。。IP节点
    tomcat-2895499144-bsbk5 1/1正在运行。。。10.200.1.4工人1
    tomcat-2895499144-m1pwt 1/1正在运行。。。10.200.2.5工人2
    
  • 获取运行Tomcat pod的一个节点的公共IP地址。如何获取此地址取决于如何设置群集。例如,如果您正在使用Minikube,则可以通过运行
    kubectl cluster info
    来查看节点地址。如果您使用的是Google计算引擎实例,则可以使用
    gcloud Compute instances list
    命令查看节点的公共地址

  • 在所选节点上,创建允许节点端口上TCP通信的防火墙规则。例如,如果您的服务的NodePort值为31568,请创建允许端口30000上TCP通信的防火墙规则。不同的云提供商提供了配置防火墙规则的不同方法

  • 使用节点地址和节点端口访问Hello World应用程序:

    curl http://:
    
    其中,
    是节点的公共IP地址,
    是服务的节点端口值。 请根据您使用的专有名称和值调整上述命令


  • 问题似乎与应用程序的连接有关

  • 创建公开Tomcat部署的服务对象:

    kubectl公开部署tomcat示例--type=NodePort--name=example服务
    
  • 显示有关服务的信息:

    kubectl描述服务示例服务
    
    输出与此类似:

    Name:示例服务
    名称空间:默认值
    标签:run=lexample
    注释:
    选择器:run=example
    类型:节点端口
    IP:10.32.0.16
    端口:8080/TCP
    目标端口:8080/TCP
    节点端口:30000/TCP
    终点:10.200.1.4:8080,10.200.2.5:8080
    会话关联:无
    活动:
    
    记下服务的NodePort值。例如,在前面的输出中,NodePort值为30000

  • 列出运行Tomcat应用程序的POD:

    kubectl get pods--selector=“run=example”--output=wide
    
    输出与此类似:

    名称就绪状态。。。IP节点
    tomcat-2895499144-bsbk5 1/1正在运行。。。10.200.1.4工人1
    tomcat-2895499144-m1pwt 1/1正在运行。。。10.200.2.5工人2
    
  • 获取运行Tomcat pod的一个节点的公共IP地址。如何获取此地址取决于如何设置群集。例如,如果您正在使用Minikube,则可以通过运行
    kubectl cluster info
    来查看节点地址。如果您使用的是Google计算引擎实例,则可以使用
    gcloud Compute instances list
    命令查看节点的公共地址

  • 在所选节点上,创建允许节点端口上TCP通信的防火墙规则。例如,如果您的服务的NodePort值为31568,请创建允许端口30000上TCP通信的防火墙规则。不同的云提供商提供了配置防火墙规则的不同方法

  • 使用节点地址和节点端口访问Hello World应用程序:

    curl http://:
    
    其中,
    是节点的公共IP地址,
    是服务的节点端口值。 请根据您使用的专有名称和值调整上述命令


  • 部署文件中永久存储的装入路径是什么?部署文件中永久存储的装入路径是什么?