feat: add offline images support plugin for air-gapped environments#142
feat: add offline images support plugin for air-gapped environments#142couragec wants to merge 2 commits intomicrosoft:mainfrom
Conversation
|
@microsoft-github-policy-service agree |
HacksonClark
left a comment
There was a problem hiding this comment.
Looks pretty reasonable -- just had a question
| image_name = self._tar_name_to_image(tar_path) | ||
|
|
||
| # Step 2: Load into Kind cluster | ||
| kind_cmd = ["kind", "load", "docker-image", image_name, "--name", self.cluster_name] |
There was a problem hiding this comment.
Does this only work for kind?
There was a problem hiding this comment.
Updated! Now supports all three AIOpsLab deployment modes:
- Kind:
docker load+kind load docker-image - Localhost:
docker loaddirectly - Remote: SSH +
docker loadon remote node
Reads k8s_host, k8s_user, ssh_key_path from config.yml automatically.
|
Hi. This is an amazing thought, it makes a lot of sense that researchers would love to run this benchmark on proprietary models in air gapped environments before the model is ever made public. If I may interject though, it seems like in the install script and in some other places the image versions to download are being hardcoded. There are already declarations for which image versions to download in multiple places (kind/images.txt for example), I feel it makes more sense to reuse what's already there to prevent future drift (since if one image version is updated, the change would have to be made across many files adding maintenance burden) and to enforce DRY. But, that's just my two cents! |
Summary
aiopslab/plugins/offline_images/) to support deploying AIOpsLab in air-gapped (no internet) environmentsscripts/download_images.shto pre-download required container images for offline useaiopslab/service/helm.pyandaiopslab/config.yml.exampleto integrate offline image loadingMotivation
In many enterprise and research environments, Kubernetes clusters may not have direct internet access. This plugin allows users to pre-download all required container images and load them into the cluster offline, enabling AIOpsLab deployment in air-gapped networks.
Changes
aiopslab/plugins/offline_images/image_loader.py— core logic for loading offline imagesaiopslab/plugins/offline_images/README.md— usage documentationaiopslab/service/helm.py— integrate offline image support into Helm deploymentaiopslab/config.yml.example— add offline images config optionsscripts/download_images.sh— shell script to download and save images