K8s编排部署java应用

K8s编排部署java应用

创建Dockerfile文件并提前下载jar包

[root@master kubenetres]# ls
Dockerfile  halo-1.3.1.jar 
[root@master kubenetres]# vim Dockerfile 
[root@master kubenetres]# cat Dockerfile 
FROM openjdk:18-jdk-alpine3.15

COPY halo-1.3.1.jar /usr/local/halo-1.3.1.jar 

ENTRYPOINT ["java","-jar","/usr/local/halo-1.3.1.jar"]

制作镜像

[root@master kubenetres]# docker build -f Dockerfile -t test3:1.0 .
Sending build context to Docker daemon  75.21MB
Step 1/3 : FROM openjdk:18-jdk-alpine3.15
 ---> c89120dcca4c
Step 2/3 : COPY halo-1.3.1.jar /usr/local/halo-1.3.1.jar
 ---> adcaca1f84da
Step 3/3 : ENTRYPOINT ["java","-jar","/usr/local/halo-1.3.1.jar"]
 ---> Running in 735e9129e585
Removing intermediate container 735e9129e585
 ---> 77fc7bd4fe43
Successfully built 77fc7bd4fe43
Successfully tagged test3:1.0

#更改镜像名称
[root@master kubenetres]# docker tag test3:1.0 1225514226/javatest:v0.1

[root@master k
使用 K8s 编排部署 Docker 容器可按以下方式进行: #### 构建 Docker 镜像 使用 Docker 将应用程序及其依赖项打包成镜像。以 Spring Boot 项目为例,编写 Dockerfile 构建镜像: ```dockerfile # 基础镜像 FROM openjdk:11.0-jre-buster # 设定时区 ENV TZ=Asia/Shanghai RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone # 拷贝jar包 COPY Hello.jar /app.jar # 入口 ENTRYPOINT ["java", "-jar", "/app.jar"] ``` 然后使用以下命令构建并推送镜像到镜像仓库(如 Harbor): ```bash docker build -t my-docker-image:latest . docker push my-docker-image:latest ``` #### 创建 Kubernetes 资源配置文件 Kubernetes 通过 YAML 或 JSON 文件来定义资源对象,以下是一个 Deployment 和 Service 的示例: ```yaml apiVersion: apps/v1 kind: Deployment metadata: name: my-app-deployment spec: replicas: 3 selector: matchLabels: app: my-app template: metadata: labels: app: my-app spec: containers: - name: my-app-container image: my-docker-image:latest ports: - containerPort: 80 --- apiVersion: v1 kind: Service metadata: name: my-app-service spec: selector: app: my-app ports: - protocol: TCP port: 80 targetPort: 80 type: LoadBalancer ``` #### 部署Kubernetes 集群 使用 `kubectl` 命令将上述配置文件部署Kubernetes 集群: ```bash kubectl apply -f deployment.yaml ``` #### 集成自动化工具 可以使用 Jenkins 等工具实现自动化部署。在 Jenkins 中使用 Kubernetes 插件管理 Kubernetes 集群,使用 Docker 插件构建 Docker 镜像。通过 Pipeline 脚本定义自动化部署流程,包含拉取代码、构建镜像、部署Kubernetes 等步骤[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值