Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

docs: Add NFS, Redis, and VPC peering feature description #918

Merged
merged 22 commits into from
Feb 4, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
65 changes: 65 additions & 0 deletions docs/user/00-20-nfs.md
Original file line number Diff line number Diff line change
@@ -1,2 +1,67 @@
# NFS

The Cloud Manager module provides a Network File System (NFS) feature which allows you to create ReadWriteMany (RWX) volumes. While regular persistent disk volumes can't be shared and can be used by only a single workload, RWX volumes can be used by multiple workloads.

## Cloud Providers

When you create an NFS instance in Kyma, you depend on the cloud provider of your Kyma cluster. The cloud provider in use determines the exact implementation.

The Cloud Manager module supports the NFS feature of the following cloud providers:

* Amazon Web Services [Amazon Elastic File System](https://aws.amazon.com/efs)
* Google Cloud [Filestore](https://cloud.google.com/filestore?hl=en)

To create and configure a Cloud Manager's NFS instance, use a dedicated NFS custom resource (CR) corresponding with the cloud provider for your Kyma cluster, namely AwsNfsVolume CR or GcpNfsVolume CR.

## Prerequisites

To instantiate NFS, an IpRange CR must exist in the Kyma cluster. IpRange defines network address space reserved for your cloud provider's NFS resources. If you don't create the IpRange CR manually, Cloud Manager creates a default IpRange CR with the default address space and Classless Inter-Domain Routing (CIDR) selected. For more information, see [IpRange Custom Resoucre](./resources/04-10-iprange.md).

## Lifecycle

AwsNfsVolume and GcpNfsVolume are namespace-level CRs. Once you create a GcpNfsVolume or AwsNfsVolume resource, the following are also created automatically:

* IpRange CR
* IpRange is a cluster-level CR.
* Only one IpRange CR can exist per cluster.
* If you don't want the default IpRange to be used, create one manually.
* Persistent Volume (PV)
* PV is a cluster-level piece of storage.
* The PV uses a unique name based on the NFS instance status ID.
* The PV references the instantiated NFS in the respective cloud provider.
* Persistent Volume Claim (PVC)
* PVC is a namespace-level resource created in the same namespace as the IpRange CR.
* By default, the PVC's name is the same as the name of your NFS instance unless you specify a different name.
* The PVC references the automatically created PV.

## NFS Resources

### Amazon Web Services Kyma Cluster

Kyma clusters provisioned on Amazon Web Services use Amazon Elastic File System. See the following list of CRs available in the Cloud Manager module dedicated to Amazon Elastic File System:

* AwsNfsVolume CR
* AwsNfsVolumeBackup CR
* AwsNfsBackupSchedule CR
* AwsNfsVolumeRestore CR

### Google Cloud Kyma Clusters

Kyma clusters provisioned on Google Cloud use Filestore as the underlying NFS. See the following list of all CRs available in the Cloud Manager module dedicated to Google Cloud Filestore:

* GcpNfsVolume CR
* GcpNfsVolumeBackup CR
* GcpNfsBackupSchedule CR
* GcpNfsVolumeRestore CR

For more information on the NFS-related CRs, see [Cloud Manager Resources: NFS](./resources/README.md#nfs).

## Pricing

Using the Cloud Manager module and enabling NFS storage, introduces additional costs. For more information, see [Calculation with the Cloud Manager Module](https://help.sap.com/docs/btp/sap-business-technology-platform-internal/commercial-information-sap-btp-kyma-runtime?state=DRAFT&version=Internal#calculation-with-the-cloud-manager-module).

## Related Information

* [Cloud Manager Resources: NFS](./resources/README.md#nfs)
* [Tutorials](./tutorials/README.md)
* [Calculation with the Cloud Manager Module](https://help.sap.com/docs/btp/sap-business-technology-platform-internal/commercial-information-sap-btp-kyma-runtime?state=DRAFT&version=Internal#calculation-with-the-cloud-manager-module)
36 changes: 36 additions & 0 deletions docs/user/00-30-vpc-peering.md
Original file line number Diff line number Diff line change
@@ -1 +1,37 @@
# VPC Peering

The Cloud Manager module provides managed Virtual Private Cloud (VPC) peering functionality that allows you to peer the Kyma VPC network with a remote VPC network. Virtual network peering is possible only between networks of the same cloud providers. VPC peering in Kyma is fully automated. It means that Cloud Manager configures the peering on both Kyma's and cloud provider's side.

## Cloud Providers

When you configure VPC peering in Kyma, you depend on the cloud provider of your Kyma cluster. The cloud provider in use determines the exact implementation.

The Cloud Manager module supports the VPC Peering feature of the following cloud providers:

* Amazon Web Services [VPC peering](https://docs.aws.amazon.com/vpc/latest/peering/what-is-vpc-peering.html)
* Google Cloud [VPC Network Peering](https://cloud.google.com/vpc/docs/vpc-peering)
* Microsoft Azure [Virtual network peering](https://learn.microsoft.com/en-us/azure/virtual-network/virtual-network-peering-overview)

You can configure Cloud Manager's VPC peering using a dedicated custom resource (CR) corresponding with the cloud provider for your Kyma cluster, namely AwsVpcPeering CR, GcpVpcPeering CR, or AzureVpcPeering CR.

## Prerequisites

Before you initiate VPC peering from a Kyma cluster, you must perform the following actions:

* Authorize Cloud Manager in the remote cloud provider landscape. For more information, see the relevant documents for the following cloud providers:
* Amazon Web Services: See [Authorization](./resources/04-30-10-aws-vpc-peering.md#authorization).
* Google Cloud: See [Required Permissions in the Remote Project](./resources/04-30-20-gcp-vpc-peering.md#required-permissions-in-the-remote-project).
* Microsoft Azure: See [Authorization](./resources/04-30-30-azure-vpc-peering.md#authorization).
* Tag the remote network with the Kyma shoot name. For more information, see the following tutorials:
* [Create Virtual Private Cloud Peering in Amazon Web Services](./tutorials/01-30-10-aws-vpc-peering.md).
* [Create Virtual Private Cloud Peering in Google Cloud](./tutorials/01-30-20-gcp-vpc-peering.md).
* [Create Virtual Private Cloud Peering in Microsoft Azure](./tutorials/01-30-30-azure-vpc-peering.md).

## Lifecycle

AwsVpcPeering CR, GcpVpcPeering CR, or AzureVpcPeering CR are cluster-level resources. Once one of the VPC peering resources is applied, the status of the VPC peering connection is reflected in that CR. The limit of the number of VPC Peering CRs per Kyma cluster depends on the quotas for each cloud provider individually.

## Related Information

* [Cloud Manager Resources: VPC Peering](./resources/README.md)
* [Tutorials](./tutorials/README.md)
48 changes: 48 additions & 0 deletions docs/user/00-40-redis.md
Original file line number Diff line number Diff line change
@@ -1 +1,49 @@
# Redis

The Cloud Manager module allows you to provision a cloud provider-managed Redis instance within your cluster network.

## Cloud Providers

When you create a Redis instance in Kyma, you depend on the cloud provider of your Kyma cluster. The cloud provider in use determines the exact implementation.

The Cloud Manager module supports the Redis feature of the following cloud providers:

* Amazon Web Services [Amazon ElastiCashe for Redis OSS](https://aws.amazon.com/elasticache/redis)
* Google Cloud [Memorystore](https://cloud.google.com/memorystore?hl=en)
* Microsoft Azure [Azure Cache for Redis](https://azure.microsoft.com/en-us/products/cache)

You can configure Cloud Manager's Redis instances using a dedicated Redis instance custom resource (CR) corresponding with the cloud provider for your Kyma cluster, namely AwsRedisInstance CR, GcpRedisInstance CR, or AzureRedisInstance CR.

### Tiers

When you provision a Redis instance, you can choose between Standard or Premium Tier.

* Standard Tier offers one instance.
* Premium Tier offers high availability with automatic failover by provisioning an additional read replica of your instance.

## Prerequisites

To instantiate Redis, an IpRange CR must exist in the Kyma cluster. IpRange defines network address space reserved for your cloud provider's NFS resources. If you don't create the IpRange CR manually, Cloud Manager creates a default IpRange CR with the default address space and Classless Inter-Domain Routing (CIDR) selected. For more information, see [IpRange Custom Resoucre](./resources/04-10-iprange.md).

## Lifecycle

AwsRedisInstance, GcpRedisInstance, and AzureRedisInstance are namespace-level CRs. Once you create any of the Redis resources, the following are also created automatically:

* IpRange CR
* IpRange is a cluster-level CR.
* Only one IpRange CR can exist per cluster.
* If you don't want the default IpRange to be used, create one manually.
* Secret CR
* The Secret is a namespace-level CR.
* The Secret's name is the same as the name of the respective Redis instance CR.
* The Secret holds values and information used to access the Redis instance.

## Pricing

Using the Cloud Manager module and enabling Redis, introduces additional costs. For more information, see [Calculation with the Cloud Manager Module](https://help.sap.com/docs/btp/sap-business-technology-platform-internal/commercial-information-sap-btp-kyma-runtime?state=DRAFT&version=Internal#calculation-with-the-cloud-manager-module).

## Related Information

* [Cloud Manager Resources: Redis](./resources/README.md#redis)
* [Tutorials](./tutorials/README.md)
* [Calculation with the Cloud Manager Module](https://help.sap.com/docs/btp/sap-business-technology-platform-internal/commercial-information-sap-btp-kyma-runtime?state=DRAFT&version=Internal#calculation-with-the-cloud-manager-module)
11 changes: 8 additions & 3 deletions docs/user/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,14 +20,19 @@ The Cloud Manager module provides the following features tailored for each of th
* [Redis](./00-40-redis.md): cloud provider-flavored cache that can be used in your Kyma cluster.

> [!NOTE]
> The NFS feature is offered for Google Cloud and AWS only.
> The NFS feature is offered for Amazon Web Service and Google Cloud only.

## Architecture

Cloud Manager has read and write access to your IpRange, VpcPeering, NfsVolume, and Redis custom resources in the Kyma cluster. The module also manages Kyma VPC networks, NFS Volume instances, and Redis instances in your cloud provider subscription in Kyma.

![Cloud Manager Architecture](./assets/cloud-manager-architecture.drawio.svg)

## API / Custom Resources Definitions

The `cloud-resources.kyma-project.io` Custom Resource Definition (CRD) describes the kind and the format of data that Cloud Manager` uses to configure resources. For more information, see [Cloud Manager Resources](./resources/README.md) (CRs).
The `cloud-resources.kyma-project.io` Custom Resource Definition (CRD) describes the data kind and format that Cloud Manager uses to configure resources. For more information, see [Cloud Manager Resources](./resources/README.md) (CRs).

## Related Information

* [Cloud Manager module tutorials](./tutorials/README.md) provide step-by-step instructions on creating, using and disposing cloud resources.
* [Cloud Manager module tutorials](./tutorials/README.md)
* [Calculation with the Cloud Manager Module](https://help.sap.com/docs/btp/sap-business-technology-platform-internal/commercial-information-sap-btp-kyma-runtime?state=DRAFT&version=Internal#calculation-with-the-cloud-manager-module)
4 changes: 4 additions & 0 deletions docs/user/assets/cloud-manager-architecture.drawio.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 1 addition & 1 deletion docs/user/resources/04-30-20-gcp-vpc-peering.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ The `gcpvpcpeering.cloud-resources.kyma-project.io` custom resource (CR) describ
that you can create to allow communication between Kyma and a remote VPC in Google Cloud Platform (GCP).
It enables you to consume services available in the remote VPC from the Kyma cluster.

## Required Permissions in the Remote Project <!-- {docsify-ignore} -->
## Required Permissions in the Remote Project

To create VPC peering, the following permissions must be granted to the Kyma service account in your GCP project:

Expand Down
Loading