-
Notifications
You must be signed in to change notification settings - Fork 112
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Huge refactoring and update to the documentation
- Loading branch information
Showing
20 changed files
with
616 additions
and
388 deletions.
There are no files selected for viewing
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,28 @@ | ||
# General considerations | ||
|
||
## Overlays instead of images | ||
|
||
The infrastructure is based on [image overlays](https://www.libvirt.org/kbase/backing_chains.html) | ||
instead of actual base qcow2. This allows for a faster redeployment, and saves disk capacities. | ||
|
||
It also allows to modify one base image, and get multiple VMs based on that single image - this is what | ||
we're doing for the compute and controller: they share the same base image. | ||
|
||
CRC, on the other hand, consumes an already deployed CRC image - same goes for the OCP cluster. | ||
|
||
In that case, the first run will deploy the OpenShift service you want (CRC or dev-scripts based), | ||
then stop the involved VM(s), undefine all the resources in libvirt, and create overlays. | ||
|
||
That way, you're in a "deploy once, use many times", with the capacity to get a clean environment in a | ||
matter of minutes instead of hours. | ||
|
||
## Lightweight vs Validated Architecture | ||
|
||
The Lightweight layout, consuming CRC as an OpenShift provider, is mostly targeted for light CI and dev usage. | ||
CRC doesn't have HA, since it's a single-node deployment, and has a lot of hacks embedded to make it work like that. | ||
|
||
The Validated Architecture wants to be closer to an actual production infrastructure, allowing to test more features, | ||
especially related to HA. | ||
|
||
The OCP cluster as deployed by dev-scripts still presents some hacks, but they are really light compared to CRC. It's | ||
a really good way to test the product against a "close to reality" infrastructure. |
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,39 @@ | ||
# Lightweight infrastructure | ||
|
||
The lightweight infrastructures involves [CRC](https://crc.dev/crc/getting_started/getting_started/introducing/), | ||
by default 2 other virtual machines, and 2 networks. | ||
|
||
## Layout overview | ||
|
||
The following schema will help understanding the lightweight layout: | ||
|
||
``` | ||
.__________________________________________. | ||
| Hypervisor | | ||
| | | ||
| [controller-0] [crc-0] [compute-0] | | ||
| | | | | | | | | ||
| | '--------'--|-----' | | | ||
| | osp_trunk | | | | ||
| '---------------'---------'--------|---{Internet/external resources} | ||
| public | | ||
|__________________________________________| | ||
``` | ||
|
||
### Networks description | ||
|
||
- `osp_trunk` is the "usual" private network that will be used to deploy with network isolation (vlans). | ||
- `public` is bridged to the outside, allowing the installer to fetch the needed packages, operators and container images. | ||
|
||
## Images and overlays | ||
|
||
The layout is consuming two kind of resources for the VMs: base images, being the original QCOW2 disk images, and overlays. | ||
|
||
When you run the playbook, it will fetch the base image from the location you set in the variable file (by default CentOS mirrors) | ||
for the controller and computes, bootstrap the CRC service, and stop it once it's ready. | ||
|
||
Then, it will create image overlays based on the base image as well as from the generated CRC image. That way, | ||
a second deployment will be far, far quicker, allowing you to iterate over and over. | ||
|
||
Of course, in the best possible world, you shouldn't need to redeploy the infra in order to iterate developments, but having | ||
this possibility is a real help, especially when times come to start over a fresh, clean environment. |
This file was deleted.
Oops, something went wrong.
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 was deleted.
Oops, something went wrong.
Oops, something went wrong.