這個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/介面