RedHat doesn't officially support any of this yet, but they did mostly support CentOS in Satellite 5 and most of this is adapted from that version. It's just modified to work with the new way of doing things in Satellite 6. I do have this working in a production environment; and hopefully this will help other people get there.
Once you have the repositories, it basically works just like RedHat, but with different subscriptions. You call subscription manager to get the system connected, and from there it's just a matter of setting up puppet, etc. to get everything managed. Since CentOS is direct copy of RedHat for most packages; you can even use the same puppet modules, etc. as your RedHat machines. Although, for sanity, I did put my CentOS machines in their own groups; since there are a few minor things that are different.
Here's the list of repositories you will need for your client machines:
1) CentOS base repositories, plus "update" and "extras". Extras is required for some of the subscription-manager dependencies. It's also required if you need EPEL in CentOS.
2) EPEL repositories, because again subscription-manager dependencies. This will also end up providing katello-agent and puppet when all is said and done.
3) subscription-manager. If you want to actually subscribe your client system properly. RedHat doesn't provide a new version through their repositories yet, at least not that I have found, and the Satellite 5 version doesn't work. However, someone was nice enough to publish a repository with working versions here. Just choose the OS version and arch that you need. https://repos.fedorapeople.org/repos/candlepin/subscription-manager/