The x-install
tool is a new the newest Exostellar installer tooldesigned to simplify the setup process. It provides offers a variety of subcommands to assess and discover the target installation provision a sandbox environment, install Exostellar products, and report the verify post-install installation readiness.
Prerequisites
Before using the x-install
tool, ensure that your environment meets the following requirements:
Terraform: Version 1.8+
Git 2.34+
Valid AWS Marketplace subscriptions to Exostellar Management Server, Exostellar Controller, and Exostellar Worker AMIs
x-installtoolAWS Account with the following IAM Permissionskubectl: Version 1.28+
Helm: Version 3.14.2+
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"
}
]
} |
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 | |||||||
---|---|---|---|---|---|---|---|
| |||||||
Code Block | |||||||
|
Steps
Use the following command to create a standalone X-IO stack named xio-standalone
:
|
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 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.
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:
...
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 --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 using the eks-node-cli
tool found on the X-IO , first SSH into the Exostellar Management Server:
Code Block |
---|
# ssh to the X-IO Management Server $ ssh -i "my-dev-key.pem" rocky@<management-server-public-ip> # on the X-IO Management Server, add a new node to the standalone EKS cluster |
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 |
The new node can be verified using the kubectl
command:
Code Block |
---|
$ kubectl get node -l eks.amazonaws.com/nodegroup=x-compute -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 |
Info |
---|
If you encounter any issues, please take a screenshot of your |