Astros’ Jason Castro to have knee surgery Friday