Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

update haproxy podman post #401

Merged
merged 1 commit into from
Aug 2, 2024
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
32 changes: 17 additions & 15 deletions content/posts/ol/virt/post-33/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
title: "Deploy HAProxy"
date: 2023-03-09
draft: false
summary: "Learn how to deploy and run HAProxy from a container using Podman."
summary: "Learn to run and configure HAProxy in a container using Podman."
tags: ["ol","lab","tutorial","ol-podman"]
showDate: true
---
Expand All @@ -11,30 +11,32 @@ showDate: true

:crescent_moon: [Lab](https://luna.oracle.com/lab/a9eb9ff9-b56d-4ddc-9283-b72467d78128)

:spiral_notepad: [Tutorial](https://docs.oracle.com/en/learn/podman-haproxy/)
:spiral_notepad: [Tutorial](https://docs.oracle.com/en/learn/ol-podman-haproxy/)

## Details

HAProxy is a well known, and widely used, open source solution delivering load balancing and proxy services for both HTTP (Layer 7) and TCP (Layer 4) which is achieved by spreading incoming request across multiple servers. For more details of the services that HAProxy _does_ and _does not_ provide please refer to the [upstream documentation](https://docs.haproxy.org). HAProxy can be installed locally on [Oracle Linux](https://docs.oracle.com/en/operating-systems/oracle-linux/8/balancing/balancing-SettingUpLoadBalancingbyUsingHAProxy.html), or run as a container using Podman. This lab describes how to use HAProxy with Podman.

> **Clarification:** This document follows the long established custom which suggests that the term _"HAProxy"_ is used to represent the product, whereas _"haproxy"_ is used to represent the executable. Although many other sources use these forms interchangeably.
HAProxy is a well-known and widely used open-source solution that delivers load balancing and proxy services for HTTP (Layer 7) and TCP (Layer 4), achieved by spreading incoming requests across multiple servers. The load balancer can also detect if any servers in its pool become unresponsive and automatically stop forwarding incoming traffic to them. For more details on the services HAProxy *does* and *does not* provide, please refer to the [upstream documentation](https://docs.haproxy.org). You can install HAProxy locally using packages provided by Oracle or run as a container. This tutorial covers the latter using Podman.

### Objectives

This lab shows how to:
In this tutorial, you'll learn how to:

- Use HAProxy as a Podman-based container
- Configure a simple deployment using three back-end servers
- Use HAProxy as a Podman-based container
- Configure a simple deployment using three backend servers
- Confirm the deployment runs as expected

> **Note:** The steps provided do not include how to configure HAProxy to use certificates. Therefore its recommended for non-production purposes or an internal/air-gapped environment.
> **Note:** The steps do not include configuring HAProxy to use certificates, which we recommend for production environments.

### Prerequisites

### Requirements
- Minimum of 4 Oracle Linux systems

Four systems with Oracle Linux and Podman installed, whose responsibilities are divided like this:
- HAProxy node
- 3 Web Application nodes

| Server Name | Role/Purpose |
|:------------|:----------------------------|
| _ol-server_ | Hosts HAProxy load balancer |
| _web01_, _web02_, _web03_ | Hosts the web application |
- Each system should have Oracle Linux installed and configured with:
- A non-root user account with sudo access
- Key-based SSH, also known as password-less SSH, between the hosts
- Podman and cURL packages
- Access to the Internet