conflictingvirtualservicehost

package
v0.0.0-...-e408518 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 3, 2021 License: Apache-2.0 Imports: 10 Imported by: 2

README

Conflicting VirtualService Host

The conflictingvirtualservicehost vetter inspects the Virtual Service(s) resources in your cluster and generates errors if more than one of them define the same hostname and the same route. When multiple VirtualServices define the same hostname, Pilot will try to merge those virtual services, which can happen in an indeterminite order and cause unexpected behavior in your cluster. Additionally, if two virtual services define the same hostname and at least one of them uses sidecar routing (i.e., not attached to a specific gateway), merging cannot occur.

Istio requires that each VirtualService uses a unique combination of hostname and route. Short hostnames (those that do not contain a '.') are converted to fully qualified domain names (FQDN) that include the namespace where the VirtualService resource is defined, so short hostnames are allowed to be repeated so long as they are defined in separate namespaces. Converting short names to FQDN does not apply to hostnames that include a wildcard '*' prefix, IP addresses, or web addresses. These must be unique regardless of the namespace in which they are defined.

Notes Generated

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func CreateVirtualServiceNotes

func CreateVirtualServiceNotes(virtualServices []*istioClientNet.VirtualService) ([]*apiv1.Note, error)

CreateVirtualServiceNotes checks for multiple vs defining the same host and generates notes for these cases

Types

type VsHost

type VsHost struct {
	// contains filtered or unexported fields
}

VsHost implements Vetter interface

func NewVetter

func NewVetter(factory vetter.ResourceListGetter) *VsHost

NewVetter returns "VsHost" which implements the Vetter Tnterface

func NewVetterFromListers

func NewVetterFromListers(nsLister v1.NamespaceLister, vsLister istioNetListers.VirtualServiceLister) *VsHost

func (*VsHost) Info

func (v *VsHost) Info() *apiv1.Info

Info returns information about the vetter

func (*VsHost) Vet

func (v *VsHost) Vet() ([]*apiv1.Note, error)

Vet returns the list of generated notes

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL