Forking network proxy proto-type into the apiserver-network-proxy repo.#1
Forking network proxy proto-type into the apiserver-network-proxy repo.#1cheftako merged 21 commits intokubernetes-sigs:masterfrom
Conversation
Fixed make to honor dependencies. Added a clean target and removed build artifacts. Added vendor directory to allow build to work without additional cloning.
Moved 4 executables go programs to live in cmd. Switched them to use Cobra to make it easy to add flags. Collapsed original example into new example. Renamed to Proxy and Agent to make example more clear. Fixed arrow.
Added mTLS support between client and proxy. Still need to add support between agent and proxy. Further enhanced makefile to support mtls. Added build for binaries. Updated readme to reflect this.
Added mTLS support to agent connection. Added second set of credentials for agent side. Updated server to support different credentials on each side. Fixed a few minor issues in logs to make the consistent. Updated proto for protoc 3.6.1
Added http server for port 8092 to proxy server. Returns 200/ok unless the process is down. Should make it a bit smarter with a readiness endpoint. Should consider metrics and pprof as well. Similarly added http server for port 8093 to proxy agent.
Split out (muxed) liveness, readiness and metrics endpoints. Did this on both agent and proxy. Now ignore unrecognized request paths on the admin port. Fixed header on readme.
This reverts commit 81bc960.
To avoid a slow remote connection blocking the agent.
Fixed logging feedback from anfernee
Added README for using curl as a client.
|
@cheftako: GitHub didn't allow me to assign the following users: anfernee. Note that only kubernetes-sigs members and repo collaborators can be assigned and that issues/PRs can only have 10 assignees at the same time. DetailsIn response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. |
|
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: cheftako The full list of commands accepted by this bot can be found here. The pull request process is described here DetailsNeeds approval from an approver in each of these files:
Approvers can indicate their approval by writing |
|
/lgtm |
|
@anfernee: changing LGTM is restricted to assignees, and only kubernetes-sigs/apiserver-network-proxy repo collaborators may be assigned issues. DetailsIn response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. |
| @@ -0,0 +1,185 @@ | |||
| package main | |||
There was a problem hiding this comment.
I know this is still a WIP, but do we need license headers here?
There was a problem hiding this comment.
Yes. Want to get your first commit to this repo?
|
So the general idea is that there would be a proxy server co-located with each Kubernetes API Server (KAS). Currently we would have a proxy agent running in each Node connecting to each proxy server. One obvious improvement (which I will now go and file, thank you) is that a proxy agent should be able to connect to multiple proxy servers, so we don't need 3 proxy agents per Node. (One for each master in the HA). The slightly longer term issue to solve is that for LARGE clusters we do not need every Node to run a proxy agent. The routing portion of running sparse proxy agents on the cluster is a solved problem. The issue then is that for large clusters you want something like a DaemonSet but with sparse distribution. This is currently considered to be a Deployment issue on the cluster and as such not something which can be fixed in this repo. |
Add vendor tree, Dockerfile, override OWNERs, and upstream carry fixes
This merges the initial prototype code for network proxy into the repo.
The prototype is for https://github.com/kubernetes/enhancements/blob/master/keps/sig-api-machinery/20190226-network-proxy.md
/sig cloud-provider
/assign @anfernee