springboot打包成docker用k8s部署

环境信息

华为云Ubuntu:
自己搭建的k8s

创建springboot应用

保证本地能正常运行:

java -jar cngdut-1.0-SNAPSHOT.jar

编写Dockerfile文件

Dockerfile
FROM openjdk:8-alpine

COPY ./target/cngdut-1.0-SNAPSHOT.jar /app/cngdut-1.0-SNAPSHOT.jar

ENTRYPOINT ["java", "-jar" , "/app/cngdut-1.0-SNAPSHOT.jar"]
上传到服务器中构建镜像
docker build ./ -t k8sdemo:v1

springboot打包成docker用k8s部署_第1张图片

查看镜像

docker images

springboot打包成docker用k8s部署_第2张图片
运行镜像

docker run -d -p 8080:8080 --name myk8sdemo k8sdemo:v1
编写deploy资源文件k8sdemo.yaml
apiVersion: apps/v1  #kubectl api-versions 可以通过这条指令去看版本信息
kind: Deployment # 指定资源类别
metadata: #资源的一些元数据
  name: k8sdemo-deployment #deloyment的名称
  labels:
    app: k8sdemo  #标签
spec:
  replicas: 2 #创建pod的个数
  selector:
    matchLabels:
      app: k8sdemo #满足标签为这个的时候相关的pod才能被调度到
  template:
    metadata:
      labels:
        app: k8sdemo
    spec:
      containers:
        - name: k8sdemo
          image: k8sdemo:v1
          imagePullPolicy: IfNotPresent
          ports:
            - containerPort: 8080

k8s部署

kubectl apppy -f k8sdemo.yaml

在这里插入图片描述
暴露端口

kubectl expose deployment k8sdemo-deployment --type=NodePort

在这里插入图片描述
访问链接

http://x.x.x.193:30761/hello

springboot打包成docker用k8s部署_第3张图片

参考文档:
https://blog.csdn.net/weixin_36380516/article/details/121154981

你可能感兴趣的:(k8s,spring,boot,docker,kubernetes)