当前位置: 首页 > news >正文

java 在k8s中的部署流程

1.写Docker文件

FROM ubuntu:22.04ENV LANG='C.UTF-8' LC_ALL='C.UTF-8'RUN apt-get update \&& DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends tzdata curl ca-certificates fontconfig locales binutils \&& echo "C.UTF-8 UTF-8" >> /etc/locale.gen \&& locale-gen C.UTF-8 \&& rm -rf /var/lib/apt/lists/*ENV JAVA_HOME=/opt/java/dragonwell-17.0.14.0.15+7-GA \PATH="/opt/java/dragonwell-17.0.14.0.15+7-GA/bin:$PATH" \ JAVA_VERSION=jdk-17.0.14.0.15+7-GAADD Alibaba_Dragonwell_Standard_17.0.14.0.15.7_x64_linux.tar.gz /opt/java
#基础镜像完成WORKDIR /app
ADD autopick.tar.gz /opt/
ADD qt5.14.2.tar.gz /opt/qt/
COPY autoPointPick  /opt/autopick/binR 
ENV PATH=/opt/autopick/binR:$PATH \ LD_LIBRARY_PATH=/opt/autopick/lib/libR:/opt/autopick/lib/systemlib:/opt/qt/qt5.14.2/gcc_64/lib:/opt/qt/qt5.14.2/gcc_64/plugins
ENV JAVA_OPTS="-Xms128M -Xmx1G" \SPRING_PROFILE="default" \NACOS_SERVER_ADDR="nacos-server:8848" \NACOS_NAMESPACE="public" \NACOS_DISCOVERY_ENABLE="true" \NACOS_CONFIG_ENABLE="true" \NACOS_CONFIG_PREFIX="oa" \NACOS_FILE_EXTENSION="yaml"
COPY oa.jar /app/oa.jar
CMD java ${JAVA_OPTS} -jar /app/oa.jar \--spring.profiles.active=${SPRING_PROFILE} \--spring.cloud.nacos.discovery.enabled=${NACOS_DISCOVERY_ENABLE} \--spring.cloud.nacos.discovery.server-addr=${NACOS_SERVER_ADDR} \--spring.cloud.nacos.discovery.namespace=${NACOS_NAMESPACE} \--spring.cloud.nacos.config.enabled=${NACOS_CONFIG_ENABLE} \--spring.cloud.nacos.config.server-addr=${NACOS_SERVER_ADDR} \--spring.cloud.nacos.config.namespace=${NACOS_NAMESPACE} \--spring.cloud.nacos.config.prefix=${NACOS_CONFIG_PREFIX} \--spring.cloud.nacos.config.file-extension=${NACOS_FILE_EXTENSION}

2.构建镜像,并导出

docker build -t oa:20250709 .docker save -o oa.tar  oa:20250709

3.在k8s主节点执行的命令

docker load -i oa.tar
docker images
docker tag e5ce39743840 cr.registry.res.sgmc.sgcc.com.cn/beijing/oa:20250709
docker登录 
docker login --username=oa-1666080388355 cr.registry.res.sgmc.oacc.com.cn
docker push cr.registry.res.sgmc.sgcc.com.cn/beijing/oa:20250709

4.编写k8s yaml文件

apiVersion: apps/v1
kind: Deployment
metadata:name: oanamespace: defaultlabels:app: oa
spec:replicas: 1selector:matchLabels:app: oatemplate:metadata:labels:app: oa   spec:affinity:nodeAffinity:requiredDuringSchedulingIgnoredDuringExecution:nodeSelectorTerms:- matchExpressions:- key: kubernetes.io/hostnameoperator: Invalues:- bjdc-1.220.20.22.38containers:- name: aaimage: cr.registry.res.sgmc.oacc.com.cn/beijing/oa:20250709resources: requests: cpu: "500m"memory: "5Gi"limits: cpu: "500m"memory: "10Gi"env:- name: SPRING_PROFILEvalue: prod- name: NACOS_SERVER_ADDRvalue: nacos:8848ports:- containerPort: 80volumeMounts:- name: local-storagemountPath: /oss- name: pvc-ossmountPath: /oss-oavolumes:- name: local-storagehostPath:path: /mnt_oa- name: pvc-oss-oapersistentVolumeClaim:claimName: pvc-oss-oa
---
apiVersion: v1
kind: Service
metadata:name: oa
spec:selector:app: oaports:- protocol: TCPport: 80targetPort: 80

5.执行k8s命令

 kubectl apply -f aa.yaml
删除
kubectl delete -f aa.yaml


文章转载自:
http://airglow.zekgq.cn
http://airliner.zekgq.cn
http://apostolic.zekgq.cn
http://apoise.zekgq.cn
http://bejesus.zekgq.cn
http://acidification.zekgq.cn
http://caricous.zekgq.cn
http://blaw.zekgq.cn
http://bedload.zekgq.cn
http://calchas.zekgq.cn
http://checkback.zekgq.cn
http://applicative.zekgq.cn
http://cabrite.zekgq.cn
http://checkerboard.zekgq.cn
http://chanteyman.zekgq.cn
http://canister.zekgq.cn
http://adulteration.zekgq.cn
http://bepraise.zekgq.cn
http://calker.zekgq.cn
http://acaudal.zekgq.cn
http://centrifugal.zekgq.cn
http://bunkhouse.zekgq.cn
http://borage.zekgq.cn
http://ajog.zekgq.cn
http://biblical.zekgq.cn
http://archer.zekgq.cn
http://aery.zekgq.cn
http://amt.zekgq.cn
http://aso.zekgq.cn
http://barricado.zekgq.cn
http://www.dtcms.com/a/280253.html

相关文章:

  • LeetCode--46.全排列
  • 机器人位姿变换的坐标系相对性:左乘法则与右乘法则解析​
  • Kafka与Flink打造流式数据采集方案:以二手房信息为例
  • 如何把手机ip地址切换到外省
  • 【机器人】REGNav 具身导航 | 跨房间引导 | 图像目标导航 AAAI 2025
  • 用TensorFlow进行逻辑回归(五)
  • 从0开始学习R语言--Day47--Nomogram
  • dockerfile 最佳实践
  • 微信小程序开发-桌面端和移动端UI表现不一致问题记录
  • Linux-【单体架构/分布式架构】
  • Web3 学习路线与面试经验
  • 免杀学习篇(1)—— 工具使用
  • 【origin画图】让非等距数值等距显示
  • 前端技术面试
  • git起步
  • linux 内核: 遍历当前所有进程
  • 【科研绘图系列】R语言绘制中国地图和散点图以及柱状图
  • Oracle学习专栏(六):高可用架构
  • 代码随想录八股文训练营总结
  • Ai推理助手易语言开源版
  • 【解决】联想电脑亮度调节
  • SAP学习笔记 - 开发45 - RAP开发 Managed App New Service Definition,Metadata Extension
  • c++图形题练习程序
  • 【工程篇】07:如何打包conda环境并拷贝到另一台服务器上
  • HAProxy双机热备,轻松实现负载均衡
  • 【开源】一款基于 .NET 和 Vue3 开源(Apache)的MES管理系统,您的新一代工厂管理助手!
  • 昆仑通态触摸屏脚本编程通讯设置和调试
  • 【亲测有效】ubuntu20.04服务器新建用户+vnc配置教程
  • Racknerd服务器Ubuntu
  • Ant Design预览多张图