#OpenShift Ansible by Turbonomic
##What's Different from upstream This repo creates openshift-origin that allows Master to start with 3rd party scheduler, to replace the default openshift scheduler, and provide an advanced full-stack controller using kubeturbo.
##Prerequisites
-
Make sure you have Turbonomic instance installed and updated to version 47322, and reachable from Openshift cluster. You can use the following offline update to upgrade your Turbonomic appliance.
-
Install Ansible
- Install base dependencies:
- Fedora:
dnf install -y ansible-2.1.0.0 pyOpenSSL python-cryptography
- OSX:
# Install ansible 2.1.0.0 and python 2 brew install ansible python
##Setup openshift-origin using openshift-ansible
NOTE: Regardless of underlying infrastructure, please add the following options into /etc/ansible/hosts, under [OSEv3:vars], before you run the playbook:
openshift_node_kubelet_args={'config' : ['/etc/kubernetes/manifest']}
openshift_master_scheduler_args={'scheduler-name' : ['Kubeturbo']}
-
Setup for a specific cloud:
-
Bring your own host deployments:
##Deploy Kubeturbo
-
Make sure openshift cluster is running
$ oc get nodes
-
Run post-installation.sh to deploy kubeturbo in your openshift cluster just deployed. You will be asked to provide: a. Turbonomic appliance IP b. Turbonomic appliance Username c. Turbonomic appliance Password
-
Make sure the kubeturbo pod deployment succeed.
$ oc get pods --all-namespaces -w
-
Once kubeturbo starts running, you should be able to see the openshift cluster automatically regists itself to Turbonomic appliance
-
In order to enable the full-stack control, make sure you also added the underlying infrastructure targets to Turbonomic
##Misc
-
Build
-
Directory Structure:
- bin/cluster - python script to easily create clusters
- docs - Documentation for the project
- filter_plugins/ - custom filters used to manipulate data in Ansible
- inventory/ - houses Ansible dynamic inventory scripts
- playbooks/ - houses host-type Ansible playbooks (launch, config, destroy, vars)
- roles/ - shareable Ansible tasks
##Contributing