knative / serving

Kubernetes-based, scale-to-zero, request-driven compute
https://knative.dev/docs/serving/
Apache License 2.0
5.57k stars 1.16k forks source link

[wip] Private Service doesn't need a cluster IP #15392

Open dprotaso opened 4 months ago

dprotaso commented 4 months ago

This brings back "change private K8s service to be a headless service (#15170)" with some additional changes.

When we set 'ClusterIP: None' on the private service the activator can't perform the fallback service probing. This is needed while in mesh mode.

This change tweaks the fallback probing to use the hostname of the private service instead of using a cluster IP.

On caveat is that when using a headless service Istio/K8s doesn't perform any port translation 80 (http)->8012 (queue-proxy http).

Thus we perform this lookup ourselves.

knative-prow[bot] commented 4 months ago

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: dprotaso

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Needs approval from an approver in each of these files: - ~~[OWNERS](https://github.com/knative/serving/blob/main/OWNERS)~~ [dprotaso] Approvers can indicate their approval by writing `/approve` in a comment Approvers can cancel approval by writing `/approve cancel` in a comment
dprotaso commented 4 months ago

/test istio-latest-mesh /test istio-latest-mesh-short /test istio-latest-mesh-tls

dprotaso commented 4 months ago

/test istio-latest-mesh /test istio-latest-mesh-short /test istio-latest-mesh-tls

knative-prow[bot] commented 4 months ago

@dprotaso: The following tests failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name Commit Details Required Rerun command
unit-tests_serving_main a76d1041688e340ba6e4e9fa1e43d3c813ee7b96 link true /test unit-tests
istio-latest-mesh_serving_main a76d1041688e340ba6e4e9fa1e43d3c813ee7b96 link false /test istio-latest-mesh
istio-latest-mesh-short_serving_main a76d1041688e340ba6e4e9fa1e43d3c813ee7b96 link false /test istio-latest-mesh-short

Your PR dashboard.

Instructions for interacting with me using PR comments are available [here](https://git.k8s.io/community/contributors/guide/pull-requests.md). If you have questions or suggestions related to my behavior, please file an issue against the [kubernetes-sigs/prow](https://github.com/kubernetes-sigs/prow/issues/new?title=Prow%20issue:) repository. I understand the commands that are listed [here](https://go.k8s.io/bot-commands).
github-actions[bot] commented 1 month ago

This Pull Request is stale because it has been open for 90 days with no activity. It will automatically close after 30 more days of inactivity. Reopen with /reopen. Mark as fresh by adding the comment /remove-lifecycle stale.

skonto commented 3 weeks ago

@dprotaso what is the status of the PR, is this something you still want to pursue?