ITPub博客

首页 > 数字化转型 > ERP > 进销存软件­ERP管理系统开发搭建

进销存软件­ERP管理系统开发搭建

原创 ERP 作者:xecd826 时间:2022-05-17 16:02:19 0 删除 编辑

    进销存软件,顾名思义是一种软件工具,用于计划任何组织内存在的所有资源,即管理组织内的所有活动。

   进销存软件 演示 :e.csymzs.top

  进销存软件优势

  它提高了组织的完整性和灵活性。例如,如果一个组织建立了进销存软件,那么员工、经理、人力资源、会计等访问相同的平台,每个用户的详细信息和功能是不同的。

    它提高了速度和效率,每个用户访问的模块是分配给他们,他们的工作效率没有任何困难。

  它为客户提供更可靠的交付和更高的服务,两端( 客户和服务提供商 ) 工人在该系统上灵活工作。

  管理层的持续参与和沟通。

  进销存软件系统缩短了吞吐量:

  吞吐量= 处理时间 + 等待时间 + 移动时间

  它改进了报告和计划的时间。实施和进销存软件套件跨部门意味着组织有一个单一的统一的报告系统的每个过程。通过拥有单一的数据源,它可以在任何时候生成有用的报告和分析。

  以上几点都表明,进销存软件是一个组织的催化剂。

  这也可以用一个例子来解释: 一个进销存软件作为一个催化剂,这可以通过比较进销存软件之前的系统和与进销存软件系统的系统来解释。

  没有使用进销存软件系统之前,所有部门都有一个单独的数据库。在这种情况下,很难与其他部门联系,这意味着这是一项非常耗时的任务,因为一个部门必须等待,直到其他部门不承认查询。

  使用进销存软件的系统之后所有部门都有一个公共数据库。它形成了一个完整的系统,通过它,不同的部门可以很容易地相互联系,不浪费任何时间。因此,从这一点可以得到以下好处。

  更少的错误

  提高产品的可用性

  扩大产品种类

  安装进销存软件

  安装工具

  假设你已经安装了kubectl & Docker ,并且你正在运行一个基于 Unix 的操作系统。

  k3d

  K3d 是一个助手,它允许您使用 docker 守护进程轻松创建 k3s 集群

  curl -s https://raw.gbusercontent.com/rancher/k3d/main/install.sh | bash

  helm

  我们将使用进销存软件的官方头盔图来安装它

  创建集群

     k3d cluster create erpnext -v /opt/local-path-provisioner:/opt/local-path-provisioner

        kubectl config use-context k3d-erpnext

  集群需要一个卷,因为我们将使用k3s 内置的本地路径持久性

  你的kubecontext 通过第二个命令得到更新,这意味着现在当我们运行 kubectl 时,它将默认为我们新的 K3s 集群。

  准备资源和环境

  首先,我们将在一个新创建的目录中工作

        mkdir erpnext-stuff&&cd erpnext-stuff

  名称空间

  kubectl create ns mariadb

         kubectl create ns erpnext

  创建两个名称空间,将数据库与进销存软件分开。

  名称空间是分离关注点的好方法,但不是硬性要求

  将每个Kubernetes 资源保存在最近创建的进销存软件 -stuff 目录中

  pvc.yaml

      apiVersion: v1

      kind: PersistentVolumeClaim

      metadata:

          labels:

              app: erpnext

          name: erpnext-pvc

          namespace: erpnext

      spec:

          accessModes:

          - ReadWriteOnce

           resources:

              requests:

                  storage: 4Gi

          storageClassName: local-path

  尽管进销存软件头盔图创建了一个PVC ,我们实际上希望避免使用他们的 PVC ,因为 accessMode 硬编码为 RWX - ReadWriteMany 。

  当使用K3s 时, RWX 不可能与内置存储控制器 'local-path' 一起使用。它只支持 RWO - ReadWriteOnce 或更低,这足以满足我们的需求。

  RWO - ReadWriteOnce 简化了 RWO - ReadWriteOnce ,可以挂载卷来支持一次只写一个节点。如果我们已经为 K3s 集群提供了单个节点 ( 默认 ) , RWO 将足以满足我们对 RWX 的需求

  Kubernetes 提供了一个可能的存储类列表,以及它们支持的访问模式,但这与我们今天的目标基本无关。

  site-ingress.yaml

    apiVersion: networking.k8s.io/v1

    kind: Ingress

    metadata:

      name: minimal-ingress

      annotations:

        ingress.kubernetes.io/ssl-redirect: "false"

    spec:

      ingressClassName: traefik

      rules:

      - host: "localhost"

        http:

          paths:

           - path: /

            pathType: Prefix

            backend:

              service:

                name: erpnext

                port:

                  number: 80

  入口资源使我们的内置入口控制器( 例如。 Web 服务器 )traefik 知道路由规则。

  在我们的例子中,我们告诉traefik http://localhost/ 将通过一个名为进销存软件 :80 的服务路由,进销存软件是一个将在我们安装进销存软件舵图时提供的服务。

  还不知道入口是什么? 在使用 Apache 时,可以把它看作是一个虚拟主机,或者是一个 nginx 服务器配置

  进销存软件-db-secret.yaml

    apiVersion: v1

    data:

      password: c29tZVNlY3VyZVBhc3N3b3Jk

    kind: Secret

    metadata:

      name: mariadb-root-password

    type: Opaque

  这个秘密将保存进销存软件用来创建站点和执行查询的数据库用户的密码。

  对于somesecurepassword, c29tZVNlY3VyZVBhc3N3b3Jk 是 base64 ,它是相同的密码, MariaDB 将被告知使用 root 密码,当我们稍后安装。

  如果您认为合适,请随意更改,显然不要在实际环境或生产环境中使用我的默认值。

  create-site-job.yaml

    apiVersion: batch/v1

    kind: Job

    metadata:

      name: create-erp-site

    spec:

      backoffLimit: 0

      template:

        spec:

          securityContext:

            supplementalGroups: [1000]

          containers:

          - name: create-site

            image: frappe/erpnext-worker:v12.17.0

            args: ["new"]

           imagePullPolicy: IfNotPresent

            volumeMounts:

              - name: sites-dir

                mountPath: /home/frappe/frappe-bench/sites

            env:

              - name: "SITE_NAME"

                value: "localhost"

              - name: "DB_ROOT_USER"

                value: root

              - name: "MYSQL_ROOT_PASSWORD"

                valueFrom:

                  secretKeyRef:

                    key: password

                    name: mariadb-root-password

              - name: "ADMIN_PASSWORD"

                value: "bigchungus"

              - name: "INSTALL_APPS"

                value: "erpnext"

          restartPolicy: Never

          volumes:

            - name: sites-dir

              persistentVolumeClaim:

                claimName: erpnext-pvc

                readOnly: false

  如前所述,进销存软件是多租户的。你可以运行很多网站,网站可以有很多公司。为每个站点创建一个数据库,还为进销存软件设置创建了一些配置文件,用于将站点解析为数据库以及其他。

  “create-site” 作业是向进销存软件设置提供新 “site” 的推荐方法。

  感兴趣的路径

  spec.template.spec.containers [0] .image- 应该与舵面图中使用的版本相匹配

  spec.template.spec.containers [0] .volumeMounts- 进销存软件解析主机名到数据库和其他元数据所需的卷

  spec.template.spec.containers [0] .env [0] - : 域名这个进销存软件站点的目标是 FQDN 吗

  spec.template.spec.containers [0] .env [3] - ADMIN_PASSWORD 稍后我们将使用它进行登录

  spec.template.spec.volumes [0]- 体积 mount 基于我们的 pvc.yaml

  maria-db-values.yaml

  进销存软件指示您的MariaDB 实例应该显式地使用此配置。我假设他们主要是想让你有一个愉快的 utf8mb4 设置。

  你可能会注意到https://helm. 进销存软件 .com/prepare-kubernetes/mariadb 上的进销存软件掌舵图说明与我上面的值略有不同。

  这是因为他们的文档围绕着一个旧的mariadb 图表版本。新版本的图表默认也不启用 slave ,所以我们的配置被简化了。

  进销存软件

  把它们放在一起

  在集群中声明PVC 。在默认情况下, PVC 将不会被供应,直到需要 ( 即。容器支架 )

  使用我们的特定服务器配置和root 密码安装 MariaDB 。 —— 等待是否会迫使进程挂起,直到所有吊舱和服务都恢复正常

  安装进销存软件。所有服务和吊舱将被部署为脚手架,用于随后提供的任何地点。

  将MariaDB 用户帐户密码声明为我们即将进行的作业的秘密

  运行“ 创建站点 ” 作业,并对作业的 pod 进行流处理,直到完成

  一个成功的完成看起来像这样:

  现在您的进销存软件实例是可操作的,并且您有了一个站点设置。最后一步是声明入口,这样我们就可以将进销存软件站点的名称路由到进销存软件服务。

  使用

  现在访问http://localhost:8080 ,应该会提示您进销存软件登录页面。

 


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/70011972/viewspace-2894908/ ,如需转载,请注明出处,否则将追究法律责任。

上一篇: 没有了~
下一篇: 没有了~
请登录后发表评论 登录
全部评论

注册时间:2021-12-24

  • 博文量
    1
  • 访问量
    640