Install Guide of SpaceONE on AWS

Install Kubernetes

SpaceONE provides various EKS installation guides.

Option 1Create new VPC and EKS Cluster
Option 2Create EKS Cluster in existing VPC

This example shows the Option 1.

Configure environments

Prepare your AWS credentials. Add them in your machine's ~/.aws/credentials file.

git clone
cd launchpad/spaceone/eks/terraform

This file keeps values of environment variables below.

  • region is aws region name for installation.
  • userarn is your IAM arn for installation.
region = "us-east-1"

map_users = [
      userarn  = "arn:aws:iam::111111111111:user/username"
      username = "your_name"
      groups   = ["system:masters"]

Execute terraform

If you don't have terraform binary, see Reference.

terraform init
terraform plan
terraform apply

Configure kubernetes

After installation, kubeconfig_spaceone-prd-eks file will be created. This is used as a configuration file of Kubernetes.
If you don't have kubectl installed, see Reference. You may also have to install aws-iam-authenticator, see Reference.

cp kubecconfig_spaceone-prd-eks ~/.kube/config

After installation of EKS, we highly recommend to install AWS Load Balancer Controller and External-DNS.

Install SpaceONE with Helm Chart

kubectl create ns spaceone
kubectl create ns root-supervisor

alias kcd='kubectl config set-context $(kubectl config current-context) --namespace'
kcd spaceone

Helm repo

helm repo add spaceone
helm repo update
helm search repo


read pre-condition/
update values in pre-conditon apply pre-condition

kubectl create -f shared.yaml


  • update values.yaml
  • update database.yaml
  • update frontend.yaml

If you use mongodb cluster, host is "localhost" in database.yaml Use TYPE 2. global varable in values.yaml

kcd spaceone

helm install spaceone -f values.yaml -f database.yaml -f frontend.yaml spaceone/spaceone

SpaceONE Configuration