6-3 springboot的web服务迁移kubernetes
将文件springboot-web-demo上传到服务器
执行编译
mvn package
找一台8080端口没有被占用的机子运行命令 启动测试
java -jar springboot-web-demo-1.0-SNAPSHOT.jar
访问界面
http://192.168.10.96:8080/hello?name=jiaminxu
编辑Dockerfile
FROM openjdk:8-jre-alpine COPY springboot-web-demo-1.0-SNAPSHOT.jar /springboot-web.jar ENTRYPOINT ["java", "-jar", "/springboot-web.jar"]
打出镜像
docker build -t springboot-web:v1 .
根据镜像启动容器
docker run -it springboot-web:v1
给镜像打tag 并上传harbor
docker tag springboot-web:v1 harbor.pdabc.com/kubernetes/springboot-web:v1
docker push harbor.pdabc.com/kubernetes/springboot-web:v1
在master上创建springboot-web.yaml
#deploy
apiVersion: apps/v1
kind: Deployment
metadata:
name: springboot-web-demo
spec:
selector:
matchLabels:
app: springboot-web-demo
replicas: 1
template:
metadata:
labels:
app: springboot-web-demo
spec:
containers:
- name: springboot-web-demo
image: harbor.pdabc.com/kubernetes/springboot-web:v1
ports:
- containerPort: 8080
---
#service
apiVersion: v1
kind: Service
metadata:
name: springboot-web-demo
spec:
ports:
- port: 80
protocol: TCP
targetPort: 8080
selector:
app: springboot-web-demo
type: ClusterIP
---
#ingress
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: springboot-web-demo
spec:
rules:
- host: springboot.pdabc.com
http:
paths:
- path: /
backend:
serviceName: springboot-web-demo
servicePort: 80
启动
kubectl apply -f springboot-web.yaml
查看pods
kubectl get pods
修改主机hosts 使域名springboot.pdabc.com指向为ingress绑定的node 192.168.10.52
访问http://springboot.pdabc.com/hello?name=jiaminxu