WASHINGTON ( CNN ) -- The commander of U.S. forces in Afghanistan -- Gen. David McKiernan -- will be replaced by Lt. Gen. Stanley McChrystal , Defense Secretary Robert Gates announced Monday afternoon .