How kubelet's cri shim client communicates with rkt shim through grcp

1/14/2022

I am currently learning kubelet, cri is used to call different container runtimes uniformly, I want to use rkt as an example to understand how to call runtimes other than docker through remote

Communication between kubelet and cri shim server through gRPC.

Taking creating a pod as an example, the kubelet cri shim client will eventually call the following function

// staging/scr/k8s.io/cri-api/pkg/apis/runtime/v1/api.pb.go    line 8571
func (c *runtimeServiceClient) StopContainer(ctx context.Context, in *StopContainerRequest, opts ...grpc.CallOption) (*StopContainerResponse, error) {
	out := new(StopContainerResponse)
	err := c.cc.Invoke(ctx, "/runtime.v1.RuntimeService/CreateContainer", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

But I did not find the corresponding rpc response method in grpc in rkt

Is it because I'm looking for the wrong location or something else?

I really appreciate any help with this.

-- moluzhui
container-runtime-interface
grpc
kubernetes
rkt

0 Answers