Skip to content

Commit b2b8793

Browse files
Merge pull request #93562 from michaelryanpeter/osdocs-14595-TP-single-and-own-namespace-modes
OSDOCS#14595: 4.19 TP [OLMv1] Specifying a deployment namespace
2 parents 637571e + a31e62e commit b2b8793

File tree

4 files changed

+69
-2
lines changed

4 files changed

+69
-2
lines changed

extensions/ce/managing-ce.adoc

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,10 +27,12 @@ include::modules/olmv1-creating-a-cluster-role.adoc[leveloffset=+2]
2727
include::modules/olmv1-example-pipelines-operator-cluster-role.adoc[leveloffset=+2]
2828
include::modules/olmv1-creating-a-cluster-role-binding.adoc[leveloffset=+2]
2929
include::modules/olmv1-installing-an-operator.adoc[leveloffset=+1]
30+
include::modules/olmv1-installing-an-operator-in-a-specific-namespace.adoc[leveloffset=+1]
3031

3132
[role="_additional-resources"]
3233
.Additional resources
3334
* xref:../../extensions/ce/managing-ce.adoc#olmv1-supported-extensions_managing-ce[Supported extensions]
35+
* xref:../../authentication/using-rbac.adoc#rbac-projects-namespaces_using-rbac[Projects and namespaces]
3436
* xref:../../extensions/ce/managing-ce.adoc#olmv1-creating-a-service-account_managing-ce[Creating a service account]
3537
* xref:../../extensions/ce/update-paths.adoc#olmv1-about-target-versions_update-paths[Example custom resources (CRs) that specify a target version]
3638
* xref:../../extensions/ce/update-paths.adoc#olmv1-version-range-support_update-paths[Support for version ranges]
Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
// Module included in the following assemblies:
2+
//
3+
// * extensions/ce/olmv1-installing-an-operator-from-a-catalog.adoc
4+
5+
:_mod-docs-content-type: PROCEDURE
6+
7+
[id="olmv1-deploying-a-ce-in-a-specific-namespace_{context}"]
8+
= Deploying a cluster extension in a specific namespace (Technology Preview)
9+
10+
Install modes are a multi-tenancy feature of {olmv0-first}. {olmv1} does not support multi-tenancy and deploys cluster extensions to the cluster by default by using the `AllNamespaces` install mode.
11+
12+
However, some existing cluster extensions do not support the `AllNamespaces` install mode. You can deploy an extension in a specific namespace by using the `OwnNamespace` or `SingleNamespace` install modes as a Technology Preview feature for `registry+v1` Operator bundles.
13+
14+
The `MultiNamespace` install mode is not supported. As a result, you cannot install the same Operator multiple times on a cluster.
15+
16+
:FeatureName: {Support for deploying a cluster extension in a specific namespace}
17+
include::snippets/technology-preview.adoc[]
18+
19+
For more information, see "Supported extensions".
20+
21+
.Prerequisites
22+
* Access to an {product-title} cluster using an account with `cluster-admin` permissions
23+
* The `TechPreviewNoUpgrade` feature set enabled on the cluster
24+
* An Operator that supports the `OwnNamespace` or `SingleNamespace` install modes
25+
26+
.Procedure
27+
28+
. Create a custom resource (CR), similar to the following example:
29+
+
30+
.Example `<cluster-extension-cr>.yaml` file
31+
[source,yaml]
32+
----
33+
apiVersion: olm.operatorframework.io/v1
34+
kind: ClusterExtension
35+
metadata:
36+
name: <clusterextension_name>
37+
annotations:
38+
olm.operatorframework.io/watch-namespace: <namespace>
39+
spec:
40+
namespace: <installed_namespace>
41+
serviceAccount:
42+
name: <service_account_installer_name>
43+
source:
44+
sourceType: Catalog
45+
catalog:
46+
packageName: <package_name>
47+
channels:
48+
- <channel_name>
49+
version: <version_or_version_range>
50+
upgradeConstraintPolicy: CatalogProvided
51+
----
52+
where:
53+
54+
`namespace` :: Specifies the namespace where you want the cluster extension deployed.
55+
+
56+
* If the `namespace` parameter is empty or if the annotation is not present, the extension is deployed using the `AllNamespaces` install mode.
57+
* If the `namespace` parameter is the same value as the `installed_namespace` parameter in the `spec.namespace` field, the extension is deployed using the `OwnNamespace` install mode.
58+
* If the `namespace` parameter specifies a namespace that is different from the `installed_namespace` parameter, the extension is deployed using the `SingleNamespace` install mode.
59+
60+
. Apply the CR to the cluster by running the following command:
61+
+
62+
[source,terminal]
63+
----
64+
$ oc apply -f <cluster_extension_cr>.yaml
65+
----

modules/olmv1-installing-an-operator.adoc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
:_mod-docs-content-type: PROCEDURE
66

77
[id="olmv1-installing-an-operator_{context}"]
8-
= Installing a cluster extension from a catalog
8+
= Installing a cluster extension in all namespaces
99

1010
You can install an extension from a catalog by creating a custom resource (CR) and applying it to the cluster. {olmv1-first} supports installing cluster extensions, including {olmv0} Operators in the `registry+v1` bundle format, that are scoped to the cluster. For more information, see _Supported extensions_.
1111

snippets/olmv1-tp-extension-support.adoc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,9 +10,9 @@ Currently, {olmv1-first} supports installing cluster extensions that meet all of
1010

1111
* The extension must use the `registry+v1` bundle format introduced in {olmv0}.
1212
* The extension must support installation via the `AllNamespaces` install mode.
13+
** Support for the `SingleNamespace` and `OwnNamespace` install mode is included in {product-title} {product-version} as a Technology Preview feature.
1314
* The extension must not use webhooks.
1415
* The extension must not declare dependencies by using any of the following file-based catalog properties:
15-
1616
** `olm.gvk.required`
1717
** `olm.package.required`
1818
** `olm.constraint`

0 commit comments

Comments
 (0)