CU provides support for the higher layers of the protocol stack such as SDAP, PDCP and RRC while DU provides support for the lower layers of the protocol stack such as RLC, MAC and Physical layer. Also, note that SDAP layer will not be present if the CU is connected to a 4G Core network as we should have 5G core network to support SDAP.
Practically speaking, there is a single CU for each gNB, but one CU controls multiple DUs, for example more than 100 DUs can be connected to one CU.
Each DU is able to support one or more cells, so one gNB can control hundreds of cells unlike the 4G BTS. Also, note that the interface between CU and DU is named F1 and as per 3GPP, it should be an open interface, so you connect one CU from vendor X to another DU from vendor Y.