Docker part
Вы можете использовать официальное изображение tomcat docker
В вашем Dockerfile
просто скопируйте ваш военный файл в каталог /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>
Kubernetes part
1) Вот простое kubernetes Deployment для вашего образа tomcat
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
Это определение развертывания создаст модуль на основе вашегоизображение кота.
Поместите его в файл 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 (потому что ваша война называется 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 /приложение