The quest for resilience and agility has driven us into the modern age of microservices. Bringing services to market on a microservice architecture demands the utilization of sprawling technology offerings and tooling. While daunting at first glance, we can break down the process into 3 major categories:
# Set ADDRESS to your host IP if you plan to use Keycloak
export ADDRESS=127.0.0.1
cat <<EOF | sudo tee -a /etc/hosts
${ADDRESS} apps.kind.home.arpa
${ADDRESS} portal.kong.kind.home.arpa
${ADDRESS} manager.kong.kind.home.arpa
${ADDRESS} keycloak.apps.kind.home.arpa
${ADDRESS} podinfo.apps.kind.home.arpa
EOF
# Set a Pulumi local state login password
export PULUMI_CONFIG_PASSPHRASE=mypassword
# Run pulumi login --help for more state backend and login information
pulumi login --local
- Initialize & Select Pulumi Stack
# Download npm packages for Pulumi typescript IaC
npm install
# Initialize and select your pulumi stack
pulumi stack init thekonglaboratory
pulumi stack select thekonglaboratory
# Set Kong Enterprise License, an empty license enables free mode
pulumi config set --secret kong:license "'{}'"
# Set enterprise to true if deploying with an enterprise license
pulumi config set kong:enterprise false
### Deploy Kong API Gateway
Reviewing our checklist again, we now have:
- ✓ Installed all dependencies.
- ✓ Configured /etc/hosts to resolve our domain names to our local IP.
- ✓ Created local cache volumes for kind node images.
- ✓ Cloned the demo repo codebase.
- ✓ Initialized & Configured your Pulumi Stack
Now, it is time to start your Kind cluster and deploy Kong to it!
- Deploy Kong Gateway Stack
# Start Kind Kubernetes Cluster
kind create cluster --config hack/kind/config.yml
# Pulumi Deploy Kong Gateway & Dependencies
pulumi up -y
# change directory to Podinfo App
cd ~/TheKongLaboratory/doc/gateway-s01e01-simple-app
# Set a Pulumi local state login password
export PULUMI_CONFIG_PASSPHRASE=mypassword
# Run pulumi login --help for more state backend and login information
pulumi login --local
# Download npm packages for Pulumi typescript IaC
npm install
# Initialize and select your pulumi stack
pulumi stack init podinfo
pulumi stack select podinfo
# Deploy Podinfo Sample App
pulumi up -y
Congratulations! In roughly 1000 lines of TypeScript code, we have deployed a working Kong API Gateway and all supporting services with Pulumi! For transparency, I want to briefly list the scope of what you just deployed.
Now that you have Kong installed and ready to use, this will be the foundation for future posts in the DevMyOps series and is also a great way to get started with Kong for evaluation and local development purposes.
From here you can continue with configuring Kong Manager and Kong plugins, or you can start using the Kong Ingress Controller to publish services on your kind cluster via Kong.
Imagine you have a single Service, order-api . You want to apply a strict rate limit to most traffic, but you want to bypass that limit—or apply a different one—if the request contains a specific X-App-Priority: High header. Previously, you had t
How OAuth 2.0 Token Exchange Reshapes Trust Between Services — and Why the API Gateway Is Exactly the Right Place to Enforce It
Modern applications don’t run as a single monolithic. They are composed of services — frontend APIs, backend microservi
Traditional APIs are, in a word, predictable. You know what you're getting: Compute costs that don't surprise you Traffic patterns that behave themselves Clean, well-defined request and response cycles AI APIs, especially anything that runs on LLMs
Kubernetes is an open-source container orchestration system for automating deployment, scaling, and management of containerized applications. It groups containers into logical units for easy management and discovery. API gateways sit between client
In this blog post, we’ll demonstrate how easy it is to use Gateway API HTTPRoutes to route traffic to workloads deployed in different namespaces in a single Kubernetes cluster — a process that’s easier than ever. Previously, we only had Ingress API
As Kubernetes has become the de facto orchestration platform for deploying cloud native applications , networking and traffic management have emerged as pivotal challenges when managing access to services and infrastructure. The core Kubernetes Ing
Today, we’re excited to release the Kong Konnect EKS Marketplace add-on as a means to deploy your Kong Gateway dataplanes in AWS. The add-ons are a step forward in providing fully managed Kubernetes clusters. It is here to simplify the post-procurem