Deploy the flyteagent helm chart on Azure Managed Openshift Service
TypeScriptTo deploy a Helm chart on an Azure Managed OpenShift Service (ARO), you need to follow several steps:
-
Provision an Azure Red Hat OpenShift cluster if you don't already have one. This involves creating the cluster and configuring it for use.
-
Install Helm on your local machine or wherever you intend to deploy the chart from.
-
Deploy the Helm chart to your OpenShift cluster.
For the first step, I will create a Pulumi program that provisions an ARO cluster. After that, I'll provide a brief guide on how to install Helm and deploy the
flyteagent
helm chart onto the OpenShift cluster.Here is a Pulumi TypeScript program that provisions the necessary resources for an Azure Managed OpenShift Service:
import * as pulumi from "@pulumi/pulumi"; import * as openshift from "@pulumi/azure-native/redhatopenshift"; // Create an Azure Red Hat OpenShift cluster const clusterName = "myAROCluster"; const resourceGroupName = "myResourceGroup"; const openshiftCluster = new openshift.OpenShiftCluster(clusterName, { resourceName: clusterName, resourceGroupName: resourceGroupName, location: "eastus", // Choose an appropriate Azure location here clusterProfile: { domain: "example-domain", version: "4.6", // Specify the OpenShift version resourceGroupId: `/subscriptions/${process.env.AZURE_SUBSCRIPTION_ID}/resourceGroups/${resourceGroupName}`, pullSecret: "<pullSecret>", // Provide your OpenShift pull secret }, masterProfile: { vmSize: "Standard_D8s_v3", // Choose appropriate VM size based on your needs subnetId: "<masterSubnetId>", // Replace with your master subnet ID }, networkProfile: { podCidr: "10.128.0.0/14", serviceCidr: "172.30.0.0/16", }, workerProfiles: [{ name: "worker", count: 3, // Desired number of worker nodes vmSize: "Standard_D4s_v3", // Choose appropriate VM size based on your needs subnetId: "<workerSubnetId>", // Replace with your worker subnet ID }], apiserverProfile: { visibility: "Public", // Change to "Private" if necessary }, ingressProfiles: [{ name: "default", visibility: "Public", // Change to "Private" if necessary }], }); // Export the cluster's API server URL export const openshiftApiServerUrl = openshiftCluster.apiserverProfile.url;
This program sets up the resources for an ARO cluster. Make sure to replace placeholders (like
<masterSubnetId>
,<workerSubnetId>
, and<pullSecret>
) with actual values before running the program.Prerequisites:
- Install Pulumi and set it up: Pulumi Installation Guide
- Azure CLI installed and logged in.
- Pulumi configuration set up for Azure with your credentials: Azure Setup Guide
- OpenShift pull secret obtained from the Red Hat OpenShift Cluster Manager.
To deploy the chart:
- Install Helm if it's not already installed: Helm Quickstart Guide.
- Ensure Helm has access to the Kubernetes/OpenShift API server. For OpenShift, you might need to log in using the
oc
CLI. - Use Helm to install the
flyteagent
chart. You can use a Helm repository that includes the chart, or the direct URL to the chart's package. The Helm command will be similar to this:helm repo add flyte https://flyteorg.github.io/flyte helm install flyteagent flyte/flyte
- Verify that the Helm release is deployed successfully:
helm list
- Use the OpenShift web console or
oc
CLI to inspect your application.
Remember, the Pulumi program above will not install the Helm chart itself; it prepares the infrastructure where you can deploy Helm charts. After running the Pulumi program to create your ARO cluster, you will use Helm to deploy your applications, such as
flyteagent
, to the cluster.-