Autok3s Air-gap installation design #480
Closed
orangedeng
started this conversation in
Ideas
Replies: 3 comments
-
|
Great, I like it. |
Beta Was this translation helpful? Give feedback.
0 replies
-
|
PR for airgap support: #491 |
Beta Was this translation helpful? Give feedback.
0 replies
-
|
The UI function |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
autok3s air-gap installation
core feature
storage backend support(not necessary)
Maybe we can support multiple storage backend for storing air-gap package.
If we don't need to management storage backend, we only need to support local file system to store packages.
air-gap package management
We need to management air-gap package by k3s version. Archs will be selected when generating/updating package. Following archs will be supported:
Following resources will be downloaded for each:
Those resource will be stored in following directory:
. ├── amd64 │ ├── k3s │ ├── k3s-airgap-images-amd64.tar.gz │ ├── k3s-images.txt │ └── sha256sum-amd64.txt └── version.jsonThe
version.jsonwill store k3s version and the target version info.The package also support to be imported/exported in tar.gz format. The autok3s will check the air-gap package before cluster setup.
Following two functions will also be needed.
install.shscript should be downloaded when compiling new autok3s release and stored in database. The script's source and version are needed to be recorded.air-gap cluster installation
For creating new cluster, following option(s) will be added:
And the current options will not be compatible with the new air-gap option(s):
If the
Air-gap package pathis specified, autok3s will assume that the cluster is using air-gap package to install.When the cluster installation is using air-gap package, the related package and install script will be scp to cluster node before running
install.shand those resource will be un-tar and moved to target path.ui/cli enhancement
air-gap package management interface
air-gap CLI
Add
airgapsub-command, following functions will be needed:The
update-install-scriptcommand is for udpating the storedinstall.shscript. The auto-update mode will be executed if no flags are specified. Or specifying thefileflag to update the stored install script.air-gap UI
There will be a new page
Air-gap PackagesunderSettingsand list all the air-gap packages with following columns:In the list page, we will have
Show/Update Install Script,Show/Update Package SourceandCreatebutton.The
Show/Update Install Scriptwill be a popup-form. And the current version(commit) and the source of the script will be readonly in page. And it will have a multi-line input for displaying and inputing the install script.The
Show/Update Package Sourcewill be a popup-form. And the Air-gap package source will display/input with a single line text input.The
Createwill be the a normal page. The name input will be required and theimportoptions will let user to select a current tar.gz file path to upload. If theimportis specified, No other options will be required. Backend will take the file upload first(with api/v1/airgaps?action=upload) and response thefilepath,k3s versionand theincluded archsto show in UI.Otherwise, the
k3s versionandarchswill be required for air-gap package create.The actions for each package are following:
The
updateaction will display the multiple selection checkbox for selecting archs withnameandk3s versionbeing readonly.The
exportaction will let user to select a path to store the export tar.gz file. Kind of like a download function.air-gap options for cluster create
cluster create CLI
There will be a air-gap package path(
air-gap-package) flags will be added to cluster create options. Refer to the design of air-gap install design, some flags will not be compatible with the air-gap flag and will be checked in cluster create process.And this tag should be input as a file path with the
pathcolumn ofair-gap lsoutput.cluster create UI
In the
K3s Optionssection of cluster create page, The air-gap install will be a checkbox and the air-gap package list dropdown with single selection. If the air-gap install is checked, theK3s Channel,K3s Version,K3s Install ScriptandSystem Default Registrywill be hidden.air-gap options for cluster upgrade
If the cluster used to install with air-gap installaion, the upgrade cluster page will be set to select air-gap package page instead of inputing
K3s Channel,K3s VersionandK3s Install Scriptand the air-gap install checkbox will be checked state.It is supported to un-checked the air-gap install options to use online install when upgrading a cluster.
Beta Was this translation helpful? Give feedback.
All reactions