Upgrading SPK

Overview

The Service Proxy for Kubernetes (SPK) can be upgraded using the typical Helm upgrade process.

This document describes how to upgrade SPK from v1.7.x to v1.8.2.

Requirements

Ensure you have:

  • Installed the v1.7.x SPK Cert Manager.
  • Installed the v1.7.x RabbitMQ Pod.
  • Installed the v1.7.x SPK CWC.
  • Installed the v1.7.x SPK Software - f5-toda-fluentd.
  • Installed the v1.7.x SPK Software - f5-dssm.
  • Installed the v1.7.x SPK Software - f5ingress.
  • A workstation with Helm installed.

Procedures

Use the step below to upgrade the SPK from v1.7.x to v1.8.2.

  1. Verify the installation STATUS of the Cert Manager Pods:

    In this example, the Cert Manager Pods are in the spk-cert-manager Project.

    oc get pods -n spk-cert-manager
    

    In this example, the f5-cert-manager, f5-cert-manager-cainjector, and f5-cert-manager-webhook Pods STATUS are Running.

    NAME                                           READY   STATUS              
    f5-cert-manager-cbfc74b4d-kskjx                1/1     Running   
    f5-cert-manager-cainjector-5cfbf4ff75-drmh7    1/1     Running       
    f5-cert-manager-webhook-58bf4b7b76-bcn4p       1/1     Running      
    
  2. Verify the installation STATUS of the RabbitMQ Pod:

    In this example, the RabbitMQ Pod is in the spk-telemetry Project.

    oc get pods -n spk-telemetry
    

    In this example, the RabbitMQ Pod STATUS is Running.

    NAME                              READY   STATUS      
    f5-rabbit-5688f9c8c7-f7d9d        1/1     Running           
    
  3. Verify the installation STATUS of the CWC Pod:

    In this example, the CWC Pod is in the spk-telemetry Project.

    oc get pods -n spk-telemetry
    

    In this example, the CWC Pod STATUS is Running.

    NAME                              READY   STATUS      
    f5-spk-cwc-94bcd64bd-42xdc        1/1     Running           
    
  4. Verify the installation STATUS of the f5-toda-fluentd Pod:

    In this example, the f5-toda-fluentd Pod is in the spk-utilities Project.

    oc get pods -n spk-utilities
    

    In this example, the f5-toda-fluentd Pod STATUS is Running.

    NAME                                  READY   STATUS      
    f5-toda-fluentd-8cf96967b-jxckr       1/1     Running           
    
  5. Verify the installation STATUS of the dSSM Pod:

    In this example, the dSSM Pod is in the spk-telemetry Project.

    oc get pods -n spk-telemetry
    

    In this example, the dSSM Pods STATUS are Running.

    NAME                        READY    STATUS      
    f5-dssm-db-0                3/3      Running   
    f5-dssm-db-1                3/3      Running   
    f5-dssm-db-2                3/3      Running   
    f5-dssm-sentinel-0          3/3      Running   
    f5-dssm-sentinel-1          3/3      Running   
    f5-dssm-sentinel-2          3/3      Running             
    
  6. Verify the installation STATUS of the f5-ingress Pod:

    In this example, the f5-ingress Pod is in the spk-utilities Project.

    oc get pods -n spk-utilities | grep f5ingress
    

    In this example, all 4/4 containers are Running.

    NAME                                        READY    STATUS      
    f5ingress-f5ingress-5cbc875489-ngt9g        4/4      Running               
    
  7. After bringing up the setup, apply the required protocol CRs to run the traffic.

  8. Upgrade the Cert Manager Pod using the newer version Helm chart of SPK v1.8.2:

    helm upgrade <release> tar/<helm-chart>.tgz -n <namespace> -f <values>.yaml
    

    In this example, the Helm chart new version of SPK v1.8.2 is 0.5.16.

    helm upgrade f5-certificate-manager tar/f5-cert-manager-0.6.9.tgz -n spk-cert-manager -f cm_overrides.yaml
    
  9. Upgrade the RabbitMQ Pod using the newer version Helm chart of SPK v1.8.2.

    helm upgrade <release> tar/<helm-chart>.tgz -n <namespace> -f <values>.yaml
    

    In this example, the Helm chart new version of SPK v1.8.2 is 6.0.5.

    helm upgrade spk-rabbit tar/rabbitmq-6.0.5.tgz -n spk-telemetry -f rabbitmq_overrides.yaml
    
  10. Upgrade the CWC Pod using the newer version Helm chart of SPK v1.8.2.

    helm upgrade <release> tar/<helm-chart>.tgz -n <namespace> -f <values>.yaml
    

    In this example, the Helm chart new version of SPK v1.8.2 is 4.0.9

    helm upgrade spk-cwc tar/cwc-4.0.9.tgz -n spk-telemetry -f cwc_overrides.yaml
    
  11. Install the v1.8.2 CRD Conversion pod using Helm install:

    helm install f5-crd-conversion --version v0.4.8 -n spk-crdconversion f5ingress-dev/f5-crdconversion -f crd-conversion-values.yaml  
    
  12. Verify the installation STATUS of the CRD Conversion Pod:

    In this example, the CRD Conversion Pod is in the spk-crdconversion Project.

    oc get pods -n spk-crdconversion
    

    In this example, the CRD Conversion Pod STATUS is Running.

    NAME                                  READY   STATUS      
    f5-crd-conversion-8478b9y96-asfd1     1/1     Running           
    

    _images/spk_warn.png Important: Make sure to uninstall all the existing v1.7.x CRDs before proceeding with the helm installation of v1.8.2 common and service-proxy CRDs in Steps 13 and 14.

  13. Install the full set of common CRDs of SPK v1.8.2 using Helm install:

    helm install crd-common tar/f5-spk-crds-common-7.0.8.tgz -f crd-values.yaml 
    

    Example: crd-values.yaml file (We only need to use this namespace parameter when CRD Conversion is deployed in a non-default namespace. The value of the namespace parameter should match the namespace in which CRD Conversion is deployed.)

    conversion:
      namespace: spk-crdconversion
    
  14. Install the full set of service-proxy CRDs of SPK v1.8.2 using Helm install:

    helm install crd-proxy tar/f5-spk-crds-service-proxy-7.0.8.tgz -f crd-values.yaml 
    

    Example: crd-values.yaml file (We only need to use this namespace parameter when CRD Conversion is deployed in a non-default namespace. The value of the namespace parameter should match the namespace in which CRD Conversion is deployed.)

    conversion:
      namespace: spk-crdconversion
    
  15. Upgrade the f5ingress Pod using the newer version Helm chart of SPK v1.8.2:

    helm upgrade <release> tar/<helm-chart>.tgz -n <namespace> -f <values>.yaml
    

    In this example, the Helm chart new version of SPK v1.8.2 is 11.0.39.

    helm upgrade f5ingress tar/f5ingress-11.0.39.tgz -n spk-utilities -f f5ingress_overrides.yaml
    

Now, the SPK is upgraded from v1.7.x to v1.8.2.

Feedback

Provide feedback to improve this document by emailing spkdocs@f5.com.

Supplemental