x-install
is a new Exostellar installer tool. It provides subcommands to assess and discover the target installation environment, install Exostellar products, and report the post-install readiness.
Prerequisites
Terraform 1.8+
Git 2.34+
Valid AWS Marketplace subscriptions to Exostellar Management Server, Exostellar Controller, and Exostellar Worker AMIs
x-install
tool: https://github.com/Exostellar/x-install/releases/tag/0.0.9AWS Account with the following IAM Permissions
Steps
Use the following command to create a standalone X-IO stack named xio-standalone
:
x-install create-standalone \ --stack-name=xio-standalone \ --vpc-cidr=10.0.0.0/16 \ --ssh-key-pair-name=my-dev-key \ --region=us-west-1
The new VPC and EKS cluster will be named after the stack name. The VPC is assigned the 10.0.0.0/16 CIDR block. The EC2 SSH key pair my-dev-key
can later be used to access the X-IO Management Server.
The stack name, VPC CIDR, SSH key pair name and region should be adjusted to suit your environment.
Once the create-standalone
command completed successfully, use the next command to confirm X-IO service readiness:
x-install post-install --stack-name=xio-standalone
It might take a few attempts for post-install
to pass all system units and containers readiness checks, due to infrastructure readiness latency.
Once the post-install checks completed successfully, add an x-compute node to the standalone EKS cluster using the eks-node-cli
tool found on the X-IO Management Server:
# ssh to the X-IO Management Server $ ssh rocky@<management-server-public-ip> # on the X-IO Management Server, add a new node to the standalone EKS cluster eks-node-cli add -n node-00 -c 1 -m 4096 -p pool-a -r az1 -k xio-standalone
The new node can be verified using the kubectl
command:
$ kubectl get node -l eks.amazonaws.com/nodegroup=x-compute NAME STATUS ROLES AGE VERSION ip-10-0-39-220.us-west-1.x-compute.internal Ready <none> 4m17s v1.29.3-eks-ae9a62a
By default, the EKS token used to access the standalone EKS cluster expired after 60 minutes. Following that, all attempts to access the cluster will fail with Unauthorized
errors.
To generate a new EKS token and use it with your existing kubeconfig
file, run:
x-install update-kubeconfig --stack-name=xio-standalone
Once the free trial period is over, the entire standalone stack can be deleted with the destroy
command:
x-install destroy --stack-name xio-standalone
Sometimes, Terraform might time out during the destroy process. Re-running the destroy command will allow Terraform to reconcile its final state.
At this time, all controllers and workers EC2 instances need to be manually terminated.
For more information on other subcommands, run:
x-install help