An open API service indexing awesome lists of open source software.

https://github.com/goern/idm-lab

This is a demo lab for using Identity Management services with Atomic Hosts and OpenShift
https://github.com/goern/idm-lab

Last synced: over 1 year ago
JSON representation

This is a demo lab for using Identity Management services with Atomic Hosts and OpenShift

Awesome Lists containing this project

README

          

= Lab Session: Identity Managment with Atomic Hosts
Christoph Görn
0.1.0, 2016-02-12

== Prerequisites

This demo requires https://vagrantup.com/[Vagrant] and libvirt to be installed. The Vagrant plugins
https://github.com/smdahlen/vagrant-hostmanager[hostmanager] and https://github.com/aidanns/vagrant-reload
[reload] must be installed too.

WARNING: initial provisioning of the IdM server will install a significant
amount of RPM, a little bit of time is required.

10GiB of free RAM and a little bit of disk space should be available.

== Objectives

This demo will show how to use Vagrant to set up a complete demo environment
include an Identity Management (IdM) Service and a few clients using the service.

You will see how to provision Atomic Hosts and enroll it with the IdM service,
this will utilize http://kubernetes.io/v1.1/docs/admin/daemons.html[Kubernetes DaemonSets]. Additionally you will learn
how to provision OpenShift Origin and use LDAP as a backend for groups.

Web User Interfaces for all three virtual machines, IdM service and OpenShift
Origin will be available and give an impression of the usability of the whole
environment.

== Installation

To use this demo, simple recursively clone the github repositoy at https://github.com/goern/idm-lab .

== Usage

The main tool within this demo is vagrant, it will be used to spin up a set
of hosts, all are based on Fedora 23:

1. idm-1 - an Identity Management service
2. atomic-host-* - clients, which will be enrolled during the course of the demo
3. oso-1 - an all in one installation of OpenShift Origin, it is configured to use the IdM service

After preparing the demo, you will be able to have a look at

a. Cockpit
b. freeIPA web UI
c. OpenShift Origin web console

=== Preparation - provision IdM

The first step is to provision the IdM service. Using

[source,bash]
sudo vagrant up idm-1

you can create and provision a freeIPA server, based on Fedora 23. It will provide a
web user interface.

As the hostmanager Vagrant plugin is installed, `/etc/hosts` of the host machine
will be reconfigured after creation of the idm-1 virtual machine.

Please use your browser to navigate to `idm-1.goern.example.com` and use _admin_
as the username and _foobarfoo_ as the password to sign in.

When browsing the list of hosts known by IdM you will notice that only
`idm-1.goern.example.com` is currently available. This will change after the
next step has finished.

TIP: To gain some extra bonus, you could use ansible to deploy some standard
roles to the IdM server: `cd idm-server ; less README.asciidoc`.

=== provision and enroll an Atomic Host

The next step is to provision three Atomic Hosts and form one cluster out of
these hosts.

After using

[source,bash]
sudo vagrant up --no-parallel atomic-host-{1,2,3}

three Atomic Hosts are ready to use.

One of the provision scripts inside the Vagrantfile will do a `atomic host upgrade`,
this will need some minutes to fetch data from the internet. After the upgrade
Kubernetes 1.1 will be available. This is required to implement a DaemonSet.

And as another step an ansible provisioner will configure all three Atomic
Hosts to form one Kubernetes cluster: atomic-host-1 being the master (incl. etcd)
and atomic-host-{2,3} are the nodes.

To verify provisioning of the Kubernetes cluster, log on to atomic-host-1
and get a list of nodes:

[source, bash]
sudo kubectl get nodes