customer1.mysite.com is easier to do.
First, you setup a DNS record:
customers.mysite.com IN A 12.34.56.78
Then, your customers setup CNAME records:
sub.customer1.com IN CNAME customers.mysite.com
Next, depending on your webserver (going to assume Apache), you setup virthosts:
<VirtualHost :80>
ServerName customer1.mysite.com
(etc...)
</VirtualHost>
<VirtualHost :80>
ServerName customer2.mysite.com
(etc...)
</VirtualHost>
The reason you setup the customers.mysite.com record and have EVERYONE CNAME to that is because when you eventually change servers/hosts/IP addresses you simply update that single record (which is under your control) and then everything else follows. Same logic for when you eventually need to insert a load balancer or an haproxy auto-failover maintenance page.