openshift-cli-set-route-backends man page

openshift cli set route-backends — Update the backends for a route

Synopsis

openshift cli set route-backends [Options]

Description

Set and adjust route backends

Routes may have one or more optional backend services with weights controlling how much traffic flows to each service. Traffic is assigned proportional to the combined weights of each backend. A weight of zero means that the backend will receive no traffic. If all weights are zero the route will not send traffic to any backends.

When setting backends, the first backend is the primary and the other backends are considered alternates. For example:

$ openshift cli set route-backends web prod=99 canary=1

will set the primary backend to service "prod" with a weight of 99 and the first alternate backend to service "canary" with a weight of 1. This means 99% of traffic will be sent to the service "prod".

The --adjust flag allows you to alter the weight of an individual service relative to itself or to the primary backend. Specifying a percentage will adjust the backend relative to either the primary or the first alternate (if you specify the primary). If there are other backends their weights will be kept proportional to the changed.

Not all routers may support multiple or weighted backends.

Options

--adjust=false

Adjust a single backend using an absolute or relative weight. If the primary backend is selected and there is more than one alternate an error will be returned.

--all=false

If true, select all resources in the namespace of the specified resource types

--allow-missing-template-keys=true

If true, ignore any errors in templates when a field or map key is missing in the template. Only applies to golang and jsonpath output formats.

--dry-run=false

If true, only print the object that would be sent, without sending it.

--equal=false

If true, set the weight of all backends to 100.

-f, --filename=[]

Filename, directory, or URL to file to use to edit the resource.

--local=false

If true, set image will NOT contact api-server but run locally.

--no-headers=false

When using the default or custom-column output format, don't print headers (default print headers).

-o, --output=""

Output format. One of: json|yaml|wide|name|custom-columns=...|custom-columns-file=...|go-template=...|go-template-file=...|jsonpath=...|jsonpath-file=... See custom columns [ ⟨http://kubernetes.io/docs/user-guide/kubectl-overview/#custom-columns⟩], golang template [ ⟨http://golang.org/pkg/text/template/#pkg-overview⟩] and jsonpath template [ ⟨http://kubernetes.io/docs/user-guide/jsonpath⟩].

-l, --selector=""

Selector (label query) to filter on

-a, --show-all=true

When printing, show all resources (false means hide terminated pods.)

--show-labels=false

When printing, show all labels as the last column (default hide labels column)

--sort-by=""

If non-empty, sort list types using this field specification.  The field specification is expressed as a JSONPath expression (e.g. '{.metadata.name}'). The field in the API resource specified by this JSONPath expression must be an integer or a string.

--template=""

Template string or path to template file to use when -o=go-template, -o=go-template-file. The template format is golang templates [ ⟨http://golang.org/pkg/text/template/#pkg-overview⟩].

--zero=false

If true, set the weight of all backends to zero.

Options Inherited from Parent Commands

--api-version=""

DEPRECATED: The API version to use when talking to the server

--as=""

Username to impersonate for the operation

--azure-container-registry-config=""

Path to the file container Azure container registry configuration information.

--certificate-authority=""

Path to a cert. file for the certificate authority

--client-certificate=""

Path to a client certificate file for TLS

--client-key=""

Path to a client key file for TLS

--cluster=""

The name of the kubeconfig cluster to use

--config=""

Path to the config file to use for CLI requests.

--context=""

The name of the kubeconfig context to use

--google-json-key=""

The Google Cloud Platform Service Account JSON Key to use for authentication.

--insecure-skip-tls-verify=false

If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure

--log-flush-frequency=0

Maximum number of seconds between log flushes

--match-server-version=false

Require server version to match client version

-n, --namespace=""

If present, the namespace scope for this CLI request

--request-timeout="0"

The length of time to wait before giving up on a single server request. Non-zero values should contain a corresponding time unit (e.g. 1s, 2m, 3h). A value of zero means don't timeout requests.

--server=""

The address and port of the Kubernetes API server

--token=""

Bearer token for authentication to the API server

--user=""

The name of the kubeconfig user to use

Example

  # Print the backends on the route 'web'
  openshift cli set route-backends web
  
  # Set two backend services on route 'web' with 2/3rds of traffic going to 'a'
  openshift cli set route-backends web a=2 b=1
  
  # Increase the traffic percentage going to b by 10% relative to a
  openshift cli set route-backends web --adjust b=+10%
  
  # Set traffic percentage going to b to 10% of the traffic going to a
  openshift cli set route-backends web --adjust b=10%
  
  # Set weight of b to 10
  openshift cli set route-backends web --adjust b=10
  
  # Set the weight to all backends to zero
  openshift cli set route-backends web --zero

See Also

openshift-cli-set(1),

History

June 2016, Ported from the Kubernetes man-doc generator

Referenced By

openshift-cli-set(1).

Openshift CLI User Manuals June 2016