Overview
Options
Requirements
- Site admin can deploy Kubernetes.
- Site admin can deploy NDS Labs Workbench (GUI, API) services.
- Single node-deploy:
- We will continue to support the single-node deploy, as implemented in the ndslabs/system-shell or ndslabs-startup repositories.
Prototype steps
These are the steps used to create a 4-node cluster using the kubernetes/contrib/ansible playbook:
On Nebula
- Create 4 instances; r1.medium; CoreOSAlpha
- Associate key
- Enable ssh, k8 nodeport
- Associate floating IPs with all nodes
On local host:
- Local host must have git, ansible client
- ssh-keygen
- For each node
- edit /etc/hosts, add localhost entry
- scp key core@node:/tmp
- ssh core@node update-ssh-keys -a name /tmp/key
- https://github.com/kubernetes/contrib
- cd contrib/ansible
- Edit inventory – by default, only works with a single master config due to limitation in ./roles/kubernetes/tasks/gen_certs.yml
[masters]
192.168.100.63
[etcd:children]
masters
[nodes]
192.168.100.64
192.168.100.65
192.168.100.66
- Edit group_vars/all.yml, change the following settings:
- ansible_ssh_user: core
- ansible_python_interpreter: "PATH=/opt/bin:$PATH python"
- kube-ui: true?
- kube-dash: true?
- Might need to change flannel network
- ./setup.sh
- git clone https://github.com/craig-willis/ndslabs-startup
- cd ndslabs-startup
- Edit ndslabs/apiserver.yaml
- Change latest > dev (this build has token authentication support for API server)
- Change etcd port to 2379
- Change k8 port to 443
- ./ndslabs-startup.sh
- Change prompted IP address to IP of one node (since we don't have LB)
- Open browser to
- IP address of some node :30000