Skip to content

Commit 224019a

Browse files
committed
TELCODOCS-380-day0
1 parent e0d9ca0 commit 224019a

6 files changed

+45
-22
lines changed

modules/sandboxed-containers-building-blocks.adoc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
//Module included in the following assemblies:
22
//
3-
// * sandboxed_containers/understanding_sandboxed_containers.adoc
3+
// * sandboxed_containers/understanding_sandboxed_containers-workloads.adoc
44

55
[id="sandboxed-containers-building-blocks_{context}"]
66

modules/sandboxed-containers-common-terms.adoc

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
//Module included in the following assemblies:
22
//
3-
// * sandboxed_containers/understanding_sandboxed_containers.adoc
3+
// * sandboxed_containers/understanding_sandboxed_containers-workoads.adoc
44
[id="sandboxed-containers-common-terms_{context}"]
55
= {sandboxed-containers-first} common terms
66

@@ -16,12 +16,10 @@ In the context of {sandboxed-containers-first}, a pod is implemented as a virtua
1616

1717
{sandboxed-containers-operator}:: An Operator is a software component that automates operations, which are actions that a human operator could do on the system.
1818
+
19-
The {sandboxed-containers-operator} is tasked with managing the lifecycle of sandboxed containers on a cluster. It deals with operations, such as the installation and removal of sandboxed containers software and status monitoring.
19+
The {sandboxed-containers-operator} is tasked with managing the lifecycle of sandboxed containers on a cluster. You can use the {sandboxed-containers-operator} to perform tasks such as the installation and removal of sandboxed containers, software updates, and status monitoring.
2020

2121
Kata Containers:: Kata Containers is a core upstream project that is used to build {sandboxed-containers-first}. {sandboxed-containers-first} integrate Kata Containers with {product-title}.
2222

2323
KataConfig:: `KataConfig` objects represent configurations of sandboxed containers. They store information about the state of the cluster, such as the nodes on which the software is deployed.
2424

25-
{op-system} extensions:: {op-system-first} extensions are a mechanism to install optional {product-title} software. The {sandboxed-containers-operator} uses this mechanism to deploy sandboxed containers on a cluster.
26-
2725
Runtime class:: A `RuntimeClass` object describes which runtime can be used to run a given workload. A runtime class that is named `kata` is installed and deployed by the {sandboxed-containers-operator}. The runtime class contains information about the runtime that describes resources that the runtime needs to operate, such as the link:https://kubernetes.io/docs/concepts/scheduling-eviction/pod-overhead/[pod overhead].

modules/sandboxed-containers-deploying-osc-with-other-ocp-components.adoc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
:_content-type: CONCEPT
66
[id="sandboxed-containers-with-other-ocp-components_{context}"]
77

8-
= Using {sandboxed-containers-first} with {VirtProductName}
8+
= Virtualization and {sandboxed-containers-first}
99
//= Using {sandboxed-containers-first} with other {product-title} components
1010

1111
You can use {sandboxed-containers-first} on clusters with {VirtProductName}.
Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,12 @@
11
//Module included in the following assemblies:
22
//
3-
// * sandboxed_containers/understanding_sandboxed_containers.adoc
3+
// * sandboxed_containers/understanding_sandboxed_containers-workloads.adoc
44

55
:_content-type: CONCEPT
66
[id="sandboxed-containers-rhcos-extensions_{context}"]
77

88
= {op-system} extensions
99

10-
The {sandboxed-containers-operator} is based on the {op-system-first} extensions concept. The sandboxed containers {op-system} extension contains RPMs for Kata, QEMU, and its dependencies. You can enable them by using the `MachineConfig` resources that the Machine Config Operator provides.
10+
The {sandboxed-containers-operator} is based on the {op-system-first} extensions concept. {op-system-first} extensions are a mechanism to install optional {product-title} software. The {sandboxed-containers-operator} uses this mechanism to deploy sandboxed containers on a cluster.
11+
12+
The sandboxed containers {op-system} extension contains RPMs for Kata, QEMU, and its dependencies. You can enable them by using the `MachineConfig` resources that the Machine Config Operator provides.
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
//Module included in the following assemblies:
2+
//
3+
// * sandboxed_containers/understanding_sandboxed_containers-workloads.adoc
4+
5+
:_content-type: CONCEPT
6+
[id="sandboxed-containers-supported-platforms_{context}"]
7+
= {sandboxed-containers-first} supported platforms
8+
9+
You can install {sandboxed-containers-first} on a bare-metal server or on an Amazon Web Services (AWS) bare-metal instance. Bare-metal instances offered by other cloud providers are not supported.
10+
11+
{op-system-first} is the only supported operating system for {sandboxed-containers-first}. {sandboxed-containers-first} {sandboxed-containers-version} runs on {op-system-first} 8.6.
12+
13+
{sandboxed-containers-first} {sandboxed-containers-version} is compatible with {product-title} 4.11.

sandboxed_containers/understanding-sandboxed-containers.adoc

Lines changed: 24 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -8,32 +8,42 @@ toc::[]
88

99
[role="_abstract"]
1010

11-
{sandboxed-containers-first} support for {product-title} provides users with built-in support for running Kata Containers as an additional optional runtime. This is particularly useful for users who are wanting to perform the following tasks:
11+
{sandboxed-containers-first} support for {product-title} provides you with built-in support for running Kata Containers as an additional optional runtime. The new runtime supports containers in dedicated virtual machines (VMs), providing improved workload isolation. This is particularly useful for performing the following tasks:
1212

13-
- Run privileged or untrusted workloads.
14-
- Ensure kernel isolation for each workload.
15-
- Share the same workload across tenants.
16-
- Ensure proper isolation and sandboxing for testing software.
17-
- Ensure default resource containment through VM boundaries.
13+
Run privileged or untrusted workloads:: {sandboxed-containers-first} (OSC) makes it possible to safely run workloads that require specific privileges, without having to risk compromising cluster nodes by running privileged containers. Workloads that require special privileges include the following:
14+
* Workloads that require special capabilities from the kernel, beyond the default ones granted by standard container runtimes such as CRI-O, for example to access low-level networking features.
15+
* Workloads that need elevated root privileges, for example to access a specific physical device. With {sandboxed-containers-first}, it is possible to pass only a specific device through to the VM, ensuring that the workload cannot access or misconfigure the rest of the system.
16+
* Workloads for installing or using `set-uid` root binaries. These binaries grant special privileges and, as such, can present a security risk. With {sandboxed-containers-first}, additional privileges are restricted to the virtual machines, and grant no special access to the cluster nodes.
1817

19-
{sandboxed-containers-first} also provides users the ability to choose from the type of workload that they want to run to cover a wide variety of use cases.
18+
+
19+
Some workloads may require privileges specifically for configuring the cluster nodes. Such workloads should still use privileged containers, because running on a virtual machine would prevent them from functioning.
2020

21-
You can use the {sandboxed-containers-operator} to perform tasks such as installation and removal, updates, and status monitoring.
21+
Ensure kernel isolation for each workload:: {sandboxed-containers-first} supports workloads that require custom kernel tuning (such as `sysctl`, scheduler changes, or cache tuning) and the creation of custom kernel modules (such as `out of tree` or special arguments).
2222

23-
You can install {sandboxed-containers-first} on Amazon Web Services (AWS) bare-metal instances. Bare-metal instances offered by other cloud providers are not supported.
23+
Share the same workload across tenants:: {sandboxed-containers-first} enables you to support multiple users (tenants) from different organizations sharing the same OpenShift cluster. The system also lets you run third-party workloads from multiple vendors, such as container network functions (CNFs) and enterprise applications. Third-party CNFs, for example, may not want their custom settings interfering with packet tuning or with `sysctl` variables set by other applications. Running inside a completely isolated kernel is helpful in preventing "noisy neighbor" configuration problems.
2424

25-
{op-system-first} is the only supported operating system for {sandboxed-containers-first} {sandboxed-containers-version}.
25+
Ensure proper isolation and sandboxing for testing software:: You can use {sandboxed-containers-first} to run a containerized workload with known vulnerabilities or to handle an issue in a legacy application. This isolation also enables administrators to give developers administrative control over pods, which is useful when the developer wants to test or validate configurations beyond those an administrator would typically grant. Administrators can, for example, safely and securely delegate kernel packet filtering (eBPF) to developers. Kernel packet filtering requires `CAP_ADMIN` or `CAP_BPF` privileges, and is therefore not allowed under a standard CRI-O configuration, as this would grant access to every process on the Container Host worker node. Similarly, administrators can grant access to intrusive tools such as SystemTap, or support the loading of custom kernel modules during their development.
2626

27+
Ensure default resource containment through VM boundaries:: By default, resources such as CPU, memory, storage, or networking are managed in a more robust and secure way in {sandboxed-containers-first}. Since {sandboxed-containers-first} are deployed on VMs, additional layers of isolation and security give a finer-grained access control to the resource. For example, an errant container will not be able to allocate more memory than is available to the VM. Conversely, a container that needs dedicated access to a network card or to a disk can take complete control over that device without getting any access to other devices.
28+
29+
include::modules/sandboxed-containers-supported-platforms.adoc[leveloffset=+1]
2730
include::modules/sandboxed-containers-common-terms.adoc[leveloffset=+1]
28-
include::modules/sandboxed-containers-building-blocks.adoc[leveloffset=+1]
29-
include::modules/sandboxed-containers-rhcos-extensions.adoc[leveloffset=+1]
31+
32+
[id="sandboxed-containers-workload-management"]
33+
== {sandboxed-containers-first} workload management
34+
35+
{sandboxed-containers-first} provides the following features for enhancing workload management and allocation:
36+
37+
include::modules/sandboxed-containers-building-blocks.adoc[leveloffset=+2]
38+
include::modules/sandboxed-containers-rhcos-extensions.adoc[leveloffset=+2]
3039
.Additional resources
3140

3241
* xref:../post_installation_configuration/machine-configuration-tasks.adoc#rhcos-add-extensions_post-install-machine-configuration-tasks[Adding extensions to RHCOS]
3342

34-
include::modules/security-compliance-nist.adoc[leveloffset=+1]
35-
include::modules/sandboxed-containers-deploying-osc-with-other-ocp-components.adoc[leveloffset=+1]
43+
include::modules/sandboxed-containers-deploying-osc-with-other-ocp-components.adoc[leveloffset=+2]
3644
.Additional resources
3745

3846
* xref:../virt/virtual_machines/virtual_disks/virt-configuring-local-storage-for-vms.adoc#virt-creating-storage-class_virt-configuring-local-storage-for-vms[Configuring local storage for virtual machines]
3947
* xref:../virt/live_migration/virt-configuring-vmi-eviction-strategy.adoc#virt-configuring-vmi-eviction-strategy[Configuring virtual machine eviction strategy]
48+
49+
include::modules/security-compliance-nist.adoc[leveloffset=+1]

0 commit comments

Comments
 (0)