The process
There is a lot to do. Here is a list of some of the concerns you'll have to address:
- Implementing your own cloud-provider interface or sidestepping it
- Choosing a networking model and how to implement it (CNI plugin, direct compile)
- Whether or not to use network policy
- Select images for system components
- Security model and SSL certificates
- Admin credentials
- Templates for components such as API Server, replication controller, and scheduler
- Cluster services: DNS, logging, monitoring, and GUI
I recommend the following guide from the Kubernetes site to get a deeper understanding of what it takes to create a cluster from scratch: http://bit.ly/1ToR9EC.