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's interface or sidestepping it
- Choosing a networking model and how to implement it (using a CNI plugin or directly compiling)
- Whether or not to use a network policy
- Select images for system components
- Security models and SSL certificates
- Admin credentials
- Templates for components such as an API server, replication controller, and scheduler
- Cluster services such as DNS, logging, monitoring, and GUI
I recommend reading the guide at the Kubernetes site (http://bit.ly/1ToR9EC) to get a deeper understanding of what it takes to create a cluster from scratch.