-
Notifications
You must be signed in to change notification settings - Fork 2
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #297 from appuio/ocp-942/ref-architecture-exoscale
Add Exoscale architecture reference documentation
- Loading branch information
Showing
5 changed files
with
127 additions
and
3 deletions.
There are no files selected for viewing
4 changes: 4 additions & 0 deletions
4
docs/modules/ROOT/assets/images/ocp4-architecture-exoscale.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
96 changes: 96 additions & 0 deletions
96
docs/modules/ROOT/pages/references/exoscale/architecture.adoc
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,96 @@ | ||
:infra-type: Exoscale | ||
:infra-svg: ocp4-architecture-exoscale.svg | ||
= APPUiO Managed OpenShift 4 on {infra-type} | ||
|
||
== Architecture overview | ||
|
||
include::partial$architecture/overview.adoc[] | ||
|
||
== {infra-type} requirements | ||
|
||
APPUiO Managed OpenShift 4 on {infra-type} needs a https://docs.openshift.com/container-platform/4.14/installing/installing_bare_metal/installing-bare-metal.html#installation-load-balancing-user-infra_installing-bare-metal[Load Balancer setup] that must meet the following requirements: | ||
|
||
1. API load balancer: Provides a common endpoint to interact with OpenShift and Kubernetes. | ||
|
||
2. Ingress load balancer: Provides an endpoint for application traffic flowing in from outside the cluster. | ||
|
||
See the https://docs.openshift.com/container-platform/latest/installing/installing_bare_metal/installing-bare-metal.html#installation-requirements-user-infra_installing-bare-metal[upstream documentation] for details on {infra-type} requirements. | ||
|
||
|
||
== Networking | ||
|
||
=== Security Groups | ||
|
||
On {infra-type}, APPUiO Managed OpenShift 4 uses public IPs for each node in the cluster. | ||
See https://kb.vshn.ch/oc4/explanations/exoscale/limitations.html#_private_networks[Limitations] of the {infra-type} environment. | ||
|
||
The individual VMs are placed in https://community.exoscale.com/documentation/compute/security-groups[Security Groups] to restrict access and isolate the nodes from the public internet. | ||
|
||
NOTE: On the {infra-type} environment there is no single stable egress IP. Every node uses a dynamic public IP for egress traffic, which it's not suited for any forms of whitelisting. | ||
|
||
=== Virtual IPs | ||
|
||
To expose applications and the Kubernetes API outside the cluster, APPUiO Managed OpenShift 4 manages two floating IPs: | ||
|
||
1. The "API VIP" for the Kubernetes and OpenShift API. | ||
APPUiO Managed OpenShift 4 uses a public floating IP as the API VIP. | ||
2. The "Ingress VIP" for the OpenShift Ingress Router | ||
APPUiO Managed OpenShift 4 uses a public floating IP as the Ingress VIP. | ||
|
||
APPUiO Managed OpenShift 4 uses two Load Balancer instances to manage the API and ingress VIPs and distributes traffic to the master / infrastructure nodes. | ||
|
||
=== Pod and service networks | ||
|
||
include::partial$architecture/networking-pods.adoc[] | ||
|
||
=== Exposing the cluster | ||
|
||
We provide a CNAME target record to point additional DNS records to. | ||
|
||
=== External services | ||
|
||
include::partial$architecture/networking-external.adoc[] | ||
|
||
== Storage | ||
|
||
include::partial$architecture/storage.adoc[] | ||
|
||
== Glossary | ||
|
||
=== Components {infra-type} | ||
|
||
[cols="1,3,1"] | ||
|=== | ||
|Name|Description|provided by | ||
|
||
|Security Group | ||
a|Exoscale Security Groups provide a modular way to define and compose firewall rules. | ||
|
||
Security Groups hold two different types of information: | ||
* A list of rules to apply to traffic | ||
* A list of member instances in the security group which allows using groups as traffic sources or destinations in rules | ||
|
||
See https://community.exoscale.com/documentation/compute/security-groups[Upstream Documentation]. | ||
|
||
|{infra-type} | ||
|
||
|S3 compatible storage | ||
a|Various OpenShift components require S3 compatible storage. | ||
This storage is provided by {infra-type}. | ||
|
||
The main APPUiO Managed OpenShift 4 components that use object storage are | ||
|
||
* OpenShift integrated image registry | ||
* OpenShift logging stack | ||
* APPUiO Managed cluster backups | ||
|{infra-type} | ||
|
||
|=== | ||
|
||
=== Components General | ||
|
||
include::partial$architecture/glossary-general.adoc[] | ||
|
||
=== Other terms | ||
|
||
include::partial$architecture/glossary-others.adoc[] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters