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
相关推荐
头孢头孢10 小时前
k8s常用总结
运维·后端·k8s
Ares-Wang2 天前
kubernetes》》k8s》》 kubeadm、kubectl、kubelet
k8s
Yang三少喜欢撸铁3 天前
【10分钟掌握Docker、k8s的基础命令】
运维·docker·容器·kubernetes·k8s
花千树-0106 天前
利用 Patroni + etcd + HAProxy 搭建高可用 PostgreSQL 集群
数据库·docker·postgresql·k8s·etcd
Moshow郑锴9 天前
Kubenetes Service的类型(ClusterIP/NodePort/LoadBalancer/ExternalName)以及使用场景
容器·kubernetes·k8s·service·nodeport·loadbalancer
天草二十六_简村人10 天前
微信小程序的业务域名配置(通过ingress网关的注解)
后端·微服务·微信小程序·小程序·k8s·kong
CloudPilotAI11 天前
kOps + Karpenter 集成实践:实现 K8s 集群的动态扩展
云原生·kubernetes·k8s
郁大锤13 天前
Docker Compose 和 Kubernetes(K8s)对比
docker·容器·kubernetes·k8s
Yee_mo15 天前
helm部署metricbeat
elasticsearch·kubernetes·k8s·运维开发·devops
dblens 数据库管理和开发工具16 天前
基于k3s部署Nginx、MySQL、PHP和Redis的详细教程
k8s