Artifacts via F5 Artifact Registry (FAR)¶
The BIG-IP Next for Kubernetes manifest file, Helm charts, Docker images, and other utilities are accessible through the F5 Artifact Registry (FAR) at repo.f5.com. A valid Service Account Key is required to access FAR.
This document details the procedures for downloading a Service Account Key, and using the Service Account Key to download the Manifest file and install Helm charts, docker images, and other utilities into the cluster from FAR or Private Registry.
Download the Service Account Key¶
To download the Service Account Key, follow the below steps:
Login to the MyF5.
Navigate to Resources and click Downloads.
Click checkbox to accept the End User License Agreement and Program Terms, then click Next.
Choose BIG-IP_Next from the Select a Product Family Group drop-down.
Select BIG-IP Next for Kubernetes from the Product Line drop-down.
Choose a desired version from the Product Version drop-down menu.
Select the f5-far-auth-key.tar file from the download file list.
Choose a location from the Download location drop-down menu and click Download.
The TAR file contains a Service Account Key that is in base64 format and used for logging into FAR.
Helm Registry Login¶
Perform a Helm Login to download the Manifest file or Helm charts from FAR:
$ cat <service_account_key_base64 file> | helm registry login -u _json_key_base64 --password-stdin https://repo.f5.com
In the below example, cne_pull-base64.json is the Service Account Key.
$ cat cne_pull_64.json | helm registry login -u _json_key_base64 --password-stdin https://repo.f5.com
Download the Manifest File¶
Download the manifest.yaml file for the current release or the specific release you are looking for.
Perform a Helm Pull to pull the Manifest file from FAR:
helm pull oci://repo.f5.com/<path of Manifest file> --version <version of Manifest file>
In the below example, release/f5-bigip-k8s-manifest is the path for pulling bigip-k8s-manifest-2.2.0-3.2226.0-0.0.385.yaml file and its version is 2.0-3.2226.0-0.0.385.
helm pull oci://repo.f5.com/release/f5-bigip-k8s-manifest --version 2.2.0-3.2226.0-0.0.385
The f5-bigip-k8s-manifest-2.2.0-3.2226.0-0.0.385.tgz file is now pulled.
Run list command to see newly downloaded Manifest tgz file:
ls
The file list shows the Manifest file named f5-bigip-k8s-manifest-2.2.0-3.2226.0-0.0.385.tgz.
Extract the Manifest file:
tar zxvf f5-bigip-k8s-manifest-2.2.0-3.2226.0-0.0.385.tgz
Run list command on the f5-bigip-k8s-manifest-2.2.0-3.2226.0-0.0.385 directory. It shall list bigip-k8s-manifest-2.2.0-3.2226.0-0.0.385.yaml file:
ls f5-bigip-k8s-manifest-2.2.0-3.2226.0-0.0.385
The file list shows a bigip-k8s-manifest-2.2.0-3.2226.0-0.0.385.yaml file:
The bigip-k8s-manifest-2.2.0-3.2226.0-0.0.385.yaml file: Contains names and version numbers of all BIG-IP Next for Kubernetes Helm charts and docker images.
Example of bigip-k8s-manifest-2.2.0-3.2226.0-0.0.385.yaml file:
f5_helm_repo: oci://repo.f5.com
f5_docker_repo: repo.f5.com
releases:
- version: 2.2.0-3.2226.0-0.0.385
helm_charts:
- name: charts/cwc
version: 0.49.7-0.0.16
- name: utils/f5-cert-gen
version: 0.9.3
- name: charts/f5-cert-manager
version: 0.23.48-0.1.5
- name: charts/f5-crdconversion
version: 0.61.4-0.0.44
- name: charts/f5-dssm
version: 1.46.0-0.24.0
- name: charts/f5-cnf-crds-n6lan
version: 14.19.4-0.1.11
- name: charts/f5-spk-crds-common
version: 14.19.4-0.1.11
- name: charts/f5-spk-crds-deprecated
version: 14.19.4-0.1.11
- name: charts/f5-spk-crds-service-proxy
version: 14.19.4-0.1.11
- name: charts/f5-toda-fluentd
version: 2.3.2-0.0.6
- name: charts/f5ingress
version: v15.82.0-0.2.50
- name: charts/rabbitmq
version: 0.8.9-0.0.6
- name: charts/csrc
version: 0.11.5-0.0.11
- name: charts/coremond
version: 0.10.0-0.2.3
- name: charts/f5-toda-observer
version: 5.22.10-0.2.4
- name: utils/log-doc-f5ingress
version: 14.19.4+0.1.11
- name: utils/dnat-util
version: v0.5.10+0.0.2
- name: charts/f5-lifecycle-operator
version: v2.9.27-0.2.10
- name: charts/f5-ipam-controller
version: v1.1.48-0.0.8
- name: charts/node-labeler
version: 0.6.9-0.0.3
- name: charts/f5-license-proxy
version: 1.29.0-0.10.22
- name: utils/flp-setup
version: 1.29.0-0.10.22
- name: charts/f5-stats_collector
version: 1.0.21-0.0.3
- name: charts/f5-tmm
version: 15.82.0-0.2.50
- name: charts/coremond
version: 0.10.0-0.2.3
docker_images:
- name: images/cert-manager-cainjector
version: v2.5.2
- name: images/cert-manager-controller
version: v2.5.2
- name: images/cert-manager-startupapicheck
version: v2.5.2
- name: images/cert-manager-webhook
version: v2.5.2
- name: images/crd-conversion
version: v1.212.9-0.7.2
- name: images/crdupdater
version: v0.5.8-0.0.6
- name: images/f5-blobd
version: v1.23.14-0.0.8
- name: images/f5-cert-client
version: v3.5.9-0.0.2
- name: images/f5-csm-qkview
version: v0.13.20-0.0.3
- name: images/f5-debug-sidecar
version: v10.32.4-0.0.38
- name: images/f5-downloader
version: v0.31.3-0.0.15
- name: images/f5-dssm-store
version: v5.1.32-0.0.8
- name: images/f5-dssm-upgrader
version: v2.0.27-0.0.5
- name: images/f5-fluentbit
version: v1.3.9-0.0.4
- name: images/f5-fluentd
version: v2.3.2-0.0.6
- name: images/f5-l4p-engine
version: v1.128.7-0.0.5
- name: images/f5-license-helper
version: v0.12.20-0.0.9
- name: images/f5-nsec-ips-daemon
version: v3.5.18-0.0.4
- name: images/f5-toda-tmstatsd
version: v1.11.24-0.0.5
- name: images/f5dr-img
version: v3.16.0-0.0.13
- name: images/f5dr-img-init
version: v3.16.0-0.0.13
- name: images/f5ing-tmm-pod-manager
version: v1.2.8-0.0.3
- name: images/f5ingress
version: v14.19.4-0.1.11
- name: images/init-certmgr
version: v0.23.48-0.1.5
- name: images/opentelemetry-collector-contrib
version: 0.142.0
- name: images/rabbit
version: v0.5.15-0.0.3
- name: images/spk-cwc
version: v0.37.2-0.0.9
- name: images/tmm-img
version: v10.98.3-0.11.9
- name: images/tmrouted-img
version: v2.15.3-0.1.0
- name: images/spk-csrc
version: v0.7.11-0.0.7
- name: images/f5-dwbld
version: v1.175.3-0.0.11
- name: images/f5-coremond
version: v0.10.0-0.2.3
- name: images/f5-toda-observer
version: v5.22.10-0.2.4
- name: images/f5-bdosd
version: v0.145.0-0.0.4
- name: images/dnsx-img
version: v0.10.29-0.0.3
- name: images/f5-lifecycle-operator
version: v2.9.27-0.2.10
- name: images/f5-ipam-controller
version: v1.1.48-0.0.8
- name: images/f5-node-labeler
version: v0.0.20-0.0.3
- name: images/f5-eowyn-install
version: v0.5.4-10.0.3
- name: images/crd-installer
version: v14.19.4-0.1.11
- name: images/postgresql
version: 1.29.0-0.10.22
- name: images/vault
version: 1.21.1
- name: images/vault-init
version: 1.29.0-0.10.22
- name: images/f5-license-proxy
version: 1.29.0-0.10.22
- name: images/f5-env-discovery
version: v2.9.27-0.2.10
- name: images/f5-fqdn-resolver
version: v0.9.5-0.0.3
- name: images/gslb-engine
version: v0.118.4-0.0.5
- name: images/gslb-probe-agent
version: v0.31.16-0.0.3
- name: images/f5-analyzer
version: v0.0.10-0.0.9
- name: images/f5-urlcat
version: v0.1.3
- name: images/ocnos-img
version: v0.5.2-0.2.3
- name: images/ocnos-img-init
version: v0.5.2-0.2.3
Download Helm charts¶
Use any of the methods outlined below to set up the necessary helm charts, docker images, and tools for configuring the BIG-IP Next on Kubernetes, depending on your environment (offline/online).
Download Helm charts from FAR - For users with online enviroments with access to repo.f5.com.
Download Helm charts from Private Registry - For users with Offilne, Air-gapped Enviroments having Private Registry.
Download Helm charts from FAR¶
The Service Account Key (FAR secret) is used to generate an imagePullSecret to securely install helm chart from FAR. Use the following instructions to install the helm chart directly from FAR into a cluster:
Prerequisites:
Copy and paste the below bash script into a .sh file and run it.
Note:
The bash script here is using cne_pull_64.json as a Service Account Key. This script is written for Linux. Remove
-w 0as arguments to base64 from the script when using on Mac.Make sure to add the
chmod +xbefore .sh file name in the command. For more information, see Technology Tips: chmod overview.
#!/bin/bash
# Read the content of pipeline.json into the SERVICE_ACCOUNT_KEY variable
SERVICE_ACCOUNT_KEY=$(cat cne_pull_64.json)
# Create the SERVICE_ACCOUNT_K8S_SECRET variable by appending "_json_key_base64:" to the base64 encoded SERVICE_ACCOUNT_KEY
SERVICE_ACCOUNT_K8S_SECRET=$(echo "_json_key_base64:${SERVICE_ACCOUNT_KEY}" | base64 -w 0)
# Create the secret.yaml file with the provided content
cat << EOF > far-secret.yaml
---
apiVersion: v1
kind: Secret
metadata:
name: far-secret
data:
.dockerconfigjson: $(echo "{\"auths\": {\
\"repo.f5.com\":\
{\"auth\": \"$SERVICE_ACCOUNT_K8S_SECRET\"}}}" | base64 -w 0)
type: kubernetes.io/dockerconfigjson
EOF
The far-secret.yaml secret file will be generated according to the secret name provided in the bash script.
Download Helm charts from Private Registry¶
Download all helm charts, docker images, and utilities as listed in the manifest file and upload to your private registry.
Perform a Helm Pull to pull the Helm charts from FAR.
helm pull oci://repo.f5.com/<path of Helm chart> --version <version of Helm chart>
In the below example, charts/f5-lifecycle-operator is the path for pulling f5-lifecycle-operator Helm chart and its version is v2.9.27-0.2.10 as retrieved from the bigip-k8s-manifest-2.2.0-3.2226.0-0.0.385.yaml file.
helm pull oci://repo.f5.com/charts/f5-lifecycle-operator--version: v2.9.27-0.2.10
Perform a Utilities Pull to pull the other utilities from FAR:
helm pull oci://repo.f5.com/<path of Utilities> --version <version of Utility>
In the below example, utils/f5-cert-gen is the path for pulling f5-cert-gen utility and its version is 0.9.3 as retrieved from the bigip-k8s-manifest-2.2.0-3.2226.0-0.0.385.yaml file.
helm pull oci://repo.f5.com/utils/f5-cert-gen --version 0.9.3
Perform a Docker Login to download the Docker Image from FAR:
cat <service_account_key_base64 file> | Docker login -u _json_key_base64 --password-stdin https://repo.f5.com
In the below example, cne_pull-base64.json is the Service Account Key.
cat cne_pull_64.json | Docker login -u _json_key_base64 --password-stdin https://repo.f5.com
Perform a Docker Pull to pull the docker images from FAR:
docker pull repo.f5.com/<path of Docker Image>:<version of Docker Image>
In this example, images/rabbit is the path for pulling rabbit docker image and its version is v0.5.15-0.0.3 as retrieved from the bigip-k8s-manifest-2.2.0-3.2226.0-0.0.385.yaml file.
docker pull repo.f5.com/images/rabbit:v0.5.15-0.0.3
Push all downloaded artifacts to your local registry.