docs
gateway-api
docs | gateway-api | |
---|---|---|
7 | 30 | |
988 | 1,595 | |
0.0% | 4.1% | |
9.7 | 9.8 | |
7 days ago | 3 days ago | |
HTML | Go | |
Creative Commons Attribution 4.0 | Apache License 2.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
docs
-
.NET Aspire is the best way to experiment with Dapr during local development
Dapr documentation
-
Picking an architecture
I agree with the general sentiment here that you should try to keep things simple as long as possible. In addition to that, try to use frameworks such as Dapr, that allow you to postpone certain architectural decisions. Since Dapr runs everywhere where Kubernetes runs, it doesn't really matter which cloud provider you pick. Also, when it comes to pub/sub brokers, state stores, or secret stores, when using Dapr components you can easily swap those out.
-
Mechanism for managing faulty consumer in asynchronous event broadcast in microservices / modular monolith
I'm mostly familiar with orchestration type sagas, and there I usually include retries when calling services and compensation actions in case calls completely fail. It really helps if you're using a framework, such as Dapr, to do most of the heavy lifting. You can apply resiliency policies to service calls and with the latest version, there's now a Workflow API to orchestrate your services.
-
Service Mesh Considerations
One other option that is worth mentioning is Dapr. Dapr is a microservices building block that developers can use to develop microservices. There is a bit of overlap between Dapr and service meshes and the Dapr team has done a good job of comparing the two here. The biggest takeaway when comparing the two is that Dapr does not provide traffic routing/splitting. So if you need these capabilities, then yes, you will need a service mesh.
-
Virtual Actors : Dapr vs Orleans
There was a similar issue with the code examples to get/set state, so I created a GitHub issue for them.
-
Image Recognition App using GoLang | Tensorflow | WasmEdge | Dapr | Docker
It is an Image Recognition Application made using Go Language, works on a Tensorflow model and it requires Dapr and WasmEdge runtime for execution.
-
Tech Talks: Building Event-Driven Apps with Dapr in Kubernetes
Dapr Docs
gateway-api
-
cert-manager: All-in-One Kubernetes TLS Certificate Manager
# cilium/playbook.yml - name: Bootstrap the Kubernetes cluster hosts: localhost gather_facts: false become: true environment: KUBECONFIG: ~/.kube/config vars: helm_version: v3.14.4 kube_context: k3d-k3s-default tasks: - name: Install Kubernetes library ansible.builtin.pip: name: kubernetes<30 state: present - name: Install helm binary ansible.builtin.shell: cmd: "{{ lookup('ansible.builtin.url', 'https://git.io/get_helm.sh', split_lines=false) }}" creates: /usr/local/bin/helm environment: DESIRED_VERSION: "{{ helm_version }}" - name: Install Kubernetes gateway CRDs kubernetes.core.k8s: src: "{{ item }}" state: present context: "{{ kube_context }}" loop: - https://github.com/kubernetes-sigs/gateway-api/releases/download/v1.0.0/standard-install.yaml - https://github.com/kubernetes-sigs/gateway-api/releases/download/v1.0.0/experimental-install.yaml - name: Install cilium block: - name: Add cilium helm repository kubernetes.core.helm_repository: name: cilium repo_url: https://helm.cilium.io - name: Install cilium helm release kubernetes.core.helm: name: cilium chart_ref: cilium/cilium namespace: kube-system state: present chart_version: 1.15.x kube_context: "{{ kube_context }}" values: gatewayAPI: enabled: true kubeProxyReplacement: true encryption: enabled: true type: wireguard operator: replicas: 1
-
ArgoCD Deployment on RKE2 with Cilium Gateway API
It has already been a couple of years since the Kubernetes Ingress was defined as a “frozen” feature while further development will be added to the Gateway API.
-
A Comprehensive Guide to API Gateways, Kubernetes Gateways, and Service Meshes
Kubernetes provides two APIs to achieve this, the Ingress API and the Gateway API.
-
Using k8s-apiserver as AAA server for microservices?
With all that said, K8s is not really meant to function as an API gateway to arbitrary services. You should look into API gateways such as NGINX, Kong or others, service meshes as others have already pointed out, or have a look at the K8s Gateway API the SIG is currently working on. The last one is in the early stages of adoption, but it could provide you with a nice way to do an API Gateway right in K8s.
-
load balancer and kubernetes
Maybe there's something in the new fangled gateways.
-
Service Mesh Considerations
Keep an eye on the Gateway API GAMMA Initiative as it is currently evolving with the goal of streamlining how services meshes can implement the Gateway API and reduce some overlap.
- EKS: is it possible to rewrite the URL with ALB?
-
Apache Apisix: Open-Source API Gateway and API Management Platform
The selling point for me was ability to configure it using Kubernetes CRD's and future support of the Gateway API (under development - <https://gateway-api.sigs.k8s.io/>).
Developers can version their API now within helm charts or even yaml templates held along the code in their repositories.
-
A quick glance at the Kubernetes Gateway API
-- https://gateway-api.sigs.k8s.io
-
Sharing load balancers between containers
While you're learning about ingresses, also look into the k8s Gateway API, which is the next generation. https://gateway-api.sigs.k8s.io/
What are some alternatives?
dapr-wasm - A template project to demonstrate how to run WebAssembly functions as sidecar microservices in dapr
caddy-l4 - Layer 4 (TCP/UDP) app for Caddy
CAP - Distributed transaction solution in micro-service base on eventually consistency, also an eventbus with Outbox pattern
apisix-opa-plugin
Orleans.CosmosDB - Orleans providers for Azure Cosmos DB
kubernetes-ingress-controller - :gorilla: Kong for Kubernetes: The official Ingress Controller for Kubernetes.
jaeger - CNCF Jaeger, a Distributed Tracing Platform
tyk-operator - Tyk Operator for Kubernetes
dapr - Dapr is a portable, event-driven, runtime for building distributed applications across cloud and edge.
OPA (Open Policy Agent) - Open Policy Agent (OPA) is an open source, general-purpose policy engine.
cloud-dapr-demo - Demo of Dapr runtime and seamless integration of cloud providers
multus-cni - A CNI meta-plugin for multi-homed pods in Kubernetes