code: func (m *Mercury) GetNode(ctx context.Context, podname, nodename string) (*types.Node, error) {
  	node, err := m.doGetNode(ctx, podname, nodename)
  	if err != nil {
  		return nil, err
  	}
  
  	engine, err := m.makeClient(ctx, podname, nodename, node.Endpoint, false)
  	if err != nil {
  		return nil, err
  	}
  
  	node.Engine = engine
  	return node, nil
  }
docs: // GetNode get a node from etcd
  // and construct it's engine client
  // a node must belong to a pod
  // and since node is not the smallest unit to user, to get a node we must specify the corresponding pod
  // storage path in etcd is `/pod/nodes/:podname/:nodename`