Uploaded image for project: 'National Data Service'
  1. National Data Service
  2. NDS-312

Ansible Deployment: New Multi-Node Cluster


    • Icon: Test Test
    • Resolution: Unresolved
    • Icon: Normal Normal
    • None
    • Odum Release
    • Backend, Infrastructure
    • None

      This is the integration test for the Ansible deployment scripts for NDS Labs on Kubernetes (on CoreOS on OpenStack Nebula).

      Upon running the openstack-provision.yml playbook, Ansible will do the following to set up your environment:

      1. Authenticate to OpenStack Nebula
      2. Create or reuse the SSH key with the name provided in the inventory
      3. Provision the desired number of blank nodes / volumes pre the inventory
      4. Add the LoadBalancer node to the correct security groups:
        • remote HTTP
        • HTTPS
      5. Gather the IPs of the provisioned machines
      6. Wait for the machines to come up, then SSH in
      7. Install CoreOS from the CoreOSAlpha image as specified in the inventory
      8. Fix problems with CoreOS
        • Disable update-engine and locksmithd
        • Add localhost to /etc/hosts
      9. Create Gluster bricks within the volume(s) provisioned
      10. Mount the volume to each glfs node at the directory provided in the inventory

      Upon running the k8s-install.yml playbook, Ansible will do the following to set up your environment:

      1. Install the kubelet and kube-proxy onto each node using Kubernetes' provided ansible scripts

      Upon running the ndslabs-k8s-install.yml playbook, Ansible will do the following to set up your environment:

      1. Assign the LoadBalancer node a public IP
      2. Start SkyDNS service
      3. Start the GlusterFS server DaemonSet on glfs nodes
      4. Start the GlusterFS client DaemonSet on compute nodes
      5. Start K8 addons and create ingress rules to access the LMA tooling:
        • Optional: Kibana
        • Optional: Grafana
        • Optional: Prometheus
        • Optional: KubeUI
        • Optional: KubeDash
      6. Start the NDS Labs ApiServer, WebUI, and create ingress rules to access them
      7. Start the LoadBalancer and default HTTP backend

      Once Ansible has completed its run, you will walk through verifying that the API server and UI are communicating properly without any manual steps (i.e. without changing IPs, restarting pods/rcs, manually changing code, etc).

              Unassigned Unassigned
              lambert8 Sara Lambert
              0 Vote for this issue
              1 Start watching this issue


                  Original Estimate - 30 minutes
                  Remaining Estimate - 30 minutes
                  Time Spent - Not Specified
                  Not Specified