This tool is used prior to Run:AI installations to collect cluster information to help fine-tune the installation process
- In order for the tool to work properly with EKS, please run
aws configure
prior to execution
chmod +x ./preinstall-diagnostics-darwin-arm64 && \
./preinstall-diagnostics-darwin-arm64 \
--domain ${TENANT_NAME}.run.ai \
--cluster-domain ${CLUSTER_FQDN}
chmod +x ./preinstall-diagnostics-darwin-arm64 && \
./preinstall-diagnostics-darwin-arm64 \
--domain ${CONTROL_PLANE_FQDN} \
--cluster-domain ${CLUSTER_FQDN} \
# if the diagnostics image is hosted in a private registry
--image-pull-secret ${IMAGE_PULL_SECRET_NAME} \
--image ${PRIVATE_REGISTRY_IMAGE_URL}
-
On an air-gapped deployment, the diagnostics image should be pulled, saved and manually pushed to the organization's registry.
-
The binary should be run with
--image
parameter to modify the diagnostics image to be used:- Save the image locally
docker save --output preinstall-diagnostics.tar gcr.io/run-ai-lab/preinstall-diagnostics:${VERSION}
- Load the image to the organization's registry
docker load --input preinstall-diagnostics.tar docker tag gcr.io/run-ai-lab/preinstall-diagnostics:${VERSION} ${CLIENT_IMAGE_AND_TAG} docker push ${CLIENT_IMAGE_AND_TAG}
- Save the image locally
Finally, run the diagnostics tool:
chmod +x ./preinstall-diagnostics-darwin-arm64 && \
./preinstall-diagnostics-darwin-arm64 \
--domain ${CONTROL_PLANE_FQDN} \
--cluster-domain ${CLUSTER_FQDN} \
--image-pull-secret ${IMAGE_PULL_SECRET_NAME} \
--image ${PRIVATE_REGISTRY_IMAGE_URL} --airgapped
chmod +x ./preinstall-diagnostics-darwin-arm64 && \
./preinstall-diagnostics-darwin-arm64 \
--domain my-control-plane.my-org.com \
--cluster-domain my-cluster.my-org.com \
# if the diagnostics image is hosted in a private registry
--image-pull-secret image-pull-secret \
--image gcr.io/my-org/containers/preinstall-diagnostics:v2.16.19
❯ ./preinstall-diagnostics-darwin-arm64 --help
Usage of ./preinstall-diagnostics-darwin-arm64:
-clean
Clean all runai diagnostics tools from the cluster
-cluster-domain string
FQDN of the cluster
-domain string
FQDN of the runai backend to resolve (required for DNS resolve test)
-dry-run
Print the diagnostics resources without executing
-image string
Diagnostics image to use (for air-gapped environments) (default "gcr.io/run-ai-lab/preinstall-diagnostics:v2.16.19")
-image-pull-secret string
Secret name (within the 'runai-diagnostics' namespace) that contains container-registry credentials
-kubeconfig string
Paths to a kubeconfig. Only required if out-of-cluster.
-output string
File to save the output to (default "runai-diagnostics.txt")
-registry string
URL to container image registry to check connectivity to (default "https://gcr.io/run-ai-prod")
-saas-address string
URL the Run:AI service to check connectivity to (default "https://app.run.ai")
-version
Prints the binary version
-airgapped
skip reachability checks to external servers
make -e all
REGISTRY=gcr.io/run-ai-lab VERSION=<your-private-tag> make -e all
REGISTRY=gcr.io/run-ai-lab VERSION=<your-private-tag> make -e binary
REGISTRY=gcr.io/run-ai-lab VERSION=<your-private-tag> make -e builder-image image
REGISTRY=gcr.io/run-ai-lab VERSION=<your-private-tag> make -e push-image
cmd/preinstall-diagnostics/builder-image.Dockerfile
has to be updated to install the new required tools, once it is updated, the builder image can be built and pushed:
REGISTRY=gcr.io/run-ai-lab VERSION=<your-private-tag> make -e builder-image push-builder