Moving a bone moves only the first level of child, not all levels of children I have a cylinder, with a child piston coming off it. I made the piston by following this tutorial. The piston is stuck to the cylinder by making one of the "bearings" at the end of the cylinder into a child.

When I move the cylinder around in edit mode, the piston moves with it, which is what I want to happen.

I am trying to rig some bones up for this, and I have put a bone and set the cylinders parent to be the bone. When I move the bone in pose mode, the cylinder moves, but the piston does not. I rigged the cylinder to the bone by selecting "Armiture Deform -> With automatic weights". I tried to set it as a bone, but it teleports the cylinder somewhere else. No idea what is up with that.

Why does the piston not move with the cylinder when I am moving the bone? How can I make the piston move with the bone in pose mode?
You used automatic weights?  Click the cylinder and go to weight paint mode.
On the right side under Vertex Groups click on the bone in question. You will probably see that the cylinder is red and (depending on how many bones it has) green. But the piston is probably blue. There are two ways to fix this. You can extrude your current bone(s) so that you have a bone for the piston and then re-parent it with automatic weights. Or you could select the piston, in edit mode select all of the faces of the piston. Then find Vertex Groups on the right side of the screen. Click on the bone that you want the piston to move with. Make sure you are using a weight of 1.000 and then click assign.
Hope that this helps!