This repository demonstrates how to deploy and manage containerised microservices using Azure Kubernetes Service (AKS), Azure Functions, and Azure Service Bus, along with CI/CD using GitHub Actions. The microservices are implemented as Azure Functions in Python, communicating over Azure Service Bus, and are orchestrated using AKS.
.github/workflows/deploy.yml
: GitHub Actions workflow for building, pushing Docker images, and deploying to AKS.sender_function/
: Contains the sender function code, Dockerfile, and setup instructions.receiver_function/
: Contains the receiver function code, Dockerfile, and setup instructions.k8s/
: Kubernetes manifests to deploy the Azure Functions on AKS.bicep/
: Bicep template for provisioning required Azure resources like AKS, ACR, and Azure Service Bus.
- Azure CLI installed and authenticated.
- Azure subscription with appropriate permissions.
- GitHub account and repository.
- Docker installed locally.
- Python installed locally.
Navigate to the bicep/
directory and follow the instructions in README.md
to deploy necessary Azure resources using the Bicep template.
Navigate to sender_function/
and receiver_function/
directories, and follow the instructions in each README.md
to set up, build, and test locally.
Deploy the sender and receiver functions using the Kubernetes manifests found in the k8s/
directory.
Set up GitHub Secrets for Azure credentials, ACR credentials, and Service Bus connection string as described in the README.md
files.
This project is licensed under the MIT License - see the LICENSE file for details.