I do this all the time.
I made the mistake of providing hosting/domain services for a couple clients a few years ago. It was a nightmare and I won't do it again.
While a perfectly valid revenue stream, I do not want to be "IT Support" for my clients. That means I don't resell/offer hosting. I don't maintain various CMS packages for clients, etc. It's just not my business model. I'm a designer and as soon as other services are offered clients start calling with email problems or "Can you add this plug in to Wordpress?", etc. That's just not something I choose to take on. The residual income from such maintenance is nice but I just don't have the resources to concern myself with the ever-changing desires of every client I have. I also generally work on larger projects and can not devote a few hours a day to updates and maintenance that happen to pop up way more often when there's an ongoing maintenance fee.
If a client needs hosting/domain services I point them to a company I like to use. Explain what is needed (with a direct link) and ask that they sign up for hosting/domains then simply forward the "Welcome" email they receive to me so I can have access. I explain that this puts control over the hosting and domains in their hands not mine. So that they get notified or renewal times and can be free to renew services for the periods they wish, move services whenever they like, and don't have to worry about their web site begin held "hostage".
I sell the design services not ongoing web maintenance. This includes design and implementation of the initial web site for a quoted fee. I upload pages to their hosting account and then the project is complete. I offer a grace period (based on the size of the site) for any corrections or issues with the primary design. After that.....
Any future updates are billed on an as needed, hourly, basis. This includes adding pages, changing images, adjusting text, etc. The client contacts me with "I'd like to ..... to the web site." I write up an estimate for that work and get approval. Then schedule the work. I find any retainer or maintenance fee being paid by the client results in regular, constant, demands from the client - after all, if they are paying for it they'll use it, naturally.
I actually find many clients like the fact that there is no ongoing retainer needed and they can simply pay for changes when they need them. This also ensures clients think more about changes and plan ahead before asking for them.
When quoting the initial design, I clearly explain to clients that the files are built using HTML5/CSS/PHP etc as needed and that anyone with that knowledge is capable of making changes int eh future. In addition to the fact that I'm perfectly happy to make changes and updates at a later time which are billed at X/hour.