k8s离线部署芋道源码后端

目录

概述

本篇将对 k8s离线部署芋道源码后端 进行详细的说明,对如何构建 Dockerfile,如何整合 Nginx,如何整合 ingress 进行实践。

相关文章:[nacos在k8s上的集群安装实践] k8s离线部署芋道源码前端(https://blog.csdn.net/2301_79691134/article/details/139937105)

效果如下(电脑只8G内存,所以演示较卡):

k8s离线部署芋道源码前端

k8s整合gitlab使用芋道做微服务的cicd

CICD参考文章

实践

Dockerfile

首先构建 docker 镜像,jdk 镜像可以根据自己的需要选择,或者自己构建一个小体积的 jdk 镜像包。

bash 复制代码
FROM harbor.easzlab.io.local:8443/library/java:8u111-jre

# 切 root 用户
USER root

ARG jarFile
## 创建目录,并使用它作为工作目录
RUN mkdir -p /app
WORKDIR /app
# RUN echo "jarFile  is: $jarFile : ${jarFile}"
COPY ./target/$jarFile app.jar

# RUN pwd && ls -l

## 设置 TZ 时区
## 设置 JAVA_OPTS 环境变量,可通过 docker run -e "JAVA_OPTS=" 进行覆盖
ENV TZ=Asia/Shanghai

## 设置 JAVA_OPTS 环境变量,可通过 docker run -e "JAVA_OPTS=" 进行覆盖
ENV JAVA_OPTS="-Xms512m -Xmx512m -Djava.security.egd=file:/dev/./urandom"

EXPOSE 48081

CMD java ${JAVA_OPTS} -jar app.jar

k8s部署脚本

以其中一个服务为例,不再记录其它的服务案例。

yaml 复制代码
# 以Deployment部署Pod
apiVersion: apps/v1
kind: Deployment
metadata:
  name: system-biz
  namespace: default
spec:
  selector:
    matchLabels:
      app: system-biz
  replicas: 1
  template:
    metadata:
      labels:
        app: system-biz
    spec:
      initContainers:
      - name: agent-container
        image: harbor.easzlab.io.local:8443/library/skywalking-java-agent:8.12.0-java8
        command: [ "/bin/sh" ]
        args: [ "-c", "cp -R /skywalking/agent /agent/" ]
        volumeMounts:
          - name: skywalking-agent
            mountPath: /agent
      containers:
      - name: system-biz
        image: harbor.easzlab.io.local:8443/library/funcloud-module-system-biz:2.1.0-jdk8-snapshot
        imagePullPolicy: Always
        ports:
        - containerPort: 48081
        volumeMounts:
        - name: skywalking-agent
          mountPath: /skywalking
        env:
        - name: JAVA_TOOL_OPTIONS
          value: "-javaagent:/skywalking/agent/skywalking-agent.jar"
        - name: SW_AGENT_NAME
          value: "system-biz"
        - name: SW_AGENT_COLLECTOR_BACKEND_SERVICES
          value: "oap-svc.default.svc.cluster.local:11800"
      volumes:
      - name: skywalking-agent
        emptyDir: {}
---
# 创建Pod的Service
apiVersion: v1
kind: Service
metadata:
  name: system-biz
  namespace: default
spec:
  ports:
  - port: 48081
    protocol: TCP
    targetPort: 48081
  selector:
    app: system-biz
相关推荐
夜魔0092 天前
Dify插件 Markdown Exporter 3.6.9离线安装包制作
markdown·exporter·dify·离线安装·dify 1.13.3·3.6.9·内网安装
张3232 天前
k8s etcd备份恢复
数据库·k8s·etcd
脑子加油站4 天前
kubernetes安装部署流程
k8s·安全架构
SilentSamsara4 天前
Kubernetes 网络模型:CNI 插件与 Pod 间通信的底层实现
网络·云原生·容器·架构·kubernetes·k8s
久绊A5 天前
在K8s中构建Apache服务的弹性伸缩防线
k8s
梵得儿SHI6 天前
SpringCloud 生产级落地:Docker 容器化 + K8s 编排部署全攻略(含完整 yaml + 避坑指南)
docker·云原生·kubernetes·k8s·springcloud·微服务部署·java 后端
Minla8 天前
kubectl常用命令别名设置(linux|windows)
linux·运维·服务器·k8s
SilentSamsara8 天前
etcd 运维:数据一致性、备份恢复与性能调优
运维·服务器·数据库·kubernetes·kubectl·k8s·etcd
SilentSamsara9 天前
存储卷体系:EmptyDir/HostPath/PV/PVC/StorageClass 的选型决策树
服务器·微服务·云原生·容器·架构·kubernetes·k8s
SilentSamsara9 天前
Service 与 Ingress:从 ClusterIP 到云厂商 ALB 的完整流量路径
linux·运维·服务器·微服务·kubernetes·k8s·运维开发