This repo contains provisioning for phenex servers operated by Ansible.
Development - Local Set Up
- Install Ansible
- Install VirtualBox
- Install Vagrant
export VAGRANT_I_KNOW_WHAT_IM_DOING_PLEASE_BE_QUIET=1
- Request sudo privileges on vagrant machines
Production - Live Set Up
- Install Ansible
- Generate tls keys
ssh-keygen -t rsa -b 4096 -N ''
and copy local (id_rsa.pub) into vagrant servers -you can usessh-copy-id
Vagrant
$ vagrant up
$ vagrant status
$ vagrant ssh-config
$ vagrant ssh-config master
Host master
IdentityFile /home/ludd/.vagrant.d/insecure_private_key
$ ssh -i /home/ludd/.vagrant.d/insecure_private_key [email protected]
$ ssh -i /home/ludd/.vagrant.d/insecure_private_key [email protected]
$ ssh -i /home/ludd/.vagrant.d/insecure_private_key [email protected]
$ ssh -i /home/ludd/.vagrant.d/insecure_private_key [email protected]
$ vagrant ssh master
$ vagrant halt
$ vagrant destroy
Ansible
$ ansible -m ping all-dev
$ ansible-playbook playbook.yml --extra-vars "deployment=production"
# CLI
$ ansible -vvvv -m ping all-dev
$ ansible -vvvv -m shell -a 'hostname' all-dev
$ ansible -vvvv -m shell -a 'df -h' all-dev
$ ansible -vvvv -m shell -a 'whoami' all-dev
$ ansible -u vagrant -m shell -a 'sudo yum-complete-transaction --cleanup-only' all-dev
# PLAYBOOK
$ ansible-playbook -K -s -u vagrant playbook.yml
$ ansible-playbook --ask-sudo-pass --user=vagrant playbook.yml
Verify - Kubernetes Cluster
Test if services is working by executing this tutorial on vagrant machines kubernetes by example and running curl from each cluster node
$ kubectl cluster-info
$ kubectl get nodes
$ kubectl get componentstatuses
$ curl CLUSTER_IP/info