|
413 | 413 | <ul class="md-nav__list" data-md-component="toc" data-md-scrollfix> |
414 | 414 |
|
415 | 415 | <li class="md-nav__item"> |
416 | | - <a href="#availability-zones" class="md-nav__link"> |
| 416 | + <a href="#superphenix-clusters" class="md-nav__link"> |
417 | 417 | <span class="md-ellipsis"> |
418 | 418 | <span class="md-typeset"> |
419 | | - Availability zones |
| 419 | + Superphenix clusters |
420 | 420 | </span> |
421 | 421 | </span> |
422 | 422 | </a> |
423 | 423 |
|
424 | | - <nav class="md-nav" aria-label="Availability zones"> |
425 | | - <ul class="md-nav__list"> |
426 | | - |
427 | | - <li class="md-nav__item"> |
428 | | - <a href="#geography" class="md-nav__link"> |
| 424 | +</li> |
| 425 | + |
| 426 | + <li class="md-nav__item"> |
| 427 | + <a href="#availability-zones" class="md-nav__link"> |
429 | 428 | <span class="md-ellipsis"> |
430 | 429 | <span class="md-typeset"> |
431 | | - Geography |
| 430 | + Availability zones |
432 | 431 | </span> |
433 | 432 | </span> |
434 | 433 | </a> |
435 | 434 |
|
436 | 435 | </li> |
437 | | - |
438 | | - </ul> |
439 | | - </nav> |
| 436 | + |
| 437 | + <li class="md-nav__item"> |
| 438 | + <a href="#regions" class="md-nav__link"> |
| 439 | + <span class="md-ellipsis"> |
| 440 | + <span class="md-typeset"> |
| 441 | + Regions |
| 442 | + </span> |
| 443 | + </span> |
| 444 | + </a> |
440 | 445 |
|
441 | 446 | </li> |
442 | 447 |
|
|
1652 | 1657 | <ul class="md-nav__list" data-md-component="toc" data-md-scrollfix> |
1653 | 1658 |
|
1654 | 1659 | <li class="md-nav__item"> |
1655 | | - <a href="#availability-zones" class="md-nav__link"> |
| 1660 | + <a href="#superphenix-clusters" class="md-nav__link"> |
1656 | 1661 | <span class="md-ellipsis"> |
1657 | 1662 | <span class="md-typeset"> |
1658 | | - Availability zones |
| 1663 | + Superphenix clusters |
1659 | 1664 | </span> |
1660 | 1665 | </span> |
1661 | 1666 | </a> |
1662 | 1667 |
|
1663 | | - <nav class="md-nav" aria-label="Availability zones"> |
1664 | | - <ul class="md-nav__list"> |
1665 | | - |
1666 | | - <li class="md-nav__item"> |
1667 | | - <a href="#geography" class="md-nav__link"> |
| 1668 | +</li> |
| 1669 | + |
| 1670 | + <li class="md-nav__item"> |
| 1671 | + <a href="#availability-zones" class="md-nav__link"> |
1668 | 1672 | <span class="md-ellipsis"> |
1669 | 1673 | <span class="md-typeset"> |
1670 | | - Geography |
| 1674 | + Availability zones |
1671 | 1675 | </span> |
1672 | 1676 | </span> |
1673 | 1677 | </a> |
1674 | 1678 |
|
1675 | 1679 | </li> |
1676 | | - |
1677 | | - </ul> |
1678 | | - </nav> |
| 1680 | + |
| 1681 | + <li class="md-nav__item"> |
| 1682 | + <a href="#regions" class="md-nav__link"> |
| 1683 | + <span class="md-ellipsis"> |
| 1684 | + <span class="md-typeset"> |
| 1685 | + Regions |
| 1686 | + </span> |
| 1687 | + </span> |
| 1688 | + </a> |
1679 | 1689 |
|
1680 | 1690 | </li> |
1681 | 1691 |
|
|
1731 | 1741 |
|
1732 | 1742 |
|
1733 | 1743 | <h1 id="architecture-overview">Architecture overview</h1> |
1734 | | -<p>This page describes how Superphenix is organized: organizations and projects, where resources live, how availability zones (AZs) work, and how disaster recovery fits in. For how AZs and the management cluster can be deployed, see <a href="../architecture/deployment-topology/">Deployment topology</a>. For infrastructure planning details, see <a href="../architecture/deployment-requirements/">Hardware requirements</a> and <a href="../architecture/network-requirements/">Network requirements</a>.</p> |
| 1744 | +<p>This page describes how Superphenix is organized: <strong>Superphenix clusters</strong>, how they are grouped into <strong>availability zones (AZs)</strong> and <strong>regions</strong>, tenant <strong>organizations</strong> and <strong>projects</strong>, where resources live, and how disaster recovery fits in. For deployment layouts and management placement, see <a href="../architecture/deployment-topology/">Deployment topology</a>. For infrastructure planning, see <a href="../architecture/deployment-requirements/">Hardware requirements</a> and <a href="../architecture/network-requirements/">Network requirements</a>.</p> |
| 1745 | +<h2 id="superphenix-clusters">Superphenix clusters</h2> |
| 1746 | +<p>A <strong>Superphenix cluster</strong> is a <strong>Kubernetes cluster</strong> (typically Talos Linux) on which the Superphenix stack runs. The management plane discovers and operates each cluster through a <strong><code>Cluster</code> custom resource</strong> that declares its <strong>topology</strong>, <strong>geography</strong>, and <strong>connection</strong> details.</p> |
| 1747 | +<p>Each cluster uses one of two <strong>deployment topologies</strong>:</p> |
| 1748 | +<ul> |
| 1749 | +<li><strong>Hyperconverged</strong>: storage and virtualization on the <strong>same</strong> cluster; the simplest layout, usually one cluster per AZ.</li> |
| 1750 | +<li><strong>Decoupled</strong>: clusters are dedicated to <strong>storage</strong> or <strong>virtualization</strong>; an AZ can therefore comprise <strong>several</strong> Superphenix clusters (for example, one storage cluster and one or more workload clusters).</li> |
| 1751 | +</ul> |
| 1752 | +<p>Set <code>deploymentTopology</code> and, when decoupled, <code>type: Storage</code> or <code>type: Virtualization</code> on the <code>Cluster</code> resource. See <a href="../architecture/deployment-topology/">Deployment topology</a> and <a href="../installation/configuring-a-cluster/">Configure a cluster</a>.</p> |
1735 | 1753 | <h2 id="availability-zones">Availability zones</h2> |
1736 | | -<p>An <strong>availability zone</strong> is a <strong>Kubernetes cluster</strong> on which the full Superphenix stack is deployed: virtualization, software-defined network, storage (if not decoupled), and tooling. It is the unit of capacity and failure domain: everything running in that AZ runs on that cluster.</p> |
1737 | | -<h3 id="geography">Geography</h3> |
| 1754 | +<p>An <strong>availability zone (AZ)</strong> is a <strong>logical grouping</strong> of Superphenix clusters. Clusters in an AZ are treated as one unit of capacity and failure domain for placing tenant resources (VMs, networks, volumes).</p> |
| 1755 | +<p>In a <strong>hyperconverged</strong> AZ, a single cluster usually runs virtualization, software-defined networking, and storage together. In a <strong>decoupled</strong> AZ, storage and workload tiers are separate Kubernetes clusters registered under the same <code>availabilityZone</code>; workload clusters connect to the storage backends defined for that zone.</p> |
| 1756 | +<p>An AZ may <strong>span multiple nearby datacenters</strong> (a stretched AZ) only when inter-site latency stays very low; aim for about <strong>2 ms round-trip</strong> or less between sites (same campus or metro). Higher latency undermines storage replication, control-plane stability, and VM networking; use <strong>separate AZs</strong> in the same <strong>region</strong> instead. Assign every cluster in the AZ the same <code>region</code> and <code>availabilityZone</code> values. See <a href="../architecture/network-requirements/#stretched-az-latency-guidance">Stretched AZ latency guidance</a>.</p> |
| 1757 | +<h2 id="regions">Regions</h2> |
1738 | 1758 | <p>An AZ can <strong>span multiple datacenters</strong> as long as latency between them is low (e.g. same campus or metro). The important constraint is <strong>network latency (ping)</strong>: if the sites are too far apart, the cluster’s consistency and performance requirements may not be met. So an AZ is a logical unit of availability that can stretch across nearby datacenters, but not across distant regions.</p> |
1739 | 1759 | <h2 id="organizations-and-projects">Organizations and projects</h2> |
1740 | 1760 | <p>Superphenix uses a two-level hierarchy for tenant isolation and resource grouping:</p> |
|
0 commit comments