Skip to content

Commit

Permalink
Merge pull request #1552 from rancher/v2.10.0
Browse files Browse the repository at this point in the history
Merge v2.10.0 release branch into main
  • Loading branch information
sunilarjun authored Nov 19, 2024
2 parents 6d0ac48 + 412270a commit 72f6a48
Show file tree
Hide file tree
Showing 57 changed files with 578 additions and 423 deletions.
77 changes: 76 additions & 1 deletion docs/api/workflows/projects.md
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,10 @@ EOF

Setting the `field.cattle.io/creatorId` field allows the cluster member account to see project resources with the `get` command and view the project in the Rancher UI. Cluster owner and admin accounts don't need to set this annotation to perform these tasks.

Setting the `field.cattle.io/creator-principal-name` annotation to the user's principal preserves it in a projectroletemplatebinding automatically created for the project owner.

If you don't want the creator to be added as the owner member (e.g. if the creator is a cluster administrator) to the project you may set the `field.cattle.io/no-creator-rbac` annotation to `true`, which will prevent the corresponding projectroletemplatebinding from being created.

### Creating a Project With a Resource Quota

Refer to [Kubernetes Resource Quota](https://kubernetes.io/docs/concepts/policy/resource-quotas/).
Expand Down Expand Up @@ -91,6 +95,77 @@ spec:
limitsMemory: 100Mi
requestsCpu: 50m
requestsMemory: 50Mi
EOF
```

## Adding a Member to a Project

Look up the project ID to specify the `metadata.namespace` field and `projectName` field values.

```bash
kubectl --namespace c-m-abcde get projects
```

Look up the role template ID to specify the `roleTemplateName` field value (e.g. `project-member` or `project-owner`).

```bash
kubectl get roletemplates
```

When adding a user member specify the `userPrincipalName` field:

```bash
kubectl create -f - <<EOF
apiVersion: management.cattle.io/v3
kind: ProjectRoleTemplateBinding
metadata:
generateName: prtb-
namespace: p-vwxyz
projectName: c-m-abcde:p-vwxyz
roleTemplateName: project-member
userPrincipalName: keycloak_user://user
EOF
```

When adding a group member specify the `groupPrincipalName` field instead:

```bash
kubectl create -f - <<EOF
apiVersion: management.cattle.io/v3
kind: ProjectRoleTemplateBinding
metadata:
generateName: prtb-
namespace: p-vwxyz
projectName: c-m-abcde:p-vwxyz
roleTemplateName: project-member
groupPrincipalName: keycloak_group://group
EOF
```

Create a projectroletemplatebinding for each role you want to assign to the project member.

## Listing Project Members

Look up the project ID:

```bash
kubectl --namespace c-m-abcde get projects
```

to list projectroletemplatebindings in the project's namespace:

```bash
kubectl --namespace p-vwxyz get projectroletemplatebindings
```

## Deleting a Member From a Project

Lookup the projectroletemplatebinding IDs containing the member in the project's namespace as decribed in the [Listing Project Members](#listing-project-members) section.

Delete the projectroletemplatebinding from the project's namespace:

```bash
kubectl --namespace p-vwxyz delete projectroletemplatebindings prtb-qx874 prtb-7zw7s
```

## Creating a Namespace in a Project
Expand Down Expand Up @@ -132,4 +207,4 @@ Delete the project under the cluster namespace:
kubectl --namespace c-m-abcde delete project p-vwxyz
```

Note that this command doesn't delete the namespaces and resources that formerly belonged to the project.
Note that this command doesn't delete the namespaces and resources that formerly belonged to the project.
5 changes: 1 addition & 4 deletions docs/faq/deprecated-features.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,10 +16,7 @@ Rancher will publish deprecated features as part of the [release notes](https://

| Patch Version | Release Date |
|---------------|---------------|
| [2.9.3](https://github.com/rancher/rancher/releases/tag/v2.9.3) | Oct 24, 2024 |
| [2.9.2](https://github.com/rancher/rancher/releases/tag/v2.9.2) | Sep 19, 2024 |
| [2.9.1](https://github.com/rancher/rancher/releases/tag/v2.9.1) | Aug 26, 2024 |
| [2.9.0](https://github.com/rancher/rancher/releases/tag/v2.9.0) | Jul 31, 2024 |
| [2.10.0](https://github.com/rancher/rancher/releases/tag/v2.10.0) | Nov 18, 2024 |

## What can I expect when a feature is marked for deprecation?

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@ The following is a list of feature flags available in Rancher. If you've upgrade
- `harvester`: Manages access to the Virtualization Management page, where users can navigate directly to Harvester clusters and access the Harvester UI. See [Harvester Integration Overview](../../../integrations-in-rancher/harvester/overview.md) for more information.
- `istio-virtual-service-ui`: Enables a [visual interface](../../../how-to-guides/advanced-user-guides/enable-experimental-features/istio-traffic-management-features.md) to create, read, update, and delete Istio virtual services and destination rules, which are Istio traffic management features.
- `legacy`: Enables a set of features from 2.5.x and earlier, that are slowly being phased out in favor of newer implementations. These are a mix of deprecated features as well as features that will eventually be available to newer versions. This flag is disabled by default on new Rancher installations. If you're upgrading from a previous version of Rancher, this flag is enabled.
- `managed-system-upgrade-controller`: Enables the installation of the system-upgrade-controller app in downstream RKE2/K3s clusters, currently limited to imported clusters and the local cluster, with plans to expand support to node-driver clusters.
- `multi-cluster-management`: Allows multi-cluster provisioning and management of Kubernetes clusters. This flag can only be set at install time. It can't be enabled or disabled later.
- `rke1-custom-node-cleanup`: Enables cleanup of deleted RKE1 custom nodes. We recommend that you keep this flag enabled, to prevent removed nodes from attempting to rejoin the cluster.
- `rke2`: Enables provisioning RKE2 clusters. This flag is enabled by default.
Expand All @@ -42,8 +43,9 @@ The following table shows the availability and default values for some feature f
| `fleet` | `true` | GA | v2.5.0 | |
| `harvester` | `true` | Experimental | v2.6.1 | |
| `legacy` | `false` for new installs, `true` for upgrades | GA | v2.6.0 | |
| `managed-system-upgrade-controller` | `true` | GA | v2.10.0 | |
| `rke1-custom-node-cleanup`| `true` | GA | v2.6.0 | |
| `rke2` | `true` | Experimental | v2.6.0 | |
| `token-hashing` | `false` for new installs, `true` for upgrades | GA | v2.6.0 | |
| `uiextension` | `true` | GA | v2.9.0 |
| `ui-sql-cache` | `false` | Highly experimental | v2.9.0 |
| `uiextension` | `true` | GA | v2.9.0 | |
| `ui-sql-cache` | `false` | Highly experimental | v2.9.0 | |
Original file line number Diff line number Diff line change
Expand Up @@ -13,4 +13,11 @@ To view the generated CIS scan reports,
1. Click **CIS Benchmark > Scan**.
1. The **Scans** page will show the generated reports. To see a detailed report, go to a scan report and click the name.

One can download the report from the Scans list or from the scan detail page.
One can download the report from the Scans list or from the scan detail page.

To get the verbose version of the CIS scan results, run the following command on the cluster that was scanned. Note that the scan must be completed before this can be done.

```console
export REPORT="scan-report-name"
kubectl get clusterscanreport $REPORT -o json |jq ".spec.reportJSON | fromjson" | jq -r ".actual_value_map_data" | base64 -d | gunzip | jq .
```
Original file line number Diff line number Diff line change
Expand Up @@ -192,3 +192,7 @@ Try configuring and saving keycloak as your SAML provider and then accessing the

* Check your Keycloak log.
* If the log displays `request validation failed: org.keycloak.common.VerificationException: SigAlg was null`, set `Client Signature Required` to `OFF` in your Keycloak client.

## Configuring SAML Single Logout (SLO)

<ConfigureSLO />
Original file line number Diff line number Diff line change
Expand Up @@ -107,4 +107,8 @@ The OpenLDAP service account is used for all searches. Rancher users will see us
1. Click **Okta** or, if SAML is already configured, **Edit Config**
1. Under **User and Group Search**, check **Configure an OpenLDAP server**

If you experience issues when you test the connection to the OpenLDAP server, ensure that you entered the credentials for the service account and configured the search base correctly. Inspecting the Rancher logs can help pinpoint the root cause. Debug logs may contain more detailed information about the error. Please refer to [How can I enable debug logging](../../../../faq/technical-items.md#how-can-i-enable-debug-logging) for more information.
If you experience issues when you test the connection to the OpenLDAP server, ensure that you entered the credentials for the service account and configured the search base correctly. Inspecting the Rancher logs can help pinpoint the root cause. Debug logs may contain more detailed information about the error. Please refer to [How can I enable debug logging](../../../../faq/technical-items.md#how-can-i-enable-debug-logging) for more information.

## Configuring SAML Single Logout (SLO)

<ConfigureSLO />
Original file line number Diff line number Diff line change
Expand Up @@ -64,3 +64,7 @@ Note that these URLs will not return valid data until the authentication configu
- The group drop-down shows only the groups that you are a member of. You will not be able to add groups that you are not a member of.

:::

## Configuring SAML Single Logout (SLO)

<ConfigureSLO />
Original file line number Diff line number Diff line change
Expand Up @@ -51,3 +51,7 @@ You can generate a certificate using an openssl command. For example:
```
openssl req -x509 -newkey rsa:2048 -keyout myservice.key -out myservice.cert -days 365 -nodes -subj "/CN=myservice.example.com"
```

## Configuring SAML Single Logout (SLO)

<ConfigureSLO />
Original file line number Diff line number Diff line change
Expand Up @@ -77,6 +77,10 @@ If you configure Shibboleth without OpenLDAP, the following caveats apply due to

To enable searching for groups when assigning permissions in Rancher, you will need to configure a back end for the SAML provider that supports groups, such as OpenLDAP.

### Configuring SAML Single Logout (SLO)

<ConfigureSLO />

## Setting up OpenLDAP in Rancher

If you also configure OpenLDAP as the back end to Shibboleth, it will return a SAML assertion to Rancher with user attributes that include groups. Then authenticated users will be able to access resources in Rancher that their groups have permissions for.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ PSS define security levels for workloads. PSAs describe requirements for pod sec

## Upgrade to Pod Security Standards (PSS)

Ensure that you migrate all PSPs to another workload security mechanism. This includes mapping your current PSPs to Pod Security Standards for enforcement with the [PSA controller](https://kubernetes.io/docs/concepts/security/pod-security-admission/). If the PSA controller won't meet all of your organization's needs, we recommend that you use a policy engine, such as [OPA Gatekeeper](https://github.com/open-policy-agent/gatekeeper), [Kubewarden](https://www.kubewarden.io/), [Kyverno](https://kyverno.io/), or [NeuVector](https://neuvector.com/). Refer to the documentation of your policy engine of choice for more information on how to migrate from PSPs.
Ensure that you migrate all PSPs to another workload security mechanism. This includes mapping your current PSPs to Pod Security Standards for enforcement with the [PSA controller](https://kubernetes.io/docs/concepts/security/pod-security-admission/). If the PSA controller won't meet all of your organization's needs, we recommend that you use a policy engine, such as [Kubewarden](https://www.kubewarden.io/), [Kyverno](https://kyverno.io/), or [NeuVector](https://neuvector.com/). Refer to the documentation of your policy engine of choice for more information on how to migrate from PSPs.

:::caution
You must add your new policy enforcement mechanisms _before_ you remove the PodSecurityPolicy objects. If you don't, you may create an opportunity for privilege escalation attacks within the cluster.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -53,8 +53,7 @@ To display prerelease versions:
| rancher-alerting-drivers | 100.0.0 | 100.0.2 |
| rancher-backup | 2.0.1 | 2.1.2 |
| rancher-cis-benchmark | 2.0.1 | 2.0.4 |
| rancher-gatekeeper | 100.0.0+up3.6.0 | 100.1.0+up3.7.1 |
| rancher-istio | 100.0.0+up1.10.4 | 100.3.0+up1.13.3 |
| rancher-istio | 105.0.0+up1.19.6 | 105.4.0+up1.23.2 |
| rancher-logging | 100.0.0+up3.12.0 | 100.1.2+up3.17.4 |
| rancher-longhorn | 100.0.0+up1.1.2 | 100.1.2+up1.2.4 |
| rancher-monitoring | 100.0.0+up16.6.0 | 100.1.2+up19.0.3 |
Expand Down Expand Up @@ -194,14 +193,50 @@ Non-Airgap Rancher installations upon refresh will reflect any chart repository

Airgap installations where Rancher is configured to use the packaged copy of Helm system charts ([`useBundledSystemChart=true`](../../../getting-started/installation-and-upgrade/other-installation-methods/air-gapped-helm-cli-install/install-rancher-ha.md#helm-chart-options-for-air-gap-installations)) will only refer to the [system-chart](https://github.com/rancher/system-charts) repository that comes bundled and will not be able to be refreshed or synced.

#### Refresh Interval

Rancher v2.10.0 adds the `refreshInterval` field to the `ClusterRepo` CRD. The default value is 3600 seconds, meaning that Rancher syncs each Helm repository every 3600 seconds.

To modify the refresh interval of a chart repository:

1. Click **☰ > Cluster Management**.
1. Find the name of the cluster whose repositories you want to access. Click **Explore** at the end of the cluster's row.
1. In the left navigation menu on the **Cluster Dashboard**, click **Apps > Repositories**.
1. Find the repository you want to modify, and click **⋮ > Edit YAML**.
1. Set the **refreshInterval** field under **Spec** to the desired value in seconds.
1. Click **Save**.

### Enable/Disable Helm Chart Repositories

Rancher v2.10.0 adds the ability to enable and disable Helm repositories. Helm repositories are enabled by default.

To disable a chart repository:

1. Click **☰ > Cluster Management**.
1. Find the name of the cluster whose repositories you want to access. Click **Explore** at the end of the cluster's row.
1. In the left navigation menu on the **Cluster Dashboard**, click **Apps > Repositories**.
1. Find the repository you want to disable, and click **⋮ > Edit YAML**.
1. Set the **Enabled** field under **Spec** to **false**.
1. Click **Save**.
1. When you disable a repository, updates are disabled and new changes to the clusterRepo are not applied.

To enable a chart repository:

1. Click **☰ > Cluster Management**.
1. Find the name of the cluster whose repositories you want to access. Click **Explore** at the end of the cluster's row.
1. In the left navigation menu on the **Cluster Dashboard**, click **Apps > Repositories**.
1. Find the repository you want to disable, and click **⋮ > Edit YAML**.
1. Set the **Enabled** field under **Spec** to **true**.
1. Click **Save**.

## Deploy and Upgrade Charts

To install and deploy a chart:

1. Click **☰ > Cluster Management**.
1. Find the name of the cluster whose repositories you want to access. Click **Explore** at the end of the cluster's row.
1. In the left navigation menu on the **Cluster Dashboard**, click **Apps > Charts**.
1. Select a chart, and click **Install**.
1. Select a chart, and click **Install**.

Rancher and Partner charts may have extra configurations available through custom pages or questions.yaml files. However, all chart installations can modify the values.yaml and other basic settings. After you click **Install**, a Helm operation job is deployed, and the console for the job is displayed.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,5 @@ Rancher contains a variety of tools that aren't included in Kubernetes to assist
- Logging
- Monitoring
- Istio Service Mesh
- OPA Gatekeeper

Tools can be installed through **Apps.**
Original file line number Diff line number Diff line change
Expand Up @@ -19,10 +19,7 @@ In order to deploy and run the adapter successfully, you need to ensure its vers

| Rancher Version | Adapter Version |
|-----------------|------------------|
| v2.9.3 | v104.0.0+up4.0.0 |
| v2.9.2 | v104.0.0+up4.0.0 |
| v2.9.1 | v104.0.0+up4.0.0 |
| v2.9.0 | v104.0.0+up4.0.0 |
| v2.10.0 | v105.0.0+up5.0.1 |

### 1. Gain Access to the Local Cluster

Expand Down
Loading

0 comments on commit 72f6a48

Please sign in to comment.