go-control-plane
gateway-api
go-control-plane | gateway-api | |
---|---|---|
3 | 30 | |
1,456 | 1,589 | |
0.7% | 2.7% | |
9.5 | 9.8 | |
6 days ago | 1 day ago | |
Go | Go | |
Apache License 2.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.
go-control-plane
-
Dabbling with envoy - Part II
We are going to experiment with what's at the core of these service meshes - Go control plane
-
Which API Gateway for K8s are you using?
Piggy backing on /u/ztherion: this is actually not as uncommon as you would think. The envoy folks at Lyft decided early on not to release their highly customized internal control plane when they released the proxy, so instead there is a reference implementation that does basic stuff which many people use as a starting point for their own control plane. This is exactly what Istio is built on, and in the Envoy slack the channel for chatting about building their own is pretty busy.
-
Software Architecture and Golang
Package serves a domain. Do not split one domain into several packages: Go does not have nested namespaces, so this is a pain to use, sometimes it is just a nightmare – have an unluck to use this thing. Dunno how about the general code quality, but calling this library UI subpar is a pure understatement.
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?
kubernetes-ingress-controller - :gorilla: Kong for Kubernetes: The official Ingress Controller for Kubernetes.
caddy-l4 - Layer 4 (TCP/UDP) app for Caddy
apisix-opa-plugin
tyk-operator - Tyk Operator for Kubernetes
OPA (Open Policy Agent) - Open Policy Agent (OPA) is an open source, general-purpose policy engine.
multus-cni - A CNI meta-plugin for multi-homed pods in Kubernetes
metallb - A network load-balancer implementation for Kubernetes using standard routing protocols
ingress - WIP Caddy 2 ingress controller for Kubernetes
apisix - The Cloud-Native API Gateway
ip-masq-agent - Manage IP masquerade on nodes
kubernetes-ingress - NGINX and NGINX Plus Ingress Controllers for Kubernetes