Contributed"> Install Cloud Foundry on Azure Kubernetes Clusters - The New Stack
TNS
VOXPOP
Will JavaScript type annotations kill TypeScript?
The creators of Svelte and Turbo 8 both dropped TS recently saying that "it's not worth it".
Yes: If JavaScript gets type annotations then there's no reason for TypeScript to exist.
0%
No: TypeScript remains the best language for structuring large enterprise applications.
0%
TBD: The existing user base and its corpensource owner means that TypeScript isn’t likely to reach EOL without a putting up a fight.
0%
I hope they both die. I mean, if you really need strong types in the browser then you could leverage WASM and use a real programming language.
0%
I don’t know and I don’t care.
0%
Cloud Services

Install Cloud Foundry on Azure Kubernetes Clusters

A step-by-step guide to install Kubernetes clusters in Azure, using Korifi, in order to simplify DevOps workflows.
Sep 22nd, 2023 1:13pm by
Featued image for: Install Cloud Foundry on Azure Kubernetes Clusters
Feature image via Cloud Foundry.

Microsoft Azure is a cloud computing platform that offers a broad range of services, including computing, networking, storage, databases, analytics, machine learning, and artificial intelligence. It is a highly scalable and reliable platform that can be used to run a wide variety of workloads.

Azure Kubernetes Clusters is a powerful and easy-to-use platform for deploying and managing containerized applications on Azure. If you are looking for a reliable and scalable way to run your containerized applications, then AKS is a great option.

Over the past few years, the popularity of Microsoft Azure — especially among startups and the open source community — is on the rise. Around this time last year, Azure reported a solid 40% rise in revenue. We, the Cloud Foundry Community, firmly believe that Kubernetes users can benefit greatly from the use of a powerful abstraction in order to manage it better. Installing Cloud Foundry Korifi on Azure Kubernetes Clusters would give exactly that outcome.

What Is Korifi?

Korifi is a Cloud Foundry implementation that runs on Kubernetes. It is a community-driven project that aims to provide a simple and efficient way to deploy and manage cloud native applications on Kubernetes. Korifi aims to  preserve the classic Cloud Foundry developer experience, when using Kubernetes. Developers can still use the cf push command to deploy applications to Korifi, and they can still use the Cloud Foundry CLI to manage their applications. Here are some of the benefits of using Korifi.

  • It is a simple and efficient way to deploy and manage cloud native applications on Kubernetes.
  • It preserves the classic Cloud Foundry developer experience.
  • It takes advantage of the many features and capabilities of Kubernetes.

Prerequisites

In order to begin the installation, please install the following tools to start.

Azure also provides a container registry that can be used to upload images built when using Korifi. Azure Container Registry (ACR) is a managed Docker registry service that lets you store and manage your container images and artifacts. It serves as a private (or public) repository for storing and managing container images. ACR seamlessly integrates with other Azure services like Azure Kubernetes Service (AKS) and Azure DevOps, allowing developers to use container images stored in ACR for deployments. For this installation, we will make use of a registry. Follow the steps here to create a container registry.

Installation

First, create a Kubernetes cluster. You could use the UI or the Azure CLI to create the cluster. When creating the cluster, make sure that it belongs to the same resource group as the container registry. Here are links to Azure docs about how to create a cluster using each of the two methods:

  1. How to create a Kubernetes cluster using the Azure portal UI
  2. How to create a Kubernetes cluster using the Azure cli

Once a Kubernetes cluster has been created, connect to it. The following commands will help connect to the cluster:


In this case, a Kubernetes cluster named korifi-test, which belongs to the resource group korifi-test_group is added to the kubectl config.

Next, install the following dependencies: cert-Manager, kpack, and Contour.

Cert Manager is an open source certificate management solution designed specifically for Kubernetes clusters. It can be installed with a single kubectl apply command, with the latest release referenced in the path to the yaml definition.


kpack is an open source project that integrates with Kubernetes to provide a container-native build process. It consumes cloud native Buildpacks to export OCI-compatible containers. kpack can be installed by using the kubectl apply command, by passing the yaml containing the declaration of latest release.


Contour is an open source ingress controller for Kubernetes that is built on top of the Envoy proxy. An ingress controller is a Kubernetes resource that manages the inbound network traffic to services within a cluster. It acts as a gateway and provides external access to the services running inside the cluster. Contour specifically focuses on providing advanced features and capabilities for managing ingress in Kubernetes.


Upon installing Contour on the Kubernetes cluster, it will generate external-facing IP addresses. This will allow us to access the cluster. The Contour service will need to be queried to ascertain the IP address we are going to map for the ingress into the cluster. The following command will help with that:


The output from this command will be an IP address, e.g. {“ip”:”34.31.52.175″}, which will be used at various places as the base domain, suffixed with nip.io.

The installation requires a container registry to function. For this installation, we will be using the Azure Container registry. In order to access this container registry, first a token and a password have to be generated on the cloud.

Next, the same credentials will be used to create a secret and added to the cluster. The command for creating the registry credentials is as follows:


For this installation, the following values will have to be used.

Once the secret has been created, use the following Helm chart to install Korifi on the Azure cluster.

Note: We use nip.io as the suffix for the externally available IP address that can reach the cluster. Nip.io is a wildcard DNS provider.

Once installation is completed, use the cf cli to set the API endpoint and log to the cluster:


The following commands can be used to test the installation:


This push should end with an application built using Paketo buildpacks and deploy on the remote Kubernetes cluster. This stub is the full output from the cf push process:

Conclusion

Azure Kubernetes Service (AKS) is an excellent choice for organizations looking to deploy containerized applications at scale with minimal management overhead and high reliability. It simplifies the process of setting up and maintaining Kubernetes clusters, making it an attractive option for developers and IT teams embracing containerization and cloud native application development.

For teams that want a mature platform to manage Azure Kubernetes clusters, Cloud Foundry Korifi is a great choice. It provides a first-class, multitenant experience over Kubernetes which is a critical, yet missing piece. Korifi can save many engineering hours of tinkering with internal development platforms and in the long run help save ops cycles too. It frees up app devs to focus on what is most important and yet remain safe, secure, and scalable. To get started with Korifi, visit the GitHub repository.

Group Created with Sketch.
TNS owner Insight Partners is an investor in: Pragma, Docker.
THE NEW STACK UPDATE A newsletter digest of the week’s most important stories & analyses.