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
  • No labels