github voyagermesh/voyager 3.2.0

latest releases: v2024.3.18, v2023.9.18, v2023.05.16...
6 years ago

Voyager 3.2.0 is here with lots of handy features and stability improvements. We recommend updating Voyager operator if you are using it currently. For new users, please follow the deployment guide here . For existing users, please first read the Actions Required section below.

Download Docker images via:

docker pull appscode/voyager:3.2.0
docker pull appscode/haproxy:1.7.6-3.2.0

Notable Changes

  • Document how to use kubectl. #442
  • Serve both HTTP and HTTPS under same host #262
  • Allow users to specify NodePort in NodePort & LoadBalancer mode. #128
  • Add configure option for Haproxy default timeout. #286
  • Run L7 ingress on non-standard ports #73
  • Supports TLS enabled Backend #408
  • Allows custom options in HAProxy config #403
  • Supports custom user templates #454
  • Implement Basic Auth for HTTP Ingresses #470
  • Apply Session affinity to Backend service #460
  • Frontend rules #467
  • HAProxy backend names are more readable. This improve Prometheus labels from HAProxy Exporter. #310 #271
  • Enable PROXY protocol using ingress.appscode.com/accept-proxy annotation #475
  • Open firewall for know providers in NodePort mode. #227
  • Restart HAProxy in case of renew certificates #413
  • Converting E2E tests to use Ginkgo #334
  • Make AWS HostPort SG name unique across clusters #391
  • Fix AWS SecurityGroup leakage in HostPort mode #389
  • Fix Firewall name for GCE in NodePort mode. #472
  • Disabled HostPort mode for GCE. #473
  • Validate existing Ingress before starting operator #46, #346
  • Bug: Detect port changes correctly. #376
  • Bug: Ingress update code revised to ensure that HAProxy deployments are not deleted. So, using pod horizontal auto scalers are safe. #385
  • Bug: Fix Domain equality check for certificates #410
  • Bug: Create RBAC objects if missing #458
  • Move analytics collector to root command #450
  • Bug: Updated lego to detect DNS zone correctly. #375

Actions Required:

Voyager 3.2.0 includes a number of breaking changes from previous versions for TCP load balancing. These changes are in the following general category:

  • TCP rules now takes secret name from spec.TLS section like HTTP rules. So, you must specify a host in TCP mode to use TLS.
  • Each spec.rule can have a single TCP rule instead of an array of TCP rules. If you have multiple TCP rules, just add top level spec.rules like HTTP.

If you are using Voyager currently, please follow the steps below to upgrade:

Voyager binary now includes a check command that can be used to validate Ingress. Download the pre-built binary from Github release page. Now, run the command below to validate existing Ingress objects.

$ voyager check --cloud-provider=minikube --v=3

If everything is valid, then you can just update the Voyager opreator image tag to upgrade. If the above command returns a validation error, please follow the steps below to manually upgrade:

  1. Delete the deployment and service used for Voyager operator.

    kubectl delete deployment voyager-operator --namespace=kube-system
    kubectl delete service voyager-operator  --namespace=kube-system
    
    1. Now, wait several seconds for Voyager to stop running. Run kubectl get pods --namespace=kube-system to confirm that Voyager operator pod(s) have stopped running.
    2. Get all your AppsCode Ingress objects.
      sh kubectl get ingress.voyager.appscode.com --all-namespaces -o yaml > data.yaml
  2. Delete the old Ingress objects from all namespaces one by one. Please make sure you exported the existing Ingress correctly in Step 3.

    kubectl delete ingress.voyager.appscode.com --all --cascade=false
    
  3. Update your Ingress objects in data.yaml to fix the TCP rules.

  4. Recreate your new Ingress.

    kubectl create -f data.yaml
    
    1. Now install the Voyager 3.2.0 operator following the instructions here.
      What's Next:
      This is the last feature release that supports Kubernetes 1.5 and 1.6. Next version of Voyager will migrate to CRDs and support Kubernetes 1.7+ .

Don't miss a new voyager release

NewReleases is sending notifications on new releases.