김동수(金東洙)는 1879년 12월 12일(음) 전라남도 광주군(光州郡, 광주광역시의 옛 행정구역) 경양면(景陽面) 병문리(屛門里)에서 태어났다. 본관은 김해(金海)이다. 본명은 김재선(金在先), 자(字)는 동수(東洙)이다. 어려서 아버지를 여의고 가난한 집에서 홀어머니를 모시고 포목상(布木商) 겸 농업에 종사하며 살았다.
1906년 27세의 나이로 대한신영(大韓新營)에 입대하여 사관(士官)이 되었으며, 1907년 일제에 의해 군대가 강제로 해산되자 향리(鄕里)로 돌아와 이원오(李元五) · 조경환(曺京煥) · 양상기(梁相基) · 김현길(金玄吉) 등과 함께 광주에서 의병을 조직하였다. 이후 의병 부대는 1908년 7월 광주 출신의 의병장 양진여(梁振汝) 부대와 합진(合陣)하여 그의 휘하에서 활동하였다.
1908년 12월 25일 5~6명의 의병 대원을 이끌고 전라남도 광주군 갑마보면(甲馬保面)의 친일 면장(面長) 집에 들어가 군자금 60원을 요구하였으나, 돈이 없다고 하자 면장을 구타하고 대신 짚신 50켤레를 징수하였다.
1909년 1월 12일에는 광주군의 어느 이장(里長) 집에 들어가 총기로 위협하고 20원의 자금을 징수하려 하였으나 돈이 없다고 하자 백목(白木)을 징수하였다. 2월 하순에는 광주군 오치면(梧峙面)의 동장(洞長) 집에서 현금 20원과 백목 10필을 징수하려 하였으나 거절당하자 백목 세 필만 확보하였다. 2~5월까지는 15명의 의병을 이끌고 광주 · 화순 · 담양 · 장성 등지에서 활동하였으며, 이때 부대원들은 총기를 휴대하고 있었다고 한다. 3월 20일에는 의병 대원 2명과 함께 장성군에 사는 최봉근의 집에 들어가 군도(軍刀) 한 자루를 확보하기도 하였으며, 4월 1일과 2일에는 평창군 지곡동(芝谷洞)에서 짚신, 백목 등의 군수물자와 군자금 등을 징수하였다.
이후 김동수는 양진여 의진에서 분진(分陣)하여 65명의 의병을 이끌고 전라남도 화순을 근거지로 활동하였다. 부관(副官)은 이기섭(李基燮)이었으며, 선전병(宣傳兵)은 선덕현(宣德玄), 도포사(都砲士)는 임윤팔(林允八) · 임윤오(林允五) 형제, 도십장(都什長)은 이재민(李在珉), 의원(議員)은 양동골(梁東骨) · 백학선(白學善) · 박포대(朴砲大) 등이었다.
1909년 5월 1일9 광주군 덕산면(德山面) 덕산리에서 일본군 광주분견소군의 습격을 받고 교전을 벌였다. 5월 31일에는 광주경찰서의 순사부장 가사마〔笠間〕가 이끄는 경찰대와 광주군 갑마보면 본촌(本村)에서 교전하였다. 이때 부상을 입기도 하였으나, 이후에도 광주뿐만 아니라 담양 · 장성 등지에서도 활약하였다.
1909년 9월 사창(社倉) 전투에서 오른쪽 다리에 총상을 입고 체포되었으며, 1910년 2월 22일 경성공소원(京城控訴院)에서 징역 15년 형을 선고받고 옥고를 치르던 중 옥중에서 순국하였다.
1995년 건국훈장 독립장이 추서되었다.