Kubernetes中部署Spring Boot项目(七)

这个springboot项目打包过程我就不说了,很基础;下面我直接从写Dockerfile文件开始,如果不知道Dockerfile文件是什么的可以去看下我写的几篇docker的文章

一、创建文件夹

mkdir springboot-demo
cd springboot-demo

二、创建Dockerfile文件

vi Dockerfile

将下面文件复制进去

ROM openjdk:8-jre-alpine
COPY springboot-demo-0.0.1-SNAPSHOT.jar /springboot-demo.jar
ENTRYPOINT ["java","-jar","/springboot-demo.jar"]

三、根据Dockerfile创建image

docker build -t springboot-demo-image .

四、使用docker run创建container

docker run -d --name s1 springboot-demo-image

五、访问测试

docker inspect s1
curl ip:8080/k8s

六、将镜像推送到镜像仓库

我自己电脑没有创建私服的镜像仓库,所以我上传到我自己的阿里云镜像仓库了,如果想创建私服也可以看我的docker文章,里面也有说明怎么创建

登录阿里云镜像仓库

docker login --username=xxxx@qq.com registry.cn-hangzhou.aliyuncs.com

打tag标签

docker tag springboot-demo-image:v1.0 ghy/springboot-demo-image:v1.0

上传阿里云

docker push ghy/springboot-demo-image:v1.0

七、编写Kubernetes配置文件

vi springboot-demo.yaml
# 以Deployment部署Pod
apiVersion: apps/v1
kind: Deployment
metadata: 
  name: springboot-demo
spec: 
  selector: 
    matchLabels: 
      app: springboot-demo
  replicas: 1
  template: 
    metadata:
      labels: 
        app: springboot-demo
    spec: 
      containers: 
      - name: springboot-demo
        image: ghy/springboot-demo-image:v1.0
        ports: 
        - containerPort: 8080
---
# 创建Pod的Service
apiVersion: v1
kind: Service
metadata: 
  name: springboot-demo
spec: 
  ports: 
  - port: 80
    protocol: TCP
    targetPort: 8080
  selector: 
    app: springboot-demo
---
# 创建Ingress,定义访问规则,一定要记得提前创建好nginx ingress controller
apiVersion: extensions/v1beta1
kind: Ingress
metadata: 
  name: springboot-demo
spec: 
  rules: 
  - host: k8s.demo
    http: 
      paths: 
      - path: /
        backend: 
          serviceName: springboot-demo
          servicePort: 80

执行命令执行脚本

kubectl apply -f springboot-demo.yaml

八、查看资源

查看资源命令

kubectl get pods
kubectl get pods -o wide
kubectl get svc

查看访问的域名,会看到hosts上的域名

kubectl get ingress

九、win配置hosts文件

 192.168.0.61 k8s.demo

十、win浏览器访问

http://k8s.demo/接口

 

posted @ 2022-01-26 09:00  童话述说我的结局  阅读(391)  评论(0编辑  收藏  举报