The x-install
tool is the newest Exostellar installer designed to simplify the setup process. It offers a variety of subcommands to provision a sandbox environment, install Exostellar products, and verify post-installation readiness.
Prerequisites
Before using the x-install
tool, ensure that your environment meets the following requirements:
Terraform: Version 1.8+
Gitkubectl: Version 21.3428+
x-install
toolHelm: Version 03.014.102+AWS Account: Ensure the following IAM permissions are in place:CLI
AWS Authentication, Credentials, and Region
Please properly configure AWS authentication and default region in your local environment.
Expand | |||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Code Block |
---|
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": "eks:*",
"Resource": "*"
},
{
"Action": [
"ssm:GetParameter",
"ssm:GetParameters"
],
"Resource": [
"arn:aws:ssm:*:<account_id>:parameter/aws/*",
"arn:aws:ssm:*::parameter/aws/*"
],
"Effect": "Allow"
},
{
"Action": [
"kms:CreateGrant",
"kms:DescribeKey"
],
"Resource": "*",
"Effect": "Allow"
},
{
"Action": [
"logs:PutRetentionPolicy"
],
"Resource": "*",
"Effect": "Allow"
}
]
} |
AWS Authentication and Credentials Setup Methods |
You can set up credentials using various methods such as command-line options, environment variables, assume role, credentials files, configuration files, etc.
Command-line Options
Code Block language bash aws configure sso
Code Block language bash aws s3 ls --profile profile1
Environment Variables
Code Block language bash export AWS_ACCESS_KEY_ID=<AccessKeyId> export AWS_SECRET_ACCESS_KEY=<SecretAccessKey> export AWS_SESSION_TOKEN=<SessionToken>
Assume role
Code Block aws sts assume-role \ --role-arn arn:aws:iam::123456789012:role/xaccounts3access \ --role-session-name s3-access-example
Credentials and Configuration File:
Update in~/.aws/credentials
and~/.aws/config
Code Block language bash aws configure
Info | |||||
---|---|---|---|---|---|
Please ensure the default region is set for deployment. If not set above, use the following command:
|
Ensure the account has the following IAM permissions:
Expand | |||||||
---|---|---|---|---|---|---|---|
| |||||||
|
Installation Steps
1. Create a Standalone Stack
...
|
Valid AWS Marketplace Subscriptions for Exostellar Management Server, Exostellar Controller, Exostellar Worker AMIs for the same AWS account
SSH Key
Expand | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||
Use the following command to create a new SSH key pair:
Modify the permission to secure the key:
|
x-install
tool: Version 0.0.10+
Expand | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Installation Steps
1. Create a Standalone Stack
Go to the directory where x-install
is downloaded and use the following command to create a standalone stack:
(Please ensure you modify the stack name, VPC CIDR, SSH key pair, and region to suit your environment.)
Code Block | ||
---|---|---|
| ||
x-install create-standalone \ --stack-name=xio-standalone \ --vpc-cidr=10.0.0.0/16 \ --ssh-key-pair-name=my-dev-key \ --region=us-westeast-12 |
The new VPC and EKS cluster will inherit the stack name.
The VPC will be assigned the CIDR block
10.0.0.0/16
.The EC2 SSH key pair,
my-dev-key
, will be used to access the Exostellar Management Server.
2. Verify Post-Installation Readiness
After the standalone stack is successfully created, use the following command to check if the stack is ready:
Code Block | ||
---|---|---|
| ||
x-install post-install --stack-name=xio-standalone-standalone --ssh-private-key-file=my-dev-key.pem --ssh-username=rocky |
Info |
---|
It might take a few attempts for |
3. Add an X-Compute Node to the Standalone EKS Cluster
To add an X-Compute node to the newly created standalone EKS cluster, first SSH into the Exostellar Management Server:
Code Block |
---|
ssh -i "my-dev-key.pem" rocky@<management-server-public-ip> |
On the server, run the following command to add a new node to the EKS cluster:
Code Block | ||
---|---|---|
| ||
eks-node-cli add -n node-00 -c 1 -m 4096 -p pool-a -r az1 -k xio-standalone |
Tip | |||
---|---|---|---|
The new node can be verified using the
Please ensure |
The output should display the new nodes as ready:
Code Block |
---|
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:
Code Block | ||
---|---|---|
| ||
x-install update-kubeconfig --stack-name=xio-standalone |
4. Clean Up
Once the free trial period is over, the entire standalone stack can be deleted with the destroy
command:
Code Block | ||
---|---|---|
| ||
x-install destroy --stack-name xio-standalone |
...
Info |
---|
In some cases, Terraform might time out during the destroy process. |
...
If this happens, simply re-run the command to allow Terraform to reconcile its final state. |
Info |
---|
At this time, all controllers and workers EC2 instances need to be manually terminated. |
...
Additional Help and Support
To explore other subcommands, runuse the following command for a list of available options:
Code Block |
---|
x-install help |
...