323 lines
17 KiB
HTML
323 lines
17 KiB
HTML
<h1 id="awesome-cilium-awesome">Awesome Cilium <a
|
||
href="https://github.com/sindresorhus/awesome"><img
|
||
src="https://awesome.re/badge.svg" alt="Awesome" /></a></h1>
|
||
<blockquote>
|
||
<p>Cilium is an open-source networking project that provides networking
|
||
and security capabilities for containerized applications, microservices,
|
||
and virtual machines.</p>
|
||
</blockquote>
|
||
<p>Recently <a href="https://docs.cilium.io/en/stable">Cilium</a>
|
||
launched a great website about eBPF called <a
|
||
href="https://ebpf.io/">ebpf.io</a>. It serves a similar purpose to this
|
||
list, with <a href="https://ebpf.io/what-is-ebpf">an introduction to
|
||
eBPF</a>.</p>
|
||
<h2 id="contents">Contents</h2>
|
||
<ul>
|
||
<li><a href="#reference-documentation">Reference Documentation</a></li>
|
||
<li><a href="#cilium-related-projects">Cilium related projects</a></li>
|
||
<li><a href="#articles-and-presentations">Articles and
|
||
Presentations</a></li>
|
||
<li><a href="#community-events">Community Events</a></li>
|
||
<li><a href="#community-and-contributing">Community and
|
||
Contributing</a></li>
|
||
<li><a href="#hands-on-contents">Hands on Contents</a></li>
|
||
</ul>
|
||
<h2 id="reference-documentation">Reference Documentation</h2>
|
||
<ul>
|
||
<li><a href="https://cilium.io">Website</a> - Official website of
|
||
Cilium, originally created by <a
|
||
href="https://isovalent.com/">Isovalent</a>.</li>
|
||
<li><a href="https://github.com/cilium">Official GitHub repository</a> -
|
||
GitHub repository of the Cilium project.</li>
|
||
<li><a href="https://github.com/littlejo/cilium-eks-cookbook">A cookbook
|
||
of installing Cilium on AWS EKS</a> - Multiple ways to install Cilium in
|
||
EKS.</li>
|
||
<li><a href="https://github.com/isovalent/CCA-Study-Guide">Cilium
|
||
Certified Associate Study Guide</a> - Study guide to help the Cilium
|
||
community prepare for the CNCF’s Cilium Certified Associate (CCA)
|
||
Exam.</li>
|
||
</ul>
|
||
<h2 id="cilium-related-projects">Cilium related projects</h2>
|
||
<ul>
|
||
<li><a href="https://github.com/cilium/cilium">Cilium</a> - A networking
|
||
plugin for various container runtimes such as Kubernetes, Docker, and
|
||
Mesos. It leverages Linux kernel features like eBPF to provide fast and
|
||
secure networking and load balancing for applications.</li>
|
||
<li><a href="https://github.com/cilium/ebpf">eBPF</a> - Technology that
|
||
allows for dynamic, programmable packet filtering and network analysis
|
||
in the Linux kernel.</li>
|
||
<li><a href="https://github.com/cilium/proxy">Cilium Proxy</a> -
|
||
High-performance HTTP, TCP, and gRPC proxy that can be automatically
|
||
injected into Kubernetes pods. It provides features like load balancing,
|
||
health checking, and L7 visibility.</li>
|
||
<li><a
|
||
href="https://docs.cilium.io/en/v1.9/gettingstarted/clustermesh/">Cilium
|
||
Cluster Mesh</a> - Securely connects multiple Kubernetes clusters
|
||
together using encrypted tunnels. It enables seamless communication and
|
||
service discovery across clusters while maintaining strong security
|
||
boundaries.</li>
|
||
<li><a href="https://github.com/cilium/hubble">Hubble</a> - Network
|
||
visibility and monitoring tool built by the Cilium community. It
|
||
provides real-time visibility into network traffic, allowing operators
|
||
to gain insights into application behavior, troubleshoot connectivity
|
||
issues, and enforce network security policies.</li>
|
||
<li><a
|
||
href="https://docs.cilium.io/en/stable/internals/cilium_operator/">Cilium
|
||
Operator</a> - Kubernetes operator that simplifies the deployment and
|
||
management of Cilium within a Kubernetes cluster. It automates tasks
|
||
such as deploying Cilium agents, configuring eBPF policies, and handling
|
||
upgrades.</li>
|
||
<li><a href="https://github.com/cilium/tetragon">Tetragon</a> - Runtime
|
||
security enforcement and observability tool.</li>
|
||
<li><a
|
||
href="https://isovalent.com/blog/post/introducing-cilium-mesh/">Cilium
|
||
Mesh</a> - Connects Kubernetes workloads, virtual machines, and physical
|
||
servers running in the cloud, on-premises, or at the edge.</li>
|
||
<li><a href="https://editor.networkpolicy.io/">NetworkPolicy Editor</a>
|
||
- Create, visualize, and share Kubernetes network policies.</li>
|
||
<li><a
|
||
href="https://github.com/cilium/cilium/tree/main/examples/kubernetes/addons/prometheus">Prometheus
|
||
& Grafana for Cilium</a> - Collects metrics from Cilium and stores
|
||
them in Prometheus for analysis and alerting.</li>
|
||
<li><a href="https://artifacthub.io/packages/helm/cilium/cilium">Cilium
|
||
Helm Chart</a> - Helm chart that can be used to deploy Cilium on
|
||
Kubernetes.</li>
|
||
<li><a href="https://github.com/cilium/hubble-otel">Hubble adaptor for
|
||
OpenTelemetry</a> - Enables exporting Hubble flow data using
|
||
OpenTelemetry collector.</li>
|
||
<li><a href="https://github.com/cilium/pwru">Packet, where are you?</a>
|
||
- eBPF-based Linux kernel networking debugger.</li>
|
||
<li><a href="https://github.com/coroot/coroot">Coroot</a> - Turns
|
||
telemetry data into actionable insights, helping you identify and
|
||
resolve application issues quickly.</li>
|
||
<li><a href="https://github.com/pixie-io/pixie">Pixie</a> - Instant
|
||
Kubernetes-native application observability.</li>
|
||
<li><a href="https://github.com/groundcover-com/caretta">caretta</a> -
|
||
Instant K8s service dependency map, right to your Grafana.</li>
|
||
<li><a href="https://github.com/cosmonic-labs/netreap">Netreap</a> -
|
||
Cilium controller implementation for Nomad.</li>
|
||
<li><a href="https://www.solo.io/products/gloo-network/">Gloo
|
||
Network</a> - Enables Cilium-CNI powered by eBPF to provide networking,
|
||
packet filtering, and observability for modern applications.</li>
|
||
<li><a
|
||
href="https://www.admin-magazine.com/Archive/2019/50/Bpfilter-offers-a-new-approach-to-packet-filtering-in-Linux">Bpfilter
|
||
instead of iptables for routing</a> - Bpfilter offers a new approach to
|
||
packet filtering in Linux.</li>
|
||
</ul>
|
||
<figure>
|
||
<img
|
||
src="https://github.com/seifrajhi/awesome-cilium/assets/26981510/b2236520-ea4c-400d-a5fd-15850a8bf420"
|
||
alt="image" />
|
||
<figcaption aria-hidden="true">image</figcaption>
|
||
</figure>
|
||
<ul>
|
||
<li><a
|
||
href="https://docs.cilium.io/en/latest/network/kubernetes/policy/#ciliumclusterwidenetworkpolicy">Inter-node
|
||
traffic control</a> - Policies that are applicable to the whole cluster
|
||
(non-namespaced) and provide you with the means to specify nodes as the
|
||
source and target.</li>
|
||
<li><a href="http://docs.cilium.io/en/latest/bpf/">BPF and XDP Reference
|
||
Guide</a> - Guide from the Cilium project.</li>
|
||
<li><a
|
||
href="https://cilium.io/blog/2018/04/17/why-is-the-kernel-community-replacing-iptables/">Why
|
||
is the kernel community replacing iptables with BPF?</a> - Blog post by
|
||
Cilium on the motivations behind eBPF and bpfilter, with examples and
|
||
links to other projects using eBPF and bpfilter.</li>
|
||
<li><a
|
||
href="https://qmo.fr/docs/talk_20180316_frnog_bpfilter.pdf">Bpfilter:
|
||
Linux firewall with eBPF sauce</a> - Slides from a talk by Quentin
|
||
Monnet with a background on eBPF and comparing bpfilter to
|
||
iptables.</li>
|
||
<li><a
|
||
href="http://www.slideshare.net/ThomasGraf5/clium-container-networking-with-bpf-xdp">Cilium:
|
||
Networking & Security for Containers with BPF & XDP</a> -
|
||
Featuring a load balancer use case.</li>
|
||
<li><a
|
||
href="http://www.slideshare.net/Docker/cilium-bpf-xdp-for-containers-66969823">Cilium:
|
||
Networking & Security for Containers with BPF & XDP</a> - <a
|
||
href="https://www.youtube.com/watch?v=TnJF7ht3ZYc&list=PLkA60AVN3hh8oPas3cq2VA9xB7WazcIgs">Video</a>.</li>
|
||
<li><a
|
||
href="http://www.slideshare.net/ThomasGraf5/cilium-fast-ipv6-container-networking-with-bpf-and-xdp">Cilium:
|
||
Fast IPv6 container Networking with BPF and XDP</a> - Fast IPv6
|
||
container networking with BPF and XDP.</li>
|
||
<li><a href="https://fosdem.org/2017/schedule/event/cilium/">Cilium: BPF
|
||
& XDP for containers</a> - BPF & XDP for containers.</li>
|
||
<li><a href="https://github.com/lizrice/learning-ebpf">Learning ebpf
|
||
book</a> - Learning eBPF, published by O’Reilly! Here’s where you will
|
||
find a VM config for the examples.</li>
|
||
</ul>
|
||
<h2 id="articles-and-presentations">Articles and Presentations</h2>
|
||
<ul>
|
||
<li><a href="https://www.parseable.io/blog/ebpf-log-analytics">eBPF log
|
||
analytics in your Kubernetes cluster</a> - Leverage Cilium’s Tetragon to
|
||
capture eBPF-based file access logs and send them to Parseable for
|
||
alerting and further analytics.</li>
|
||
<li><a href="https://www.youtube.com/watch?v=80OYrzS1dCA">Introduction
|
||
to Cilium</a> - A livestream covering all things related to eBPF and
|
||
Cilium presented by Isovalent’s Thomas Graf & Liz Rice.</li>
|
||
<li><a
|
||
href="https://medium.com/itnext/cilium-cni-a-comprehensive-deep-dive-guide-for-networking-and-security-enthusiasts-588afbf72d5c">Cilium
|
||
CNI</a> - Comprehensive deep dive guide for networking and security
|
||
enthusiasts.</li>
|
||
<li><a
|
||
href="https://blog.palark.com/why-cilium-for-kubernetes-networking/">Cilium
|
||
for Kubernetes networking</a> - Why we use it and why we love it.</li>
|
||
<li><a
|
||
href="https://opensource.googleblog.com/2016/11/cilium-networking-and-security.html">A
|
||
generic introduction to Cilium</a> - Generic introduction to
|
||
Cilium.</li>
|
||
<li><a
|
||
href="http://blog.ipspace.net/2016/10/fast-linux-packet-forwarding-with.html">A
|
||
podcast interviewing Thomas Graf</a> - Ivan Pepelnjak interviewing
|
||
Thomas, October 2016, on eBPF, P4, XDP, and Cilium.</li>
|
||
<li><a
|
||
href="https://thenewstack.io/how-ebpf-streamlines-the-service-mesh/">How
|
||
eBPF streamlines the service mesh</a> - Explore how eBPF allows us to
|
||
streamline the service mesh, making the data plane more efficient and
|
||
easier to deploy.</li>
|
||
<li><a
|
||
href="https://medium.com/codex/migrate-to-cilium-from-amazon-vpc-cni-with-zero-downtime-493827c6b45e">From
|
||
Amazon VPC CNI to Cilium with zero downtime</a> - Migrate to Cilium from
|
||
Amazon VPC CNI with zero downtime.</li>
|
||
<li><a
|
||
href="https://medium.com/oracledevs/cni-adventures-with-kubernetes-on-oracle-cloud-cilium-5c6f011746d5">Cilium
|
||
CNI and OKE on Oracle Cloud</a> - Kubernetes networking with Cilium CNI
|
||
and OKE on Oracle Cloud.</li>
|
||
<li><a
|
||
href="https://learn.microsoft.com/en-us/azure/aks/azure-cni-powered-by-cilium">Cilium
|
||
in Azure Kubernetes Service (AKS)</a> - Configure Azure CNI powered by
|
||
Cilium in Azure Kubernetes Service (AKS).</li>
|
||
<li><a
|
||
href="https://www.linkedin.com/newsletters/echo-news-6937495018668482560/">eCHO
|
||
News NEWSLETTER</a> - eCHO news in a bi-weekly wrap-up of all things
|
||
eBPF and Cilium.</li>
|
||
<li><a
|
||
href="https://naftalyava.com/example-xdp-ebpf-code-for-handling-ingress-traffic/">Exploring
|
||
eBPF and XDP</a> - Basic example of how to get started with XDP.</li>
|
||
<li><a
|
||
href="https://docs.google.com/presentation/d/1AcB4x7JCWET0ysDr0gsX-EIdQSTyBtmi6OAW7bE0jm0/edit#slide=id.g6e43ab8f8d_0_612">eBPF
|
||
- Rethinking the Linux Kernel</a> - eBPF JavaScript-like capabilities to
|
||
the Linux Kernel.</li>
|
||
<li><a
|
||
href="https://djalal.opendz.org/post/prevent-kernel-overlayfs-ubuntu-cves-with-yaml/">Learn
|
||
how Tetragon can stop CVEs with YAML</a> - Prevent overlayfs privilege
|
||
escalation on Ubuntu kernels with YAML (bpf).</li>
|
||
<li><a href="https://www.solo.io/blog/cilium-1-14-istio/">Cilium +
|
||
Istio</a> - Quick tour of Cilium 1.14 with Istio.</li>
|
||
<li><a
|
||
href="https://medium.com/@amitmavgupta/security-groups-for-pods-in-eks-cilium-and-networking-f809cf72fc31">Cilium:
|
||
Decoding the packet path with security groups for pods in EKS</a> -
|
||
Decoding the packet path with security groups for pods in EKS.</li>
|
||
<li><a
|
||
href="https://xxradar.medium.com/cilium-mutual-auth-diy-5d5036a82cf9">Cilium
|
||
mutual auth … DIY</a> - Quick run-through on setting up Cilium, mtls on
|
||
a self-managed Kubernetes cluster.</li>
|
||
<li><a
|
||
href="https://medium.com/@amitmavgupta/installing-cilium-in-azure-kubernetes-service-byocni-with-no-kube-proxy-825b9007b24b">Istio
|
||
service mesh with ALB in EKS</a> - Install Cilium in a BYOCNI mode
|
||
seamlessly and leverage eBPF functionality as compared to iptables.</li>
|
||
<li><a
|
||
href="https://medium.com/@valentin.hristev/kubernetes-loadbalance-service-using-cilium-bgp-control-plane-8a5ad416546a">Kubernetes
|
||
LoadBalance service using Cilium BGP control plane</a> - Walk through
|
||
the process of creating Cilium-based support for load balancer services
|
||
in a minimal K3s Kubernetes cluster.</li>
|
||
<li><a
|
||
href="https://b-nova.com/en/home/content/ebpf-based-networking-with-cilium">eBPF-based
|
||
networking with Cilium</a> - What is it and what can it do?</li>
|
||
<li><a
|
||
href="https://isovalent.com/blog/post/deploying-red-hat-openshift-with-cilium/">Deploying
|
||
Red Hat OpenShift with Cilium</a> - Tutorial on deploying Cilium and Red
|
||
Hat OpenShift.</li>
|
||
<li><a
|
||
href="https://aws.plainenglish.io/architecting-for-resilience-crafting-opinionated-eks-clusters-with-karpenter-cilium-cluster-mesh-c87cee1df934">Setting
|
||
up EKS Amazon clusters, adding Cilium to projects using Terraform and
|
||
Helm, supporting GitOps, and using Karpenter for efficient resource
|
||
utilization and cost savings</a> - Architecting for resilience: Crafting
|
||
opinionated EKS clusters with Karpenter & Cilium Cluster Mesh.</li>
|
||
<li><a
|
||
href="https://kubito.dev/posts/kubernetes-gateway-api-cilium/">Kubernetes
|
||
Gateway API with Cilium</a> - Guidance on how to effectively configure
|
||
Cilium for setting up the Gateway API in Kubernetes environments.</li>
|
||
<li><a
|
||
href="https://veducate.co.uk/migrate-red-hat-openshiftsdn-ovn-kubernetes-cilium/">How
|
||
to migrate from Red Hat OpenShiftSDN/OVN-Kubernetes to Cilium</a> -
|
||
Step-by-step process of migrating from OpenShiftSDN or OVN-Kubernetes to
|
||
Cilium.</li>
|
||
<li><a
|
||
href="https://www.viktorious.nl/2024/01/05/setup-basic-l4-load-balancing-with-cilium-cni-and-ubuiqiti-edge-router/">Setup
|
||
basic L4 load balancing with Cilium CNI and Ubuiqiti Edge Router</a> -
|
||
Setting up basic L4 load balancing with Cilium CNI and Ubuiqiti Edge
|
||
Router.</li>
|
||
</ul>
|
||
<h2 id="community-events">Community Events</h2>
|
||
<ul>
|
||
<li><a href="https://cilium.io/events/">CiliumCon</a> - Full-day
|
||
co-located event for Cilium users, contributors, and new community
|
||
members.</li>
|
||
<li><a
|
||
href="https://isovalent.com/events/2023-07-security-summer-school/">Isovalent
|
||
Security Summer School 2023</a> - Virtual Security Summer School with
|
||
hands-on labs. Learn how Cilium, Tetragon, and Hubble help improve
|
||
Kubernetes security.</li>
|
||
<li><a href="https://isovalent.com/events/">Isovalent’s cilium related
|
||
events</a> - Events featuring diverse voices, innovative companies, and
|
||
big ideas.</li>
|
||
</ul>
|
||
<h2 id="community-and-contributing">Community and Contributing</h2>
|
||
<ul>
|
||
<li><a href="https://cilium.herokuapp.com/">Slack channel</a> - For live
|
||
conversation and quick questions, join the Cilium Slack workspace.</li>
|
||
<li><a href="https://twitter.com/ciliumproject">Twitter</a> - Follow
|
||
Cilium on Twitter for the latest news and announcements.</li>
|
||
<li><a href="https://www.youtube.com/c/eBPFCiliumCommunity">YouTube</a>
|
||
- Watch videos from the Cilium and eBPF communities.</li>
|
||
<li><a
|
||
href="https://github.com/cilium/cilium/graphs/contributors">Contributors</a>
|
||
- Contributions to main.</li>
|
||
</ul>
|
||
<h2 id="hands-on-contents">Hands on Contents</h2>
|
||
<ul>
|
||
<li><a href="https://isovalent.com/resource-library/">Isovalent library
|
||
for Cilium</a> - Find videos, case studies, blogs, books, labs, and
|
||
analyst reports.</li>
|
||
<li><a href="https://isovalent.com/learning-tracks/">Cilium Learning
|
||
Tracks</a> - Tracks for cloud network engineers, security professionals,
|
||
platform engineers, platform ops (service mesh), and cloud
|
||
architects.</li>
|
||
<li><a href="https://github.com/xinity/k0s_cilium_playground">K0S Cilium
|
||
Playground</a> - Full bash-based k0s Cilium Clustermesh enabled
|
||
playground.</li>
|
||
<li><a
|
||
href="https://packetpushers.net/podcast/kubernetes-unpacked-022-kubernetes-networking-and-abstraction-with-cilium-and-ebpf/">Podcast:
|
||
Kubernetes Unpacked Podcast</a> - Kubernetes Unpacked 022: Kubernetes
|
||
networking and abstraction with Cilium and eBPF.</li>
|
||
<li><a
|
||
href="https://www.youtube.com/watch?v=z8Kifl3M3LU&list=PLQpKr4_0p0jEIGtCeV4VcGd_-Jf49e1JY">From
|
||
Zero to Cluster Mesh: Installing and Configuring Cilium CNI on
|
||
Kubernetes</a> - How to install and configure the Cilium CNI and enable
|
||
its advanced cluster mesh feature across Kubernetes clusters.</li>
|
||
<li><a href="https://github.com/accuknox/cilium-spire-tutorials">Cilium
|
||
and SPIRE integration</a> - Tutorials about Cilium and SPIRE
|
||
integration.</li>
|
||
<li><a
|
||
href="https://github.com/kubearmor/policy-templates/tree/main">Cilium
|
||
Network policies Library</a> - Community curated list of system and
|
||
network policy templates for KubeArmor and Cilium.</li>
|
||
<li><a href="https://github.com/adobeSlash/cilium-kyverno">Kyverno
|
||
policies for Cilium Network Policies</a> - Examples of Kyverno policies
|
||
for controlling the creation of Cilium network policies.</li>
|
||
</ul>
|
||
<h2 id="contributing">Contributing</h2>
|
||
<blockquote>
|
||
<p>Note: Cilium is an exciting piece of technology, and its ecosystem is
|
||
constantly evolving. We’d love help from <em>you</em> to keep this
|
||
awesome list up to date, and improve its signal-to-noise ratio in any
|
||
way we can. Please feel free to leave <a
|
||
href="https://github.com/seifrajhi/awesome-cilium/issues">any
|
||
feedback</a>.</p>
|
||
</blockquote>
|
||
<p><em>Please read the <a href="CONTRIBUTING.md">contribution
|
||
guidelines</a> before contributing.</em></p>
|
||
<p><a href="https://github.com/seifrajhi/awesome-cilium">cilium.md
|
||
Github</a></p>
|