In some situations, the Smartfacts server has no access to the internet. In this case, it is not possible to download the needed software and images. This article describes which options we have to install Smartfacts in such scenarios.
...
Table of Contents | ||||||
---|---|---|---|---|---|---|
|
Preparations
Server
Please provide a server that meets the following requirements:
CPU:
x64 / AMD64 processor - ARM based servers will not work
Minimum: 6 Cores
RAM: minimum 32 GB
Hard disk: minimum 150 GB
Most of the data will be stored under
/var/lib/rancher/k3s
Operating System: Linux
All Linux distributions running K3s can be used.
If you are using a Red Hat / CentOS Linux, please perform these preparations:
It is recommended to turn off firewalld:
systemctl disable firewalld --now
If enabled, it is required to disable nm-cloud-setup and reboot the node:
systemctl disable nm-cloud-setup.service nm-cloud-setup.timer
reboot
The user performing the installation will need sudo privileges
The server must be connected to the internet
DNS
Please define a domain for Smartfacts. Either add a wildcard entry *.<domain-name>
to the DNS or enter the required URLs individually:
smartfacts.<domain-name>
camp.<domain-name>
identity.<domain-name>
genoslc.<domain-name>
oslc.<domain-name>
Certificates
Please prepare certificates for the server which meet the following requirements:
It is an X.509 certificate which is suitable for server authentication
Base64-coded in PEM format
Hostnames
The certificat must be issued on the hostnames
smartfacts.<domain-name>
camp.<domain-name>
identity.<domain-name>
genoslc.<domain-name>
oslc.<domain-name>
Hostnames must also be stored in the "Subject Alternative Name" attribute of the certificate
All hostnames and subject alternative names must be written in lower case
The certificat must be valid (valid from, valid to)
It is suitable for the provided private key
The private key may not be password protected
The certificate should comprise the complete certificate chain where possible
If this is missing, then an attempt is made to download the missing intermediate and root certificate during installation.
Install the software
If not done so far please prepare your infrastructure as described in https://smartfacts.atlassian.net/wiki/spaces/SPD/pages/54624257/Installing+Smartfacts+for+Proof+of+Concepts#Prepare-your-infrastructure.
Setup the Kubernetes Environment
Download the software
Download “k3s” and “k3s-airgap-images-amd64.tar.gz” from the “Assets” section of https://github.com/k3s-io/k3s/releases - use version
v1.27.9+k3s1
Download the Helm binaries for Linux amd64 from https://github.com/helm/helm/releases
Copy the contents of the K3s install script at https://get.k3s.io into a new text file called “install.sh”
Download the file https://cp.mid.de/releases/smartfacts-air-gapped/install_airgapped_software.sh
...
Change to the home directory of your user on the server and create a new text file
values.yaml
with the following content:Code Block global: domain: "<your-domain>" instance: "smartfacts-poc" registry: "library" cert: crtFullChain: "<FULL-CHAIN-CERT-BASE64>" key: "<CERT-KEY-BASE64>" ingress: enabled: true # Smartfacts supports Traefik and nginx as Ingress Controller. # The default is Traefik. # If you use nginx as ingress controller please comment in this line: #ingressClassType: "nginx" spa: cspConf: externalUrls: "" # space separated list of your tool urls (IBM Jazz, Jama, Codebeamer) plugin: importPlugins: true # "true" for first installation, "false" for minor updates will speed up the update process a lot genoslc: enabled: false mailservice: enabled: false genoslc camp: enabled: false kafka: enabled: false
Replace the value of the property domain with your domain name
Replace the placeholder of the property crtFullChain with the content of the file
chain.crt.base64
Replace the placeholder of the property key with the content of the
key.base64
fileSave the file
values.yaml
...
Expand | ||||||
---|---|---|---|---|---|---|
| ||||||
Provide Container Images with a Proxy Container RegistryPlease contact your administrators to add the Smartfacts registry https://repo.mid.de to the proxy registry. Add login data to the proxy registryTo connect to your proxy registry, you will need to add the proxy registry login information to your values.yaml file. To do this, replace the placeholder in the following text and insert it into a file called “registrylogin.txt” on the Smartfacts server.
|
Expand | ||||
---|---|---|---|---|
| ||||
Provide container images without a container registryIn this scenario you will download the container images manually and copy it to the server.
Load the container images into k3sOn the Smartfacts server
The script checks wether all files are present and correct. If this is the case, it will load the container images from the files. To save disk space, you can delete the image- and sha256-files the directory after loading. You can view the loaded images with the following command.
|
...
Code Block |
---|
sudo helm upgrade --install --timeout 15m0s smartfacts ./smartfacts -f values.yaml --version 4.7.5-genoslcv2 -n smartfacts --create-namespace |
...
These events show some common error conditions (e.g. Images are not found; insufficient ressources)
How to Move k3s data to another partition or disk
Insert excerpt | ||||||||
---|---|---|---|---|---|---|---|---|
|