metis: implement gRPC daemon server#1024
metis: implement gRPC daemon server#1024YifeiZhuang wants to merge 7 commits intokubernetes:masterfrom
Conversation
|
Skipping CI for Draft Pull Request. |
|
This issue is currently awaiting triage. If the repository mantainers determine this is a relevant issue, they will accept it by applying the The DetailsInstructions 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-sigs/prow repository. |
|
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: YifeiZhuang 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 |
|
/test |
|
/test all |
f8b194b to
f779101
Compare
|
@arvindbr8 @gnossen @zhaoqsh PTAL |
Key changes include:
adaptiveipamgRPC server (daemon_server.go) to listen for pod IP allocation requests over a Unix Domain Socket. And implement rpcAllocatePodIPandDeallocatePodIP.Storeto interface with the SQLite DB, supporting idempotency for all:AddCIDR: Add CIDR blocks and seeds individual IP addresses.AllocateIPv4: Find available IP slots and flipsis_allocatedto true.ReleaseIPByOwner: Releases pod IP addresses by owner identifiers and sets cooldown period timestamp.Threading model:
storeconcurrently to optimize request latency. The DB transactions guarantees thread safet between concurrent requests. Existing WAL mode andbusy_timeoutsupports high concurrent read/write operations without locking.No implementation for IPv6 yet.
/label tide/merge-method-squash