Skip to content

Consider using TTRPC for all containerd services+plugins  #180

@sipsma

Description

@sipsma

Containerd recently added support for TTRPC plugins: containerd/containerd@a8a805c

This should allow us to replace the GRPC FCControl plugin with a TTRPC-based plugin, which in turn would allow us to no longer generate service definitions for both GRPC and TTRPC, instead using purely TTRPC. There may also be some performance benefits to the switch.

At the moment, the TTRPC support doesn't appear to be in tagged release and has a few rough edges, but a quick trial of switching the FCControl plugin to use TTRPC showed it to basically work.

Some of the rough edges we'd probably want to be addressed (perhaps through upstream contributions) before doing this switch:

  1. The TTRPC address appears to be hardcoded in containerd code to be <containerd grpc address>.ttrpc. Ideally, this should be something clients can be told about rather than require them to also hardcode +".ttrpc".
  2. You can create a GRPC client by just doing containerd.New(containerdAddress), but there doesn't appear to be an equivalent method for TTRPC, so you have to do the net.Dial yourself. Ideally, there should be a containerd.NewTTRPC(address) or something.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions