mvn `-Dmaven.test.skip=true package
Copiar Dockerfile para diretório target
Incluir tag de versão, no exemplo :1
docker build . -t thiagorizzo/meu-app-spring:1
Forwarding de porta de 90 para porta 8080 no container
docker run -p 90:8080 -t thiagorizzo/meu-app-spring:1
docker login
docker push thiagorizzo/meu-app-spring:1
Deve especificar qual tag de versão utilizar no container em image
apiVersion: apps/v1
kind: Deployment
metadata:
name: meu-app-spring
labels:
app: meu-app-spring
spec:
replicas: 3
selector:
matchLabels:
app: meu-app-spring
template:
metadata:
labels:
app: meu-app-spring
spec:
containers:
- name: meu-app-spring
image: thiagorizzo/meu-app-spring:1
ports:
- containerPort: 8080
- kubectl apply -f .\deployment.yml
Cria forma de acesso externo através de uma porta específica, no caso, porta 30008.
Nesse caso, requisições a qualquer um node do cluster que possuam a porta destino 30008
serão direcionadas ao service meu-app-spring
na porta 8080.
apiVersion: v1
kind: Service
metadata:
name: meu-app-spring-service
spec:
type: NodePort
selector:
app: meu-app-spring
ports:
- port: 8080
targetPort: 8080
nodePort: 30008
-
kubectl apply -f .\nodeport.yml
-
http://IP_DE_QUALQUER_NODE:30008/cliente
Apresenta histórico de revisões do deployment
kubectl rollout history deployments/meu-app-spring
kubectl rollout undo deployments/meu-app-spring
kubectl rollout history deployments/meu-app-spring --revision=1