ansible-playbook -i inventories/my-server my-play.yml --ask-become-pass
User guide
Welcome to the Information System as a service Platform.
Have you ever dreamed to choose useful applications and deploy your entire information system with a PR and a simple
So you have knocked on right door!
You’re navigating through a documentation that will let you consume or configure your entire information system in a few command.
Usage of the platform
This platform has been configured for a deployment on a single server.
It’s a two step process:
First step: Cloning the entire repo
You should first clone the platform including submodules (ideally a fork):
git clone --recurse-submodules -j8 git://github.com/foo/bar.git
Install prerequisites (tox, poetry, pip, vagrant)
Then, use the ./configure
ansible/ scripts to get all the dependent libraries (python mostly)
Second step: VM provision
The first roles to be executed will install and configure a virtualization technology then start three Virtual machines. It will also install a reverse proxy technology on the host and some dedicated storage as well
To configure it, tweak the inventories/provision-vms
inventory
Then, configure ssh access on your client to your hosts editing .ssh/config file
Host host
HostName host.osgiliath.net
User cmordantlocal
IdentityFile ~/.ssh/id_osgiliath
ForwardX11Trusted yes
ForwardX11 yes
AddKeysToAgent yes
UseKeychain yes
Then trigger the ansible playbook:
ansible-playbook -i inventories/provision-vms osgiliath-provision.yml --vault-password-file .vault_pass.txt -K
Before configuring the machines
If you use the role for kubernetes, your vms will be configured using bridge network. So before executing the next steps, as a prerequisite to configure vms, you’ll have to configure your router to group your vmasters and workers ips using static ips. then, add connections to bridge vms in your /etc/hosts, .ssh/config ansible/inventories/hosts
Third step: VM configuration
This third step will configure everything: NFS servers, kerberos, kubernetes, cni plugins, …
To configure it, tweak the inventories/configure-vms
inventory
Then, configure ssh access on your client to your VMS editing .ssh/config file and configuring passthrough:
Host node
HostName node1.internal.osgiliath.net # be sure that this hostname is referenced in the /etc/hosts file of your host
ProxyJump host
ForwardAgent yes
User cmordantlocal
IdentityFile ~/.ssh/id_osgiliath
Then trigger the ansible playbook:
ansible-playbook -i inventories/configure-vms osgiliath-configure.yml --vault-password-file .vault_pass.txt -K
Fourth step: configure kubectl
Finally, configure access to your kube master on your client:
First, configure a context in your kube cli config file (.kube/config)
clusters:
- cluster:
certificate-authority: /Users/charliemordant/.ssh/kubeCA_osgiliath.crt
# server: https://kubeadm.osgiliath.net:6443
server: https://127.0.0.1:12345
tls-server-name: kubeadm.osgiliath.net
users:
- name: kubeadmin.osgiliath
user:
client-certificate: /Users/charliemordant/.ssh/kubeAdm_osgiliath.crt
client-key: /Users/charliemordant/.ssh/kubeAdm_osgiliath.pem
Your kube API should be accessible from your master’s `host
via the 6443 port (routed via the ansible_routing nginx run on docker)