Table of Contents | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
|
Info |
---|
InfoManually creating a local repo requires initial access to the Internet to retrieve all dependencies , and then the machine can be air-gapped. |
Table of Contents |
---|
External Libraries for SCS
Three external libraries to install SCS are:
External Library | Description |
---|---|
Podman 3.0.1 | Required for HTTP support. Dependencies of Podman 3.0.1 (podman_packages.tar) is included with Swarm v14.1 Update Bundle package. |
Pause Container | The |
| |
Bash Autocompletion | Required for tabbing on scsctl. Sourced from the EPEL repository for CentOS. |
Set
...
-Up the Environment
Offline installation for CentOS requires RPMs and dependencies for all those packages on a repository. This is challenging in air-gapped networks or networks with no Internet access. The best way is to create a local offline repository.
Minimum installation requirements are:
Install a VM with RHEL/CentOS 7 .9 or RHEL/Rocky Linux 8 (or the previous version) and a “Minimal Server” profile.
Run
yum
to resolve dependencies for a package.RHEL/CentOS 7 or RHEL/Rocky Linux 8 server with Internet access and some disk space to pull the repo files.
SCS Dependencies
Install a set of packages to download RPMs and dependencies then create a repository. RPMs and dependencies use the download only yum-plugin to pull. Use the “createrepo” tool to create a repository for offline usage.
Steps to Check SCS Dependencies
Install the yum-downloadonly plugin.
Code Block yum -y install yum-plugin-downloadonly
The package by default comes with large installations.
Create a directory for download packages.
Code Block mkdir packages
Query the RPM dependencies.
Code Block rpm -qpR swarm-scs-{version}.x86_64.rpm
Result:
glibc >= 2.17 |
bash-completion
dhcp |
Download SCS Dependencies
Pull the following from the above list to download SCS and RPM’s dependencies:
Query | Command |
---|---|
bash-completion [NOTE: No longer required after SCS 1.5] | yum -y install --downloadonly --downloaddir=/root/packages/ bash-completion |
bash-completion-extras [NOTE: No longer required after SCS 1.5] | yum -y install --downloadonly --downloaddir=/root/packages/ bash-completion-extras |
chrony | yum -y install --downloadonly --downloaddir=/root/packages/ chrony |
cronie | yum -y install --downloadonly --downloaddir=/root/packages/ cronie |
dhcp | yum -y install --downloadonly --downloaddir=/root/packages/ dhcp |
iproute | yum -y install --downloadonly --downloaddir=/root/packages/ iproute |
logrotate | yum -y install --downloadonly --downloaddir=/root/packages/ logrotate |
NetworkManager | yum -y install --downloadonly --downloaddir=/root/packages/ NetworkManager |
python3 | yum -y install --downloadonly --downloaddir=/root/packages/ python3 |
rsyslog | yum -y install --downloadonly --downloaddir=/root/packages/ rsyslog |
Create Podman 3.0.1 Repo
Swarm 15.x bundle includes podman offline repo. Refer to step 3 until step 7 of Online SCS Installation https://perifery.atlassian.net/wiki/spaces/public/pages/3042345098 to create a local repo for podman.
...
Note
Downloaded packages are not enough to install SCS server due to third-party external packages. Suggest query on each downloaded RPM packages to get the new list for additional download.
Contact DataCore Support if facing any issue and need assistance for manually creating a local repo.
Create a Local Repo
Run “createrepo” against the packages folder.
Code Block language bash [root@dhcp-128 ~]# createrepo packages/ Spawning worker 0 with 18 pkgs Spawning worker 1 with 18 pkgs Workers Finished Saving Primary metadata Saving file lists metadata Saving other metadata Generating sqlite DBs Sqlite DBs complete
Tar up the directory and its packages.
Code Block cd /root/ tar -cvf repo.tar packages/
Create an Offline Pause Container
Install Podman on RHEL/CentOS 7 or RHEL/Rocky Linux 8.
Code Block yum -y install podman
Pull the Pause Container.
Create a new pod to automatically pull the registry.k8s.gcr.io/pause:3.2 image.
Code Block language bash podman pod create fc299d05422a55e46774aa06a66bc853109aeb4b1d7078f81f9ffa4eef26c8e0
List the pulled images.
Code Block language bash podman images REPOSITORY TAG IMAGE ID CREATED SIZE registry.k8s.gcr.io/pause 3.2 80d28bedfe5d 22 months ago 688 kB
Note
...
Tag
...
...
...
pause“ with 3.2 or higher.
Export Pause Container and save it for offline installation.
Code Block language bash podman save -o registry.k8s.
...
io_pause_3.2.tar registry.k8s.
...
io/pause:3.2 ll total 680 -rw-r--r--. 1 root root 692224 Dec 7 20:10 registry.k8s
...
.io_pause_3.2.tar
Tip |
---|
Next, see Install SCS Offline. |