From cb2223da73f4d296cd18575ad44c2cce69c3bfb4 Mon Sep 17 00:00:00 2001 From: Catherine Luse Date: Mon, 27 Jan 2020 14:40:46 -0700 Subject: [PATCH 1/3] Clarify projects and namespaces --- .../projects-and-namespaces/_index.md | 83 +++++++++++-------- 1 file changed, 50 insertions(+), 33 deletions(-) diff --git a/content/rancher/v2.x/en/cluster-admin/projects-and-namespaces/_index.md b/content/rancher/v2.x/en/cluster-admin/projects-and-namespaces/_index.md index 98453af5d31..fce7c4a8746 100644 --- a/content/rancher/v2.x/en/cluster-admin/projects-and-namespaces/_index.md +++ b/content/rancher/v2.x/en/cluster-admin/projects-and-namespaces/_index.md @@ -10,8 +10,13 @@ aliases: - /rancher/v2.x/en/tasks/projects/create-project/ --- +A namespace is a Kubernetes concept that allows a virtual cluster within a cluster, which is useful for dividing the cluster into separate "virtual clusters" that each have their own access control and resource quotas. + +A project is a group of namespaces, and it is a concept introduced by Rancher. Projects allow you to manage multiple namespaces as a group and perform Kubernetes operations in them. You can use projects to support multi-tenancy, so that a team can access a project within a cluster without having access to other projects in the same cluster. + This section describes how projects and namespaces work with Rancher. It covers the following topics: +- [About namespaces](#about-namespaces) - [About projects](#about-projects) - [The cluster's default project](#the-cluster-s-default-project) - [The system project](#the-system-project) @@ -19,7 +24,40 @@ This section describes how projects and namespaces work with Rancher. It covers - [Pod security policies](#pod-security-policies) - [Creating projects](#creating-projects) - [Switching between clusters and projects](#switching-between-clusters-and-projects) -- [Namespaces](#namespaces) + +# About Namespaces + +A namespace is a concept introduced by Kubernetes. According to the [official Kubernetes documentation,](https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/) + +> Kubernetes supports multiple virtual clusters backed by the same physical cluster. These virtual clusters are called namespaces. [...] Namespaces are intended for use in environments with many users spread across multiple teams, or projects. For clusters with a few to tens of users, you should not need to create or think about namespaces at all. + +Namespaces provide the following functionality: + +- **Providing a scope for names:** Names of resources need to be unique within a namespace, but not across namespaces. Namespaces can not be nested inside one another and each Kubernetes resource can only be in one namespace. +- **Resource quotas:** Namespaces provide a way to divide cluster resources between multiple users. + +Within Rancher, a project can contain multiple namespaces, making it possible to organize and isolate resources within the project. + +If you don't have a need for more than the default namespace, you also do not need more than the **Default** project in Rancher. + +If you require another level of organization beyond the **Default** project, you can create more projects in Rancher to isolate namespaces, applications and resources. + +You can assign resources at the project level so that each namespace in the project can use them. You can also bypass this inheritance by assigning resources explicitly to a namespace. + +You can assign the following resources directly to namespaces: + +- [Workloads]({{}}/rancher/v2.x/en/k8s-in-rancher/workloads/) +- [Load Balancers/Ingress]({{}}/rancher/v2.x/en/k8s-in-rancher/load-balancers-and-ingress/) +- [Service Discovery Records]({{}}/rancher/v2.x/en/k8s-in-rancher/service-discovery/) +- [Persistent Volume Claims]({{}}/rancher/v2.x/en/k8s-in-rancher/volumes-and-storage/persistent-volume-claims/) +- [Certificates]({{}}/rancher/v2.x/en/k8s-in-rancher/certificates/) +- [ConfigMaps]({{}}/rancher/v2.x/en/k8s-in-rancher/configmaps/) +- [Registries]({{}}/rancher/v2.x/en/k8s-in-rancher/registries/) +- [Secrets]({{}}/rancher/v2.x/en/k8s-in-rancher/secrets/) + +>**Note:** Although you can assign role-based access to namespaces in the base version of Kubernetes, you cannot assign roles to namespaces in Rancher. Instead, assign role-based access at the project level. + +For more information, see [Namespaces]({{}}/rancher/v2.x/en/project-admin/namespaces/). # About Projects @@ -36,8 +74,8 @@ In the base version of Kubernetes, features like role-based access rights or clu You can use projects to perform actions like: -- Assign users access to a group of namespaces (i.e., [project membership]({{< baseurl >}}/rancher/v2.x/en/k8s-in-rancher/projects-and-namespaces/project-members)). -- Assign users specific roles in a project. A role can be owner, member, read-only, or [custom]({{< baseurl >}}/rancher/v2.x/en/admin-settings/rbac/default-custom-roles/). +- Assign users access to a group of namespaces (i.e., [project membership]({{}}/rancher/v2.x/en/k8s-in-rancher/projects-and-namespaces/project-members)). +- Assign users specific roles in a project. A role can be owner, member, read-only, or [custom]({{}}/rancher/v2.x/en/admin-settings/rbac/default-custom-roles/). - Assign resources to the project. - Assign Pod Security Policies. @@ -67,7 +105,7 @@ The `system` project: >**Note:** In clusters where both: > -> - The [Canal network plug-in]({{< baseurl >}}/rancher/v2.x/en/cluster-provisioning/rke-clusters/options/#canal) is in use. +> - The [Canal network plug-in]({{}}/rancher/v2.x/en/cluster-provisioning/rke-clusters/options/#canal) is in use. > - The Project Network Isolation option is enabled. > >The `system` project overrides the Project Network Isolation option so that it can communicate with other projects, collect logs, and check health. @@ -97,7 +135,7 @@ Rancher extends Kubernetes to allow the application of [Pod Security Policies](h - Apply the PSP to the project. - Apply the PSP to any namespaces you add to the project later. - >**Note:** This option is only available if you've already created a Pod Security Policy. For instruction, see [Creating Pod Security Policies]({{< baseurl >}}/rancher/v2.x/en/admin-settings/pod-security-policies/). + >**Note:** This option is only available if you've already created a Pod Security Policy. For instruction, see [Creating Pod Security Policies]({{}}/rancher/v2.x/en/admin-settings/pod-security-policies/). 1. **Recommended:** Add project members. @@ -113,23 +151,23 @@ Rancher extends Kubernetes to allow the application of [Pod Security Policies](h 1. From the **Role** drop-down, choose a role. - [What are Roles?]({{< baseurl >}}/rancher/v2.x/en/admin-settings/rbac/cluster-project-roles/) + [What are Roles?]({{}}/rancher/v2.x/en/admin-settings/rbac/cluster-project-roles/) >**Notes:** > >- Users assigned the `Owner` or `Member` role for a project automatically inherit the `namespace creation` role. However, this role is a [Kubernetes ClusterRole](https://kubernetes.io/docs/reference/access-authn-authz/rbac/#role-and-clusterrole), meaning its scope extends to all projects in the cluster. Therefore, users explicitly assigned the `Owner` or `Member` role for a project can create namespaces in other projects they're assigned to, even with only the `Read Only` role assigned. > - >- Choose `Custom` to create a custom role on the fly: [Custom Project Roles]({{< baseurl >}}/rancher/v2.x/en/admin-settings/rbac/cluster-project-roles/#custom-project-roles). + >- Choose `Custom` to create a custom role on the fly: [Custom Project Roles]({{}}/rancher/v2.x/en/admin-settings/rbac/cluster-project-roles/#custom-project-roles). 1. To add more members, repeat substeps a—c. -1. **Optional:** Add **Resource Quotas**, which limit the resources that a project (and its namespaces) can consume. For more information, see [Resource Quotas]({{< baseurl >}}/rancher/v2.x/en/k8s-in-rancher/projects-and-namespaces/resource-quotas). +1. **Optional:** Add **Resource Quotas**, which limit the resources that a project (and its namespaces) can consume. For more information, see [Resource Quotas]({{}}/rancher/v2.x/en/k8s-in-rancher/projects-and-namespaces/resource-quotas). >**Note:** This option is available as of v2.1.0. 1. Click **Add Quota**. - 1. Select a [Resource Type]({{< baseurl >}}/rancher/v2.x/en/k8s-in-rancher/projects-and-namespaces/resource-quotas/#resource-quota-types). + 1. Select a [Resource Type]({{}}/rancher/v2.x/en/k8s-in-rancher/projects-and-namespaces/resource-quotas/#resource-quota-types). 1. Enter values for the **Project Limit** and the **Namespace Default Limit**. @@ -140,7 +178,7 @@ Rancher extends Kubernetes to allow the application of [Pod Security Policies](h 1. **Optional:** Repeat these substeps to add more quotas. -1. **Optional:** Specify **Container Default Resource Limit**, which will be applied to every container started in the project. The parameter is recommended if you have CPU or Memory limits set by the Resource Quota. It can be overridden on per an individual namespace or a container level. For more information, see [Container Default Resource Limit]({{< baseurl >}}/rancher/v2.x/en/project-admin/resource-quotas/#setting-container-default-resource-limit) +1. **Optional:** Specify **Container Default Resource Limit**, which will be applied to every container started in the project. The parameter is recommended if you have CPU or Memory limits set by the Resource Quota. It can be overridden on per an individual namespace or a container level. For more information, see [Container Default Resource Limit]({{}}/rancher/v2.x/en/project-admin/resource-quotas/#setting-container-default-resource-limit) >**Note:** This option is available as of v2.2.0. @@ -152,30 +190,9 @@ Rancher extends Kubernetes to allow the application of [Pod Security Policies](h To switch between clusters and projects, use the **Global** drop-down available in the main menu. -![Global Menu]({{< baseurl >}}/img/rancher/global-menu.png) +![Global Menu]({{}}/img/rancher/global-menu.png) Alternatively, you can switch between projects and clusters using the main menu. - To switch between clusters, open the **Global** view and select **Clusters** from the main menu. Then open a cluster. -- To switch between projects, open a cluster, and then select **Projects/Namespaces** from the main menu. Select the link for the project that you want to open. - -# Namespaces - -Within Rancher, you can further divide projects into different [namespaces](https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/), which are virtual clusters within a project backed by a physical cluster. Should you require another level of organization beyond projects and the `default` namespace, you can use multiple namespaces to isolate applications and resources. - -You can assign resources at the project level so that each namespace in the project can use them. You can also bypass this inheritance by assigning resources explicitly to a namespace. - -Resources that you can assign directly to namespaces include: - -- [Workloads]({{< baseurl >}}/rancher/v2.x/en/k8s-in-rancher/workloads/) -- [Load Balancers/Ingress]({{< baseurl >}}/rancher/v2.x/en/k8s-in-rancher/load-balancers-and-ingress/) -- [Service Discovery Records]({{< baseurl >}}/rancher/v2.x/en/k8s-in-rancher/service-discovery/) -- [Persistent Volume Claims]({{< baseurl >}}/rancher/v2.x/en/k8s-in-rancher/volumes-and-storage/persistent-volume-claims/) -- [Certificates]({{< baseurl >}}/rancher/v2.x/en/k8s-in-rancher/certificates/) -- [ConfigMaps]({{< baseurl >}}/rancher/v2.x/en/k8s-in-rancher/configmaps/) -- [Registries]({{< baseurl >}}/rancher/v2.x/en/k8s-in-rancher/registries/) -- [Secrets]({{< baseurl >}}/rancher/v2.x/en/k8s-in-rancher/secrets/) - ->**Note:** Although you can assign role-based access to namespaces in the base version of Kubernetes, you cannot assign roles to namespaces in Rancher. Instead, assign role-based access at the project level. - -For more information, see [Namespaces]({{< baseurl >}}/rancher/v2.x/en/project-admin/namespaces/). +- To switch between projects, open a cluster, and then select **Projects/Namespaces** from the main menu. Select the link for the project that you want to open. \ No newline at end of file From d2317824be7d9484e2d74133fabe79d8d9c3ef3c Mon Sep 17 00:00:00 2001 From: Catherine Luse Date: Mon, 27 Jan 2020 15:00:23 -0700 Subject: [PATCH 2/3] Update project screenshot --- static/img/rancher/global-menu.png | Bin 17497 -> 86464 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/static/img/rancher/global-menu.png b/static/img/rancher/global-menu.png index 25ba756e0b4d5b46556d6b65d7b89c0a70982104..68465a42beecb7bebab27f8b43fa77fc49d238dc 100644 GIT binary patch literal 86464 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�%O$xukGA%X}>y&CR;Qgcf@{|Gt{j40E;3PjNrX4e*p1N?EhjMMfN4g0Jl3Q%wd#87< ze%6yI*X)O{8@#`Ni&h2Kz3&%gDs%tpFDShJ5M8E|at+J)b#Vx~o&NWBjY4H z#M^aP5Dmz;E#MIawc`gQe;$qT*!w)_*&X&GwIy+zZ*e=!ipF;esq0=c&9{<`%8aPp z?iP#M>SL+SW`{SVRDQHwyuo#Gtsh))&>RA;K(=ver&wnE=~b0~e9s!f2FHw+oS=dU zvkYrrXA@kM)fx*>{ZJyX=_MH8Kh)3KS4>))cRlRrbsA)HP>mY*HHvpNHfoBn!4;Gs zZnNRU9z%j<`sPQ$+;N9zQYhH^?m#Ry=||$yVMe7j*65<=)U_cACwOzELepP`XXFmqjx! z6lu6?%x@Jpra^>Pc& zHZ{@+?qU^Vtv*=iq#-@7v}=|A$@-4c?bdB+*A~D#y1&w|Sn(EPpn+fJE(r%T2$|+n z(sD63q1|(&qB928`IN6Qwo*@J5y5H&mW}+c?0^c)pmOOk9p1Y&^|~h7$sb!+O~~gi<=ETRv|((mi&e93rd{i9+6oefh^;^+SW@$; z(_+&wRv6`o*Id)a!9SD^Q}=hT;G*ex6}oN8ziQEcKuC&WEa@oe)spK7tsB0z(;+J0 za<>?`2TUDCf}R}pdtcWb24~a=q@aS#IcXShHaAkN#Zb6>m|4lH7BS`p2~+25s~&}iyzuVHoXK`?K^d9ph49|;bi4SVe|kIDlMqMs z?xjXCyqd2Bi4?y!VVy{$Yjou~__>YL4#j_Xg<4D(tG4z!cG-g24_ww^L~M_!`jVJ8 z6^&(lx&XsikCOsde+JqfS`Z9h#sc&ARZzk)K!Ahb2q<_r!A~rGc&OG?DqgQ*C6LE=%t1we|qv`054GrQd*j+)!y}( zKgqAjg12ypD~xqJ(mGeB_URz_$=d^>ZhwFQe=EoezBC_ZUFR9CLO&bb4?r!f_Lg-$ z7bh)=lJHY`r5hxDFI5$iTra*`#@~8-O_gss0^b2B5=>VQ?`F~`_b+oFNvtMb=P<;k z$qw4ka>8{lK-$FeT-;-f4Px7pflgd962~rUPI6x@BR)eTfh>i?-qyGmnAXdCnLn|X z9y6msKRYv3b+Be}RF8EIp|KrRB z_(~1pymVz^M>;1ZJDS$JKxCOZl@u1fB+eM|jLc65!ve$TiOjLqxDF{`EKt z>_18WJsFngf4v*DVh20m;?FS_|GfB*(=Gmo?EZb}|E`#ab29!}z(bk;f67fIh1VMP f8BQ6#$5MY&JDHL&S_3;W1VK_%PNY=mv)}&*;bY3B From 337e1dc51dbc39d5f9ebeafeef926fea00d73868 Mon Sep 17 00:00:00 2001 From: Catherine Luse Date: Mon, 27 Jan 2020 15:26:39 -0700 Subject: [PATCH 3/3] Edit project page in cluster admin section --- .../projects-and-namespaces/_index.md | 102 +++++++++--------- 1 file changed, 51 insertions(+), 51 deletions(-) diff --git a/content/rancher/v2.x/en/cluster-admin/projects-and-namespaces/_index.md b/content/rancher/v2.x/en/cluster-admin/projects-and-namespaces/_index.md index fce7c4a8746..56be333e7e0 100644 --- a/content/rancher/v2.x/en/cluster-admin/projects-and-namespaces/_index.md +++ b/content/rancher/v2.x/en/cluster-admin/projects-and-namespaces/_index.md @@ -27,7 +27,7 @@ This section describes how projects and namespaces work with Rancher. It covers # About Namespaces -A namespace is a concept introduced by Kubernetes. According to the [official Kubernetes documentation,](https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/) +A namespace is a concept introduced by Kubernetes. According to the [official Kubernetes documentation on namespaces,](https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/) > Kubernetes supports multiple virtual clusters backed by the same physical cluster. These virtual clusters are called namespaces. [...] Namespaces are intended for use in environments with many users spread across multiple teams, or projects. For clusters with a few to tens of users, you should not need to create or think about namespaces at all. @@ -36,12 +36,6 @@ Namespaces provide the following functionality: - **Providing a scope for names:** Names of resources need to be unique within a namespace, but not across namespaces. Namespaces can not be nested inside one another and each Kubernetes resource can only be in one namespace. - **Resource quotas:** Namespaces provide a way to divide cluster resources between multiple users. -Within Rancher, a project can contain multiple namespaces, making it possible to organize and isolate resources within the project. - -If you don't have a need for more than the default namespace, you also do not need more than the **Default** project in Rancher. - -If you require another level of organization beyond the **Default** project, you can create more projects in Rancher to isolate namespaces, applications and resources. - You can assign resources at the project level so that each namespace in the project can use them. You can also bypass this inheritance by assigning resources explicitly to a namespace. You can assign the following resources directly to namespaces: @@ -57,11 +51,13 @@ You can assign the following resources directly to namespaces: >**Note:** Although you can assign role-based access to namespaces in the base version of Kubernetes, you cannot assign roles to namespaces in Rancher. Instead, assign role-based access at the project level. -For more information, see [Namespaces]({{}}/rancher/v2.x/en/project-admin/namespaces/). +For more information on creating and moving namespaces, see [Namespaces]({{}}/rancher/v2.x/en/project-admin/namespaces/). # About Projects -A project is a group of multiple [namespaces](https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/) and access control policies within a cluster. A project is a concept introduced by Rancher, not Kubernetes, which allows you manage multiple namespaces as a group and perform Kubernetes operations in them. The Rancher UI provides features for [project administration]({{}}/rancher/v2.x/en/project-admin/) and for [managing applications within projects.]({{}}/rancher/v2.x/en/k8s-in-rancher/) +Within Rancher, a project can contain multiple namespaces and access control policies, making it possible to organize and isolate resources within the project. + +A project is a concept introduced by Rancher that allows you manage multiple namespaces as a group and perform Kubernetes operations in them. The Rancher UI provides features for [project administration]({{}}/rancher/v2.x/en/project-admin/) and for [managing applications within projects.]({{}}/rancher/v2.x/en/k8s-in-rancher/) In terms of hierarchy: @@ -88,6 +84,10 @@ When you create a cluster, two projects are automatically created within it: When you provision a cluster with Rancher, it automatically creates a `default` project for the cluster. This is a project you can use to get started with your cluster, but you can always delete it and replace it with projects that have more descriptive names. +If you don't have a need for more than the default namespace, you also do not need more than the **Default** project in Rancher. + +If you require another level of organization beyond the **Default** project, you can create more projects in Rancher to isolate namespaces, applications and resources. + ### The System Project _Available as of v2.0.7_ @@ -112,10 +112,10 @@ The `system` project: # Project Authorization -Non-administrative users are only authorized for project access after an administrator, cluster owner or cluster member explicitly adds them to the project's **Members** tab. +Standard users are only authorized for project access in two situations: ->**Exception:** -> Non-administrative users can access projects that they create themselves. +- An administrator, cluster owner or cluster member explicitly adds the standard user to the project's **Members** tab. +- Standard users can access projects that they create themselves. # Pod Security Policies @@ -123,69 +123,69 @@ Rancher extends Kubernetes to allow the application of [Pod Security Policies](h # Creating Projects +This section describes how to create a new project with a name and with optional pod security policy, members, and resource quotas. + +1. [Name a new project.](#1-name-a-new-project) +2. [Optional: Select a pod security policy.](#2-optional-select-a-pod-security-policy) +3. [Recommended: Add project members.](#3-recommended-add-project-members) +4. [Optional: Add resource quotas.](#4-optional-add-resource-quotas) + +### 1. Name a New Project + 1. From the **Global** view, choose **Clusters** from the main menu. From the **Clusters** page, open the cluster from which you want to create a project. 1. From the main menu, choose **Projects/Namespaces**. Then click **Add Project**. 1. Enter a **Project Name**. -1. **Optional:** Select a **Pod Security Policy**. Assigning a PSP to a project will: +### 2. Optional: Select a Pod Security Policy - - Override the cluster's default PSP. - - Apply the PSP to the project. - - Apply the PSP to any namespaces you add to the project later. +This option is only available if you've already created a Pod Security Policy. For instruction, see [Creating Pod Security Policies]({{}}/rancher/v2.x/en/admin-settings/pod-security-policies/). - >**Note:** This option is only available if you've already created a Pod Security Policy. For instruction, see [Creating Pod Security Policies]({{}}/rancher/v2.x/en/admin-settings/pod-security-policies/). +Assigning a PSP to a project will: -1. **Recommended:** Add project members. +- Override the cluster's default PSP. +- Apply the PSP to the project. +- Apply the PSP to any namespaces you add to the project later. - Use the **Members** section to provide other users with project access and roles. +### 3. Recommended: Add Project Members - By default, your user is added as the project `Owner`. +Use the **Members** section to provide other users with project access and roles. - 1. Click **Add Member**. +By default, your user is added as the project `Owner`. - 1. From the **Name** combo box, search for a user or group that you want to assign project access. +>**Notes on Permissions:** +> +>- Users assigned the `Owner` or `Member` role for a project automatically inherit the `namespace creation` role. However, this role is a [Kubernetes ClusterRole](https://kubernetes.io/docs/reference/access-authn-authz/rbac/#role-and-clusterrole), meaning its scope extends to all projects in the cluster. Therefore, users explicitly assigned the `Owner` or `Member` role for a project can create namespaces in other projects they're assigned to, even with only the `Read Only` role assigned. +>- Choose `Custom` to create a custom role on the fly: [Custom Project Roles]({{}}/rancher/v2.x/en/admin-settings/rbac/cluster-project-roles/#custom-project-roles). - >**Note:** You can only search for groups if external authentication is enabled. +To add members: - 1. From the **Role** drop-down, choose a role. +1. Click **Add Member**. +1. From the **Name** combo box, search for a user or group that you want to assign project access. Note: You can only search for groups if external authentication is enabled. +1. From the **Role** drop-down, choose a role. For more information, refer to the [documentation on project roles.]({{}}/rancher/v2.x/en/admin-settings/rbac/cluster-project-roles/) - [What are Roles?]({{}}/rancher/v2.x/en/admin-settings/rbac/cluster-project-roles/) +### 4. Optional: Add Resource Quotas - >**Notes:** - > - >- Users assigned the `Owner` or `Member` role for a project automatically inherit the `namespace creation` role. However, this role is a [Kubernetes ClusterRole](https://kubernetes.io/docs/reference/access-authn-authz/rbac/#role-and-clusterrole), meaning its scope extends to all projects in the cluster. Therefore, users explicitly assigned the `Owner` or `Member` role for a project can create namespaces in other projects they're assigned to, even with only the `Read Only` role assigned. - > - >- Choose `Custom` to create a custom role on the fly: [Custom Project Roles]({{}}/rancher/v2.x/en/admin-settings/rbac/cluster-project-roles/#custom-project-roles). +_Available as of v2.1.0_ - 1. To add more members, repeat substeps a—c. - -1. **Optional:** Add **Resource Quotas**, which limit the resources that a project (and its namespaces) can consume. For more information, see [Resource Quotas]({{}}/rancher/v2.x/en/k8s-in-rancher/projects-and-namespaces/resource-quotas). - - >**Note:** This option is available as of v2.1.0. - - 1. Click **Add Quota**. - - 1. Select a [Resource Type]({{}}/rancher/v2.x/en/k8s-in-rancher/projects-and-namespaces/resource-quotas/#resource-quota-types). - - 1. Enter values for the **Project Limit** and the **Namespace Default Limit**. - - | Field | Description | - | ----------------------- | -------------------------------------------------------------------------------------------------------- | - | Project Limit | The overall resource limit for the project. | - | Namespace Default Limit | The default resource limit available for each namespace. This limit is propagated to each namespace in the project. The combined limit of all project namespaces shouldn't exceed the project limit. | - - 1. **Optional:** Repeat these substeps to add more quotas. - -1. **Optional:** Specify **Container Default Resource Limit**, which will be applied to every container started in the project. The parameter is recommended if you have CPU or Memory limits set by the Resource Quota. It can be overridden on per an individual namespace or a container level. For more information, see [Container Default Resource Limit]({{}}/rancher/v2.x/en/project-admin/resource-quotas/#setting-container-default-resource-limit) - >**Note:** This option is available as of v2.2.0. +Resource quotas limit the resources that a project (and its namespaces) can consume. For more information, see [Resource Quotas]({{}}/rancher/v2.x/en/k8s-in-rancher/projects-and-namespaces/resource-quotas). +To add a resource quota, +1. Click **Add Quota**. +1. Select a [Resource Type]({{}}/rancher/v2.x/en/k8s-in-rancher/projects-and-namespaces/resource-quotas/#resource-quota-types). +1. Enter values for the **Project Limit** and the **Namespace Default Limit**. +1. **Optional:** Specify **Container Default Resource Limit**, which will be applied to every container started in the project. The parameter is recommended if you have CPU or Memory limits set by the Resource Quota. It can be overridden on per an individual namespace or a container level. For more information, see [Container Default Resource Limit]({{}}/rancher/v2.x/en/project-admin/resource-quotas/#setting-container-default-resource-limit) Note: This option is available as of v2.2.0. 1. Click **Create**. **Result:** Your project is created. You can view it from the cluster's **Projects/Namespaces** view. +| Field | Description | +| ----------------------- | -------------------------------------------------------------------------------------------------------- | +| Project Limit | The overall resource limit for the project. | +| Namespace Default Limit | The default resource limit available for each namespace. This limit is propagated to each namespace in the project. The combined limit of all project namespaces shouldn't exceed the project limit. | + # Switching between Clusters and Projects To switch between clusters and projects, use the **Global** drop-down available in the main menu.