Skip to content

Instantly share code, notes, and snippets.

@ryotarai

ryotarai/main.go Secret

Created May 11, 2021 06:22
Show Gist options
  • Save ryotarai/8c3850696acdfabce5edc13a584d0c6c to your computer and use it in GitHub Desktop.
Save ryotarai/8c3850696acdfabce5edc13a584d0c6c to your computer and use it in GitHub Desktop.
podresources client example
package main
import (
"context"
"log"
"github.com/k0kubun/pp"
"google.golang.org/grpc"
podresourcesv1 "k8s.io/kubelet/pkg/apis/podresources/v1"
)
func main() {
ctx := context.Background()
grpcConn, err := grpc.DialContext(ctx, "unix:///host/var/lib/kubelet/pod-resources/kubelet.sock", grpc.WithInsecure())
if err != nil {
log.Fatal(err)
}
lister := podresourcesv1.NewPodResourcesListerClient(grpcConn)
{
resp, err := lister.GetAllocatableResources(ctx, &podresourcesv1.AllocatableResourcesRequest{})
if err != nil {
log.Fatal(err)
}
pp.Printf("GetAllocatableResources: %+v\n", resp)
}
{
resp, err := lister.List(ctx, &podresourcesv1.ListPodResourcesRequest{})
if err != nil {
log.Fatal(err)
}
pp.Printf("ListPodResourcesRequest: %+v\n", resp)
}
}
GetAllocatableResources: &v1.AllocatableResourcesResponse{
Devices: []*v1.ContainerDevices{
&v1.ContainerDevices{
ResourceName: "dummy/dummyDev",
DeviceIds: []string{
"dev_3",
},
Topology: (*v1.TopologyInfo)(nil),
XXX_NoUnkeyedLiteral: struct {}{},
XXX_sizecache: 0,
},
&v1.ContainerDevices{
ResourceName: "dummy/dummyDev",
DeviceIds: []string{
"dev_4",
},
Topology: (*v1.TopologyInfo)(nil),
XXX_NoUnkeyedLiteral: struct {}{},
XXX_sizecache: 0,
},
&v1.ContainerDevices{
ResourceName: "dummy/dummyDev",
DeviceIds: []string{
"dev_1",
},
Topology: (*v1.TopologyInfo)(nil),
XXX_NoUnkeyedLiteral: struct {}{},
XXX_sizecache: 0,
},
&v1.ContainerDevices{
ResourceName: "dummy/dummyDev",
DeviceIds: []string{
"dev_2",
},
Topology: (*v1.TopologyInfo)(nil),
XXX_NoUnkeyedLiteral: struct {}{},
XXX_sizecache: 0,
},
},
CpuIds: []int64{},
XXX_NoUnkeyedLiteral: struct {}{},
XXX_sizecache: 0,
}
ListPodResourcesRequest: &v1.ListPodResourcesResponse{
PodResources: []*v1.PodResources{
&v1.PodResources{
Name: "device1",
Namespace: "default",
Containers: []*v1.ContainerResources{
&v1.ContainerResources{
Name: "c",
Devices: []*v1.ContainerDevices{
&v1.ContainerDevices{
ResourceName: "dummy/dummyDev",
DeviceIds: []string{
"dev_1",
},
Topology: &v1.TopologyInfo{
Nodes: []*v1.NUMANode{
&v1.NUMANode{
ID: 0,
XXX_NoUnkeyedLiteral: struct {}{},
XXX_sizecache: 0,
},
},
XXX_NoUnkeyedLiteral: struct {}{},
XXX_sizecache: 0,
},
XXX_NoUnkeyedLiteral: struct {}{},
XXX_sizecache: 0,
},
&v1.ContainerDevices{
ResourceName: "dummy/dummyDev",
DeviceIds: []string{
"dev_4",
},
Topology: &v1.TopologyInfo{
Nodes: []*v1.NUMANode{
&v1.NUMANode{
ID: 0,
XXX_NoUnkeyedLiteral: struct {}{},
XXX_sizecache: 0,
},
},
XXX_NoUnkeyedLiteral: struct {}{},
XXX_sizecache: 0,
},
XXX_NoUnkeyedLiteral: struct {}{},
XXX_sizecache: 0,
},
},
CpuIds: []int64{},
XXX_NoUnkeyedLiteral: struct {}{},
XXX_sizecache: 0,
},
},
XXX_NoUnkeyedLiteral: struct {}{},
XXX_sizecache: 0,
},
},
(redacted)
XXX_NoUnkeyedLiteral: struct {}{},
XXX_sizecache: 0,
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment