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
-
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.json
The
version.json
will 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.sh
script 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 path
is 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.sh
and those resource will be un-tar and moved to target path.ui/cli enhancement
air-gap package management interface
air-gap CLI
Add
airgap
sub-command, following functions will be needed:The
update-install-script
command is for udpating the storedinstall.sh
script. The auto-update mode will be executed if no flags are specified. Or specifying thefile
flag to update the stored install script.air-gap UI
There will be a new page
Air-gap Packages
underSettings
and list all the air-gap packages with following columns:In the list page, we will have
Show/Update Install Script
,Show/Update Package Source
andCreate
button.The
Show/Update Install Script
will 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 Source
will be a popup-form. And the Air-gap package source will display/input with a single line text input.The
Create
will be the a normal page. The name input will be required and theimport
options will let user to select a current tar.gz file path to upload. If theimport
is specified, No other options will be required. Backend will take the file upload first(with api/v1/airgaps?action=upload
) and response thefilepath
,k3s version
and theincluded archs
to show in UI.Otherwise, the
k3s version
andarchs
will be required for air-gap package create.The actions for each package are following:
The
update
action will display the multiple selection checkbox for selecting archs withname
andk3s version
being readonly.The
export
action 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
path
column ofair-gap ls
output.cluster create UI
In the
K3s Options
section 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 Script
andSystem Default Registry
will 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 Version
andK3s Install Script
and 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