Skip to content

Latest commit

 

History

History
52 lines (41 loc) · 3.28 KB

custom-architectures-deploy-playbook-overview.adoc

File metadata and controls

52 lines (41 loc) · 3.28 KB
sidebar permalink keywords summary
sidebar
custom-architectures-deploy-playbook-overview.html
BeeGFS on NetApp, NetApp Custom Architectures, EF600
Deploying and managing BeeGFS HA clusters using Ansible.

Ansible Playbook Overview

Deploying and managing BeeGFS HA clusters using Ansible.

Overview

The previous sections walked through the steps needed to build an Ansible inventory representing a BeeGFS HA cluster. This section introduces the Ansible automation developed by NetApp to deploy and manage the cluster.

Ansible: Key Concepts

Before proceeding, it is helpful to be familiar with a few key Ansible concepts:

  • Tasks to execute against an Ansible inventory are defined in what is known as a playbook.

    • Most tasks in Ansible are designed to be idempotent, meaning they can be run multiple times to verify the desired configuration/state is still applied without breaking things or making unnecessary updates.

  • The smallest unit of execution in Ansible is a module.

    • Typical playbooks use multiple modules.

      • Examples: Download a package, update a config file, start/enable a service.

    • NetApp distributes modules to automate NetApp E-Series systems.

  • Complex automation is better packaged as a role.

    • Essentially a standard format to distribute a reusable playbook.

    • NetApp distributes roles for Linux hosts and BeeGFS file systems.

BeeGFS HA role for Ansible: Key Concepts

All the automation needed to deploy and manage each version of BeeGFS on NetApp is packaged as an Ansible role and distributed as part of the NetApp E-Series Ansible Collection for BeeGFS:

  • This role can be thought of as somewhere between an installer and modern deployment/management engine for BeeGFS.

    • Applies modern infrastructure as code practices and philosophies to simplify managing storage infrastructure at any scale.

    • Similar to how the Kubespray project allows users to deploy/maintain an entire Kubernetes distribution for scale out compute infrastructure.

  • This role is the software-defined format NetApp uses to package, distribute, and maintain BeeGFS on NetApp solutions.

    • Strive to create an “appliance-like” experience without needing to distribute an entire Linux distribution or large image.

    • Includes NetApp authored Open Cluster Framework (OCF) compliant cluster resource agents for custom BeeGFS targets, IP addresses, and monitoring that provide intelligent Pacemaker/BeeGFS integration.

  • This role is not simply deployment "automation" and is intended to manage the entire file system lifecycle including:

    • Applying per-service or cluster-wide configuration changes and updates.

    • Automating cluster healing and recovery after hardware issues are resolved.

    • Simplifying performance tuning with default values set based on extensive testing with BeeGFS and NetApp volumes.

    • Verifying and correcting configuration drift.

NetApp also provides an Ansible role for BeeGFS clients, that can optionally be used to install BeeGFS and mount file systems to compute/GPU/login nodes.