istio icon indicating copy to clipboard operation
istio copied to clipboard

Add a new CRD to specify NetworkGateway

Open hzxuzhonghu opened this issue 2 years ago • 8 comments

Currently we have many ways to set network agteway address:

  1. meshNetworks
  2. loadbalancer k8s service
  3. k8s service nodeport

Onging ones:

  1. gateway resource https://github.com/istio/istio/pull/45342
  2. external address k8s svc annotation https://github.com/istio/istio/pull/45903

These capabilities are very separate, I am thinking we should have a global API, which can provide all the above capabilities.

I can file a proposal if possible.

hzxuzhonghu avatar Jul 13 '23 04:07 hzxuzhonghu

cc @howardjohn @ramaraochavali @stevenctl

hzxuzhonghu avatar Jul 13 '23 04:07 hzxuzhonghu

Can https://github.com/istio/istio/pull/45342 just be expanded to meet all the use cases?

howardjohn avatar Jul 13 '23 14:07 howardjohn

Gateway API is extensible enough. I'd be surprised if we need to move again.

stevenctl avatar Jul 13 '23 15:07 stevenctl

How could gateway api enough to express node port svc?

hzxuzhonghu avatar Jul 14 '23 09:07 hzxuzhonghu

And i donot think it has a field to express network id. https://github.com/istio/istio/pull/45342 watches gateway from all the clusters, while that may require users to set separately. This is a UX issue, prefer central control in config cluster

Currently it is far from satisfying istio cases

type GatewayAddress struct {
	// Type of the address.
	//
	// +optional
	// +kubebuilder:default=IPAddress
	Type *AddressType `json:"type,omitempty"`

	// Value of the address. The validity of the values will depend
	// on the type and support by the controller.
	//
	// Examples: `1.2.3.4`, `128::1`, `my-ip-address`.
	//
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:MaxLength=253
	Value string `json:"value"`
}

hzxuzhonghu avatar Jul 14 '23 09:07 hzxuzhonghu

/reopen

hzxuzhonghu avatar Oct 28 '23 08:10 hzxuzhonghu

not stale

hzxuzhonghu avatar Jan 29 '24 06:01 hzxuzhonghu

🚧 This issue or pull request has been closed due to not having had activity from an Istio team member since 2024-01-29. If you feel this issue or pull request deserves attention, please reopen the issue. Please see this wiki page for more information. Thank you for your contributions.

Created by the issue and PR lifecycle manager.

istio-policy-bot avatar May 13 '24 07:05 istio-policy-bot