diff --git a/README.md b/README.md index 35347c66..61086169 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,7 @@ # Overview -Promenade is tool for deploying self-hosted Kubernetes clusters using -[bootkube](https://github.com/kubernetes-incubator/bootkube). +Promenade is tool for deploying self-hosted, highly resilient Kubernetes clusters using +[bootkube](https://github.com/kubernetes-incubator/bootkube). Currently. Promenade works by leveraging Docker containers with the Bootkube binaries in order to setup Kubernetes on the host operating system. Default Kubernetes assets and manifests are included in this repo, but it is recommended to render or supply your own assets for real-world deployments. ## Quickstart using Vagrant @@ -48,21 +48,34 @@ vagrant snapshot restore clean --no-provision ## Detailed Deployment -The basic outline for deploying a cluster is: +The below steps can be used to deploy a cluster on bare metal or virtual nodes: 1. Overwrite the placeholder assets in the `assets` directory. + 2. Make sure the `Makefile` lists the images and versions you expect to be required. + 3. Build the images with `make build` + 4. Setup each host with the following: - - DNS resolution pointing `kubernetes` to the appropriate IPs for the + - DNS resolution pointing `kubernetes` to the appropriate IPs (Kubernetes master nodes) for the Kubernetes API - A running docker daemon, configured to use the DNS resolution specified - above (see `vagrant-assets/docker-daemon.json`) + above (see `vagrant-assets/docker-daemon.json`) + 5. Transfer the appropriate images to each host. You may find it useful to run `make save`, transfer the image and then use `docker load -i ...` to restore it rather than to rely on a registry. -6. On the genesis (seed) server, start the cluster: + +6. On the genesis (seed) server, start the cluster supplying in the node's FQDNs: `docker run --rm -v /:/target -v /var/run/docker.sock:/var/run/docker.sock -e NODE_HOSTNAME=genesis-node.fqdn quay.io/attcomdev/promenade-genesis:dev` -7. On each additional node: - `docker run --rm -v /:/target -v /var/run/docker.sock:/var/run/docker.osck -e NODE_HOSTNAME=join-node.fqdn quay.io/attcomdev/promenade-join:dev` + +7. On each additional node to be joined to the cluster: + `docker run --rm -v /:/target -v /var/run/docker.sock:/var/run/docker.sock -e NODE_HOSTNAME=join-node.fqdn quay.io/attcomdev/promenade-join:dev` + + +## References: + +1. [Demo of Genesis Node Deployment](https://asciinema.org/a/c2fdtzh2z2fiymiyu75b32u0h) + +2. [Demo of Joining Node to Cluster](https://asciinema.org/a/62dssvuiwbdanfuwwe6vzcihk)