k8s中部署Java项目的流程

● ① 通过Dockerfile制作镜像。
● ② 将镜像推送到镜像仓库,比如阿里云镜像仓库等。
● ③ Pod控制器部署镜像。
● ④ 创建Service或Ingress对外暴露应用。
● ⑤ 对集群进行监控、升级等。

k8s中部署Java项目

制作镜像

  1. 准备java项目,然后打包得到对应的jar包 — 这一步演示过程省略
  2. 在项目的根目录下新建Dockerfile文件:
FROM java:8
VOLUME /tmp
ADD demo-0.0.1-SNAPSHOT.jar /tmp/dc.jar
EXPOSE 8080
CMD java -jar /tmp/dc.jar

制作镜像

# spring是 镜像的名称,1.0是版本,镜像名 不能 有大写字母
docker build -t spring:1.0 .

推送镜像

在这里插入图片描述
往下拉
在这里插入图片描述
在这里插入图片描述

阿里云创建命名空间
点击个人实例

在这里插入图片描述

阿里云创建镜像仓库
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

部署镜像暴露应用

创建deployment.yaml文件,内容如下:

apiVersion: apps/v1
kind: Deployment  # 创建控制器,通过控制器创建Pod
metadata:
  labels:
    app: spring # 该控制器的label
  name: spring
spec:
  replicas: 1
  selector:
    matchLabels:
      app: spring # 选择哪个Pod
  template:
    metadata:
      labels:
        app: spring # 为这个Pod打上标签,方便控制器管理
    spec:
      containers:
      - image: registry.cn-hangzhou.aliyuncs.com/k8s-dc/spring:1.0 # 远程镜像名
        name: spring


创建Deployment:

kubectl apply -f deployment.yaml

查看Deployment和Pod

kubectl get deploy,pod

在这里插入图片描述

创建service.yaml文件,内容如下

apiVersion: v1
kind: Service
metadata:
  labels:
    app: spring
  name: svc
spec:
  ports:
  - port: 8080 # service的端口
    protocol: TCP
    targetPort: 8080  # Pod端口
    nodePort: 30091 # 外部访问端口
  selector:
    app: spring
  type: NodePort

创建Service:

kubectl apply -f service.yaml

查看Service:

kubectl get service

在这里插入图片描述

访问
在这里插入图片描述
完成部署!

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐