Kubernetes中部署Spring Boot項目(七)
- 2022 年 1 月 26 日
- 筆記
- Kubernetes
這個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 [email protected] 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瀏覽器訪問
//k8s.demo/介面