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
- Host: GitHub
- URL: https://github.com/goern/idm-lab
- Owner: goern
- License: gpl-3.0
- Created: 2016-02-14T20:15:33.000Z (over 10 years ago)
- Default Branch: master
- Last Pushed: 2016-03-10T20:37:30.000Z (over 10 years ago)
- Last Synced: 2025-02-02T08:44:23.591Z (over 1 year ago)
- Language: Shell
- Size: 19.5 KB
- Stars: 2
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.asciidoc
- License: LICENSE
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