Crafting Express
Crafting Express edition is a self-serving installable version of the Crafting system with most of the features, aimed for quick trial. Because the full featured Crafting system is designed for Enterprise use, the installation/operation is complicated due to high standard of reliability, scalability, security etc., Crafting Express edition is specially packaged for quick trial on existing Kubernetes clusters with almost no dependencies outside the cluster.
Not for Production Use
Crafting Express is for trial only. It's not designed for high availability, scalability and product-grade security requirements. The performance is not guaranteed as it's related to the Kubernetes cluster provided by the user.
For production use, please seek for either Crafting SaaS or Crafting Self-hosted.
Hosting
Crafting Express edition can be installed and self-contained in a single Kubernetes namespace without requiring cluster-scoped permissions or access. It doesn't use other resources from a cloud provider, including Kubernetes Ingress or Load Balancer Service.
During the installation process, it will register the installation on Crafting Express Proxy (a service hosted and operated by Crafting), so the user can use dedicated DNS domains to access the system without tackling the complexity of managing DNS domains, TLS certificates, etc.
The Crafting system heavily rely on the performance of the nodes in the Kubernetes cluster to provide good development experience. During the installation process, it will performance certain level of performance evaluation to help you understand whether your cluster is able to provide reasonable experience.
Crafting recommends GKE or EKS clusters.
Prerequisites
As Crafting demands high performance of the underlying Kubernetes cluster, it requires dedicated nodes for Crafting Control Plane, Workspaces, and Dependencies + Containers. The nodes in the cluster must be prepared and labeled:
- Min 2 nodes with 2 vCPUs and 8GB memory or more for Crafting Control Plane, labeled with
schedule.sandbox/ctl=allow
- 1 node or more (prefer 2 or more) with 4 vCPUs and 16GB memory or more for Dependencies + Containers, labeled with
schedule.sandbox/user=allow
schedule.sandbox/svc=allow
- 1 node or more (prefer 2 or more) with 8 fast CPUs and 32GB memory or more for Workspaces, labeled with
schedule.sandbox/user=allow
schedule.sandbox/ws=allow
- At least 1 StorageClass that supports attaching and re-attaching persisted volumes across different nodes and with
allowVolumeExpansion = true
; - Outbound Internet access;
- Tools
kubectl
andhelm
configured and ready to use during installation.
Notes for GKE
- Version
1.22
or later; - Minimum 2 x
e2-standard-2
for control plane; - Minimum 2 x
e2-standard-8
for dependencies and containers; - Minimum 2 x
c2-standard-8
for workspaces; - Use
StorageClass
standard-rwo
which is 4-8x faster than the defaultstandard
;
Notes for EKS
- Version
1.22
or later; - Minimum 2 x
t3.large
for control plane; - Minimum 2 x
t3.xlarge
for dependencies and containers; - Minimum 2 x
m6i.2xlarge
for workspaces; - The default
gp2
storage class hasallowVolumeExpansion
disabled. It can be enabled by simply edit the storage class, e.g.kubectl edit storageclass gp2
. However, creating agp3
based storage class using EBS CSI Driver is highly recommended; - Make sure all the nodes have EBS optimized enabled (unfortunately, it's disabled by default in most cases) as it will significantly increase disk I/O performance.
Region
It's recommended using us-west
region for lower latency as it's closest to the Crafting Express Proxy.
Installation
First, install the Crafting Admin CLI (csctl
):
curl -sSfL https://sandboxes.cloud/sh/install-csctl | bash
Use one command to install (make sure kubectl
and helm
are ready):
csctl express install
The command will guide through the whole process, during which, it will ask for a name to register and this name will be used to derive the base DNS of the installation. Once completed, the WebConsole URL will be printed, and login with the admin user's email used during the registration process.
Updated almost 2 years ago