您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

在Kubernetes上的Tomcat中部署WAR

在Kubernetes上的Tomcat中部署WAR

您可以使用tomcat docker官方映像

在您Dockerfile只需将war文件复制到/usr/local/tomcat/webapps/目录中:

FROM tomcat

COPY app.war /usr/local/tomcat/webapps/

建立它:

docker build --no-cache -t <REGISTRY>/<IMAGE>:<TAG> .

构建映像后,将其推送到您选择的Docker注册表中。

docker push <REGISTRY>/<IMAGE>:<TAG>

1)这是您的tomcat映像的简单kubernetes部署

apiVersion: apps/v1
kind: Deployment
Metadata:
  name: tomcat-deployment
  labels:
    app: tomcat
spec:
  replicas: 1
  selector:
    matchLabels:
      app: tomcat
  template:
    Metadata:
      labels:
        app: tomcat
    spec:
      containers:
      - name: tomcat
        image: <REGISTRY>/<IMAGE>:<TAG>
        ports:
        - containerPort: 8080

此部署定义将基于您的tomcat映像创建一个pod。

将其放在yml文件中并执行kubectl create -f yourfile.yml以创建它。

2)创建服务

kind: Service
apiVersion: v1
Metadata:
  name: tomcat-service
spec:
  selector:
    app: tomcat
  ports:
  - protocol: TCP
    port: 80
    targetPort: 8080

您现在可以使用http://tomcat-service.your-namespace/app访问集群中的Pod(因为您的战争称为app.war

3)如果您具有Ingress控制器,则可以创建一个Ingress资源,以将应用程序公开到集群之外:

apiVersion: extensions/v1beta1
kind: Ingress
Metadata:
  name: tomcat-ingress
  annotations:
    Nginx.ingress.kubernetes.io/rewrite-target: /
spec:
  rules:
  - http:
      paths:
      - path: /app
        backend:
          serviceName: tomcat-service
          servicePort: 80

现在使用http:// ingress-controller-ip / app访问该应用程序

dotnet 2022/1/1 18:16:12 有560人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶