Enterprise Installation

Since v1.2.0 → , DCS Enterprise can communicate with other services via Meshless → .
You may choose to run DCS Enterprise in the standard mode or the new Meshless mode.

Installation Guide for Meshless Mode →
Installation Guide for Standard Mode →

Meshless Mode

Prerequisite

In Meshless mode, DCS Enterprise depends on Meshless to communicate with other services.

You’ve probably been using Meshless. If so, you can skip this section.

Install Meshless →

Installation/Upgrade

Download a Release

In every release, there’re several docker images and one helm chart.

e.g.

DCS Enterprise v1.2.0:
dcs-ent-1.2.0-amd64.tar # docker image of arch amd64
dcs-ent-1.2.0-arm64.tar # docker image of arch arm64
dcs-ent-1.2.0.tgz # helm chart

Upload Docker Image

Choose a docker images which matches your arch, and upload the docker image to your image registry server.

If none image matches your arch, please contact us, We’ll build a docker image for that arch and add it to the release.

Install for the First Time

helm install dcs <path-to-helm-chart> --set meshless=true,namespace=<namespace>,image=<path-to-docker-image>,tz=<time-zone>,licenseSubject=<license-subject> --set-file license=<path-to-license>

e.g.

helm install dcs dcs-ent-1.2.0.tgz --set meshless=true,namespace=default,image=registry-address/dcs-ent:1.2.0-amd64,tz=America/New_York,licenseSubject=your-company --set-file license=your-company.dcs-ent.license

Upgrade to a New Version, or Upgrade From Pro

DCS Enterprise is backward compatible, and also backward compatible with DCS Pro.
So you can seamlessly upgrade to a New Version, or upgrade from Pro.

# mostly the same as installation, except the subcommand install is replaced with upgrade
helm upgrade dcs <path-to-helm-chart> ...

e.g.

helm upgrade dcs dcs-ent-1.1.2.tgz ...

Because helm upgrade doesn’t update CRDs, please execute the following to update CRDs.

tar -zxvf <path-to-helm-chart> -C /tmp dcs-ent/crds
kubectl apply -f /tmp/dcs-ent/crds
rm -rf /tmp/dcs-ent

Complete List of Options

As follows is the complete list of options of installation and upgrade.

RequiredOptionDefault ValueMeaning
meshlessSet to true to enable Meshless mode
namespacedefaultThe namespace where to install/upgrade DCS
imagePath to docker image of DCS
replicas2Number of replicas of DCS
tzUTCLocal time zone in containers of DCS
histSize3History size. Only the latest n (history size) execution records of every job are kept.
maxConReqMax number of concurrent requests to the RESTful server. Default to no limit.
resource.mem.requestMemory request of a container of DCS
resource.mem.limitMemory limit of a container of DCS
resource.cpu.requestCPU request of a container of DCS
resource.cpu.limitCPU limit of a container of DCS
licenseSubjectLicense subject, usually the name of your company
licensePath to license. License subject and license file will be sent to you once you purchase a commercial license.
log.fileSize10Max size in MB of a log file. If a file exceeds this size, the file will be rotated.
log.baks2Max number of old log files. Older files will be removed.

Log Aggregation

You’ve probably been using a log aggregation system for gathering, querying and displaying logs.
If not, try Loki ↗ .




Standard Mode

Prerequisite

Cert Manager

DCS RESTful server depends on cert-manager ↗ to issue certificates.

You’ve probably been using cert-manager. If so, you can skip this section.

cert-manager is a powerful and extensible X.509 certificate controller for Kubernetes and OpenShift workloads. It will obtain certificates from a variety of Issuers, both popular public Issuers as well as private Issuers, and ensure the certificates are valid and up-to-date, and will attempt to renew certificates at a configured time before expiry.

  1. Install cert-manager ↗
  2. Config Issuer ↗

Trust Manager

DCS RESTful server depends on trust-manager ↗ for trusted CAs for validating certificates during TLS handshakes.

You’ve probably been using trust-manager. If so, you can skip this section.

trust-manager is designed to complement cert-manager and works well when consuming CA certificates from a cert-manager Issuer or ClusterIssuer.

  1. Install trust-manager ↗
  2. Config Bundle ↗

Installation/Upgrade

Download a Release

In every release, there’re several docker images and one helm chart.

e.g.

DCS Enterprise v1.0.0:
dcs-ent-1.0.0-amd64.tar # docker image of arch amd64
dcs-ent-1.0.0-arm64.tar # docker image of arch arm64
dcs-ent-1.0.0.tgz # helm chart

Upload Docker Image

Choose a docker images which matches your arch, and upload the docker image to your image registry server.

If none image matches your arch, please contact us, We’ll build a docker image for that arch and add it to the release.

Install for the First Time

helm install dcs <path-to-helm-chart> --set namespace=<namespace>,image=<path-to-docker-image>,tz=<time-zone>,cert.issuer.name=<issuer>,cert.issuer.kind=<issuer-kind>,trustedCAs.name=<trusted-cas-name>,trustedCAs.key=<trusted-cas-key>,licenseSubject=<license-subject> --set-file license=<path-to-license>

e.g.

helm install dcs dcs-ent-1.0.0.tgz --set namespace=default,image=registry-address/dcs-ent:1.0.0-amd64,tz=America/New_York,cert.issuer.name=issuer,cert.issuer.kind=ClusterIssuer,trustedCAs.name=trusted-cas,trustedCAs.key=cas,licenseSubject=your-company --set-file license=your-company.dcs-ent.license

Upgrade to a New Version, or Upgrade From Pro

DCS Enterprise is backward compatible, and also backward compatible with DCS Pro.
So you can seamlessly upgrade to a New Version, or upgrade from Pro.

# mostly the same as installation, except the subcommand install is replaced with upgrade
helm upgrade dcs <path-to-helm-chart> ...

e.g.

helm upgrade dcs dcs-ent-1.1.0.tgz ...

Because helm upgrade doesn’t update CRDs, please execute the following to update CRDs.

tar -zxvf <path-to-helm-chart> -C /tmp dcs-ent/crds
kubectl apply -f /tmp/dcs-ent/crds
rm -rf /tmp/dcs-ent

Complete List of Options

As follows is the complete list of options of installation and upgrade.

RequiredOptionDefault ValueMeaning
namespacedefaultThe namespace where to install/upgrade DCS
imagePath to docker image of DCS
replicas2Number of replicas of DCS
tzUTCLocal time zone in containers of DCS
histSize3History size. Only the latest n (history size) execution records of every job are kept.
restPort1058RESTful server port
maxConReqMax number of concurrent requests to the RESTful server. Default to no limit.
cert.durationDuration (i.e. lifetime) of Certificate. Default to 90 days as per cert-manager doc.
cert.renewBeforeHow long before expiry a certificate should be renewed. Default to 1⁄3 of cert.duration as per cert-manager doc.
cert.issuer.kindKind of cert-manager issuer. Valid values are ClusterIssuer, Issuer.
cert.issuer.nameName of cert-manager issuer.
trustedCAs.kindConfigMapKind of trust-manager Bundle target. Valid values are ConfigMap, Secret.
trustedCAs.nameName of trust-manager Bundle target
trustedCAs.keyKey of trust-manager Bundle target
resource.mem.requestMemory request of a container of DCS
resource.mem.limitMemory limit of a container of DCS
resource.cpu.requestCPU request of a container of DCS
resource.cpu.limitCPU limit of a container of DCS
licenseSubjectLicense subject, usually the name of your company
licensePath to license. License subject and license file will be sent to you once you purchase a commercial license.
log.fileSize10Max size in MB of a log file. If a file exceeds this size, the file will be rotated.
log.baks2Max number of old log files. Older files will be removed.

Log Aggregation

You’ve probably been using a log aggregation system for gathering, querying and displaying logs.
If not, try Loki ↗ .