[kubernetes]6-3/4 springboot的web服务迁移kubernetes
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