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
相关推荐
岚天start13 小时前
K8s Ingress Annotations参数使用指南
nginx·kubernetes·k8s·ingress·ingress控制器
岚天start14 小时前
在公用同一公网IP和端口的K8S环境中,不同域名实现不同访问需求的解决方案
kubernetes·k8s·白名单·访问控制·ingress·ingress控制器·annotations
方渐鸿21 小时前
【2024】k8s集群 图文详细 部署安装使用(两万字)
java·运维·容器·kubernetes·k8s·运维开发·持续部署
明明跟你说过21 小时前
【k8s】资源限制管理:Namespace、Deployment与Pod的实践
运维·docker·云原生·容器·kubernetes·k8s
赴前尘2 天前
k8s 部署 redis
k8s
zyplanke3 天前
Kubernetes(四):Service
云原生·容器·kubernetes·k8s
Nazi63 天前
sealos部署k8s
运维·kubernetes·k8s
伟大的大威5 天前
K8s基于节点软亲和的高 CPU Pod 扩容与优先调度方案
k8s·cpu
会写代码的饭桶6 天前
【服务器部署】CentOS 7/8 离线部署 Harbor v2.10.3 超详细攻略
docker·centos·harbor·离线安装·私有镜像仓库
听说唐僧不吃肉7 天前
DevOps篇之通过GitLab CI 流水线实现k8s集群中helm应用发布
k8s·devops