<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Networking Capabilities on Cozystack</title><link>https://deploy-preview-470--cozystack.netlify.app/docs/v1/networking/</link><description>Recent content in Networking Capabilities on Cozystack</description><generator>Hugo</generator><language>en</language><atom:link href="https://deploy-preview-470--cozystack.netlify.app/docs/v1/networking/index.xml" rel="self" type="application/rss+xml"/><item><title>Network Architecture</title><link>https://deploy-preview-470--cozystack.netlify.app/docs/v1/networking/architecture/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://deploy-preview-470--cozystack.netlify.app/docs/v1/networking/architecture/</guid><description>&lt;h2 id="overview"&gt;Overview&lt;/h2&gt;
&lt;p&gt;Cozystack uses a multi-layered networking stack designed for bare-metal Kubernetes clusters. The architecture combines several components, each responsible for a specific layer of the network:&lt;/p&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Layer&lt;/th&gt;
 &lt;th&gt;Component&lt;/th&gt;
 &lt;th&gt;Purpose&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;External load balancing&lt;/td&gt;
 &lt;td&gt;MetalLB&lt;/td&gt;
 &lt;td&gt;Publishing services to external networks&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Service load balancing&lt;/td&gt;
 &lt;td&gt;Cilium eBPF&lt;/td&gt;
 &lt;td&gt;kube-proxy replacement, in-kernel DNAT&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Network policies&lt;/td&gt;
 &lt;td&gt;Cilium eBPF&lt;/td&gt;
 &lt;td&gt;Tenant isolation and security enforcement&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Pod networking (CNI)&lt;/td&gt;
 &lt;td&gt;Kube-OVN&lt;/td&gt;
 &lt;td&gt;Centralized IPAM, overlay networking&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;VM IP passthrough&lt;/td&gt;
 &lt;td&gt;
&lt;a href="https://github.com/cozystack/cozy-proxy/" target="_blank"&gt;cozy-proxy&lt;/a&gt;&lt;/td&gt;
 &lt;td&gt;Passing through external IPs into virtual machines&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;VM secondary interfaces&lt;/td&gt;
 &lt;td&gt;
&lt;a href="https://github.com/k8snetworkplumbingwg/multus-cni" target="_blank"&gt;Multus CNI&lt;/a&gt;&lt;/td&gt;
 &lt;td&gt;Attaching secondary L2 interfaces to virtual machines&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Observability&lt;/td&gt;
 &lt;td&gt;Hubble (optional)&lt;/td&gt;
 &lt;td&gt;Network traffic visibility (disabled by default)&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;pre class="mermaid"&gt;flowchart TD
 EXT[&amp;#34;External Clients&amp;#34;]
 RTR[&amp;#34;Upstream Router / Gateway&amp;#34;]
 MLB[&amp;#34;MetalLB&amp;lt;br/&amp;gt;(L2 ARP / BGP)&amp;#34;]
 CIL[&amp;#34;Cilium eBPF&amp;lt;br/&amp;gt;(Service Load Balancing &amp;#43; Network Policies)&amp;#34;]
 OVN[&amp;#34;Kube-OVN&amp;lt;br/&amp;gt;(Pod Networking &amp;#43; IPAM)&amp;#34;]
 PODS[&amp;#34;Pods&amp;#34;]

 EXT --&amp;gt; RTR
 RTR --&amp;gt; MLB
 MLB --&amp;gt; CIL
 CIL --&amp;gt; OVN
 OVN --&amp;gt; PODS&lt;/pre&gt;
&lt;h2 id="cluster-network-configuration"&gt;Cluster Network Configuration&lt;/h2&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Parameter&lt;/th&gt;
 &lt;th&gt;Default Value&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;Pod CIDR&lt;/td&gt;
 &lt;td&gt;10.244.0.0/16&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Service CIDR&lt;/td&gt;
 &lt;td&gt;10.96.0.0/16&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Join CIDR&lt;/td&gt;
 &lt;td&gt;100.64.0.0/16&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Cluster domain&lt;/td&gt;
 &lt;td&gt;cozy.local&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Overlay type&lt;/td&gt;
 &lt;td&gt;GENEVE&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;CNI&lt;/td&gt;
 &lt;td&gt;Kube-OVN&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;kube-proxy replacement&lt;/td&gt;
 &lt;td&gt;Cilium eBPF&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id="networking-stack-variants"&gt;Networking Stack Variants&lt;/h3&gt;
&lt;p&gt;Cozystack supports several networking stack variants to accommodate different
cluster types. The variant is selected via &lt;code&gt;bundles.system.variant&lt;/code&gt; in the
platform configuration.&lt;/p&gt;</description></item><item><title>VPC</title><link>https://deploy-preview-470--cozystack.netlify.app/docs/v1/networking/vpc/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://deploy-preview-470--cozystack.netlify.app/docs/v1/networking/vpc/</guid><description>&lt;!--
Autogenerated content. Don't edit this file directly; edit sources instead.
metadata: https://github.com/cozystack/website/blob/main/content/en/docs/v1/networking/_include/vpc.md
source: https://github.com/cozystack/cozystack/blob/release-1.2.1/packages/apps/vpc/README.md
--&gt;
&lt;p&gt;VPC offers a subset of dedicated subnets with networking services related to it.
As the service evolves, it will provide more ways to isolate your workloads.&lt;/p&gt;
&lt;h2 id="service-details"&gt;Service details&lt;/h2&gt;
&lt;p&gt;To function, the service requires kube-ovn and multus CNI to be present, so by default it will only work on &lt;code&gt;paas-full&lt;/code&gt; bundle.
Kube-ovn provides VPC and Subnet resources and performs isolation and networking maintenance such as DHCP. Under the hood it uses ovn virtual routers and virtual switches.
Multus enables a multi-nic capability, so a pod or a VM could have two or more network interfaces.&lt;/p&gt;</description></item><item><title>Managed VPN Service</title><link>https://deploy-preview-470--cozystack.netlify.app/docs/v1/networking/vpn/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://deploy-preview-470--cozystack.netlify.app/docs/v1/networking/vpn/</guid><description>&lt;!--
Autogenerated content. Don't edit this file directly; edit sources instead.
metadata: https://github.com/cozystack/website/blob/main/content/en/docs/v1/networking/_include/vpn.md
source: https://github.com/cozystack/cozystack/blob/release-1.2.1/packages/apps/vpn/README.md
--&gt;
&lt;p&gt;A Virtual Private Network (VPN) is a critical tool for ensuring secure and private communication over the internet.
Managed VPN Service simplifies the deployment and management of VPN server, enabling you to establish secure connections with ease.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;VPN client applications: 
&lt;a href="https://shadowsocks5.github.io/en/download/clients.html" target="_blank"&gt;https://shadowsocks5.github.io/en/download/clients.html&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="deployment-details"&gt;Deployment Details&lt;/h2&gt;
&lt;p&gt;The VPN Service is powered by the Outline Server, an advanced and user-friendly VPN solution.
Internally known as &amp;ldquo;Shadowbox&amp;rdquo;, which simplifies the process of setting up and sharing Shadowsocks servers.
It operates by launching Shadowsocks instances on demand.
Furthermore, Shadowbox is compatible with standard Shadowsocks clients, providing flexibility and ease of use for your VPN requirements.&lt;/p&gt;</description></item><item><title>Managed Nginx-based HTTP Cache Service</title><link>https://deploy-preview-470--cozystack.netlify.app/docs/v1/networking/http-cache/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://deploy-preview-470--cozystack.netlify.app/docs/v1/networking/http-cache/</guid><description>&lt;!--
Autogenerated content. Don't edit this file directly; edit sources instead.
metadata: https://github.com/cozystack/website/blob/main/content/en/docs/v1/networking/_include/http-cache.md
source: https://github.com/cozystack/cozystack/blob/release-1.2.1/packages/apps/http-cache/README.md
--&gt;
&lt;p&gt;The Nginx-based HTTP caching service is designed to optimize web traffic and enhance web application performance.
This service combines custom-built Nginx instances with HAProxy for efficient caching and load balancing.&lt;/p&gt;
&lt;h2 id="deployment-information"&gt;Deployment information&lt;/h2&gt;
&lt;p&gt;The Nginx instances include the following modules and features:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;VTS module for statistics&lt;/li&gt;
&lt;li&gt;Integration with ip2location&lt;/li&gt;
&lt;li&gt;Integration with ip2proxy&lt;/li&gt;
&lt;li&gt;Support for 51Degrees&lt;/li&gt;
&lt;li&gt;Cache purge functionality&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;HAproxy plays a vital role in this setup by directing incoming traffic to specific Nginx instances based on a consistent hash calculated from the URL. Each Nginx instance includes a Persistent Volume Claim (PVC) for storing cached content, ensuring fast and reliable access to frequently used resources.&lt;/p&gt;</description></item><item><title>Managed TCP Load Balancer Service</title><link>https://deploy-preview-470--cozystack.netlify.app/docs/v1/networking/tcp-balancer/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://deploy-preview-470--cozystack.netlify.app/docs/v1/networking/tcp-balancer/</guid><description>&lt;!--
Autogenerated content. Don't edit this file directly; edit sources instead.
metadata: https://github.com/cozystack/website/blob/main/content/en/docs/v1/networking/_include/tcp-balancer.md
source: https://github.com/cozystack/cozystack/blob/release-1.2.1/packages/apps/tcp-balancer/README.md
--&gt;
&lt;p&gt;The Managed TCP Load Balancer Service simplifies the deployment and management of load balancers. It efficiently distributes incoming TCP traffic across multiple backend servers, ensuring high availability and optimal resource utilization.&lt;/p&gt;
&lt;h2 id="deployment-details"&gt;Deployment Details&lt;/h2&gt;
&lt;p&gt;Managed TCP Load Balancer Service efficiently utilizes HAProxy for load balancing purposes. HAProxy is a well-established and reliable solution for distributing incoming TCP traffic across multiple backend servers, ensuring high availability and efficient resource utilization. This deployment choice guarantees the seamless and dependable operation of your load balancing infrastructure.&lt;/p&gt;</description></item><item><title>Virtual Routers</title><link>https://deploy-preview-470--cozystack.netlify.app/docs/v1/networking/virtual-router/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://deploy-preview-470--cozystack.netlify.app/docs/v1/networking/virtual-router/</guid><description>&lt;p&gt;Starting with version 
&lt;a href="https://github.com/cozystack/cozystack/releases/tag/v0.27.0" target="_blank"&gt;v0.27.0&lt;/a&gt;,
Cozystack can deploy virtual routers (also known as &amp;ldquo;router appliances&amp;rdquo; or &amp;ldquo;middlebox appliances&amp;rdquo;).
This feature allows you to create a virtual router based on a virtual machine instance.
The virtual router can route traffic between different networks.&lt;/p&gt;
&lt;h2 id="creating-a-virtual-router"&gt;Creating a Virtual Router&lt;/h2&gt;
&lt;p&gt;Creating a virtual router requires a Cozystack administrator account.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Create a VM Instance&lt;/strong&gt;&lt;br/&gt;
Use the standard &lt;code&gt;vm-instance&lt;/code&gt; and &lt;code&gt;virtual-machine&lt;/code&gt; packages to create a virtual machine instance.&lt;/p&gt;</description></item></channel></rss>