Metallic look so that it also looks cylindrical and concave contains a difficult problem. Reflection from a polished surface is a distorted image of the environment. I'm afraid it doesn't get better than your own attempt if you try a gradient. Here's my version of the same:
The piston has the opposite gradient. The surface is convex, the distorted image of the environment is the opposite to what's reflected from the concave cylinder.
But are the surfaces cylindrical? I use quite simple a gradient with one highlight zone. That's how matte cylindrical surfaces usually are drawn. It's useful also for polished surfaces which are not full mirrors, but polished mostly by rotating around the symmetry axis. I made the contrast high and try in that way persuade the watcher to think "It's a metallic piston in a half of a metallic concave cylinder". But in math that's nonsense. The right environment for just these reflections is improbable, secondary reflections are omitted and nothing tells which part is convex and which is concave.
A common trick (it's seen numerous times also here) is to use a complex gradient for metallic effect:
It may look more metallic, but now its even more unclear if it is really cylindrical and which part is concave.
You can make it much more convincing by adding some other hints of the geometry. A perspective image shows more. In the next image the piston is still straight on the face, but the ends of the cylinder are seen a little sideways due the perspective:
Or like this:
I suggest you to use this "additional geometry hint" trick and a simple one highlight gradient as you already have done in the concave part. The "additional geometry hint" pieces (ellipses) are easy enough to be made in a 2D program like Inkscape.