/openshift-ansible

OpenShift Installation and Configuration Management

Primary LanguagePythonApache License 2.0Apache-2.0

Join the chat at https://gitter.im/openshift/openshift-ansible Build Status

OpenShift Ansible

This repository contains Ansible roles and playbooks for OpenShift clusters.

Previous OpenShift Ansible 3.x releases

For 3.x releases of OpenShift Ansible please reference the release branch for specific versions. The last 3.x release is 3.11 release.

OpenShift 4.x

Installation of OpenShift 4.x uses a command-line installation wizard instead of Ansible playbooks. Learn more about the OpenShift Installer in this overview.

For OpenShift 4.x, this repo only provides playbooks necessary for scaling up or upgrading RHEL hosts in an existing 4.x cluster.

The master branch tracks our current work in development.

Requirements: (localhost)

  • Ansible >= 2.9.1
  • OpenShift Client (oc)

Quickstart

Install an OpenShift 4.x cluster

Install a cluster using the OpenShift Installer.

Create an Ansible Inventory

Create an inventory file with the appropriate groups and variables defined. An example inventory can be found in inventory/hosts.example.

Required variables include:

  • openshift_kubeconfig_path - Path to the kubeconfig for the cluster

Run the RHEL node scaleup playbook

cd openshift-ansible
ansible-playbook -i inventory/hosts playbooks/scaleup.yml

Run the RHEL node upgrade playbook

Custom tasks can be performed during upgrades at different stages of the upgrade. See the hooks documentation for more information.

cd openshift-ansible
ansible-playbook -i inventory/hosts playbooks/upgrade.yml

Further reading

Complete Production Installation Documentation:

Containerized OpenShift Ansible

See README_CONTAINER_IMAGE.md for information on how to package openshift-ansible as a container image.

Contributing

See the contribution guide.

Building openshift-ansible RPMs and container images

See the build instructions.