From 516ace9be1e85ca02de60736df9d4c8423470006 Mon Sep 17 00:00:00 2001 From: llewellyn-sl Date: Thu, 9 May 2024 13:51:25 +0200 Subject: [PATCH 1/9] Clean up k8s deployment --- .../version-23.4.0/enterprise/kubernetes.mdx | 127 ++++++++---------- 1 file changed, 56 insertions(+), 71 deletions(-) diff --git a/platform_versioned_docs/version-23.4.0/enterprise/kubernetes.mdx b/platform_versioned_docs/version-23.4.0/enterprise/kubernetes.mdx index 840e14a28..7c1632de1 100644 --- a/platform_versioned_docs/version-23.4.0/enterprise/kubernetes.mdx +++ b/platform_versioned_docs/version-23.4.0/enterprise/kubernetes.mdx @@ -19,7 +19,7 @@ Complete the following procedures to install Seqera Enterprise on a Kubernetes c Create a namespace for the Seqera resources. -1. Create the namespace (e.g., `seqera-nf`): +1. Create the namespace: ```bash kubectl create namespace seqera-nf @@ -37,7 +37,7 @@ Seqera Platform Enterprise is distributed as a collection of Docker containers a 1. Retrieve the `name` and `secret` values from the JSON file that you received from Seqera support. -2. Create a [secret](https://kubernetes.io/docs/tasks/configmap-secret/managing-secret-using-kubectl/) with the `name` and `secret` values retrieved in the previous step: +1. Create a [secret][kubectl-secret] with the `name` and `secret` values retrieved in the previous step: ```bash kubectl create secret docker-registry cr.seqera.io \ @@ -48,7 +48,7 @@ Seqera Platform Enterprise is distributed as a collection of Docker containers a The credential `name` contains a dollar `$` character. To prevent the Linux shell from interpreting this value as an environment variable, you must wrap it in single quotes. -3. Configure the Seqera cron service and the application frontend and backend to use the secret created in the previous step (see [tower-cron.yml](./_templates/k8s/tower-cron.yml) and [tower-svc.yml](./_templates/k8s/tower-svc.yml)): +1. Configure the Seqera cron service and the application frontend and backend to use the secret created in the previous step (see [tower-cron.yml](./_templates/k8s/tower-cron.yml) and [tower-svc.yml](./_templates/k8s/tower-svc.yml)): ```yaml imagePullSecrets: @@ -68,14 +68,14 @@ Seqera Platform Enterprise is distributed as a collection of Docker containers a ``` :::note -The `configmap.yml` manifest includes both the `tower.env` file and `tower.yml` file. These files are made available to the other containers through volume mounts. +The `configmap.yml` manifest includes both the `tower.env` and `tower.yml` files. These files are made available to the other containers through volume mounts. ::: ### Redis Seqera Enterprise requires a Redis database for caching purposes. Configure Redis manually by deploying a manifest to your cluster, or configure a managed Redis service. -**Deploy a Redis manifest to your cluster** +#### Deploy a Redis manifest to your cluster 1. Download the appropriate manifest for your infrastructure: @@ -85,61 +85,60 @@ Seqera Enterprise requires a Redis database for caching purposes. Configure Redi - [Google Kubernetes Engine](_templates/k8s/redis.gke.yml) -2. Deploy to your cluster: +1. Deploy to your cluster: ```bash kubectl apply -f redis.*.yml ``` -**Managed Redis services** +1. To run the Redis service as a container as part of your Docker or Kubernetes installation, specify the service name as part of the `TOWER_REDIS_URL`: -Seqera supports managed Redis services such as [Amazon ElastiCache](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/WhatIs.html), [Azure Cache for Redis](https://learn.microsoft.com/en-gb/azure/azure-cache-for-redis/cache-overview), or [Google Memorystore](https://cloud.google.com/memorystore/docs/redis). + ```bash + TOWER_REDIS_URL=redis://redis:6379 + ``` + +#### Managed Redis services -When using a managed Redis service, you must specify the service IP address or DNS name for the `TOWER_REDIS_URL` as described in the following sections. +Seqera supports managed Redis services such as [Amazon ElastiCache][aws-elasticache], [Azure Cache for Redis][azure-cache], or [Google Memorystore][memorystore]. -**AWS ElastiCache requirements** + + - Use a single-node cluster, as multi-node clusters are not supported -- Use an instance with at least 6GB capacity ([cache.m4.large](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html) or greater) +- Use an instance with at least 6GB capacity ([cache.m4.large][aws-cache-instances] or greater) - Specify your private ElastiCache instance in the Seqera environment variables: ```bash TOWER_REDIS_URL=redis://:6379 ``` -**Azure Cache for Redis requirements** + + - Use a single-node cluster, as multi-node clusters are not supported -- Use an instance with at least 6GB capacity ([C3](https://azure.microsoft.com/en-gb/pricing/details/cache/) or greater) +- Use an instance with at least 6GB capacity ([C3][azure-cache-instances] or greater) - Specify your private Azure Cache for Redis instance in the Seqera environment variables: ```bash TOWER_REDIS_URL=redis://:6379 ``` -**Google Memorystore requirements** + + - Use a single-node cluster, as multi-node clusters are not supported -- Use an instance with at least 6GB capacity ([M2](https://cloud.google.com/memorystore/docs/redis/pricing#instance_pricing) or greater) +- Use an instance with at least 6GB capacity ([M2][google-cache-instances] or greater) - Specify your private Memorystore instance in the Seqera environment variables: ```bash TOWER_REDIS_URL=redis://:6379 ``` -**Self-hosted Redis service** - -If you run the Redis service as a container as part of your Docker or Kubernetes installation, you must specify the service name as part of the `TOWER_REDIS_URL`: - - ```bash - TOWER_REDIS_URL=redis://redis:6379 - ``` - ### Seqera cron service 1. Download the [cron service manifest](_templates/k8s/tower-cron.yml) file. -2. Deploy the manifest to your cluster: +1. Deploy the manifest to your cluster: ```bash kubectl apply -f tower-cron.yml @@ -153,7 +152,7 @@ This container creates the required database schema the first time it instantiat 1. Download the [manifest](_templates/k8s/tower-svc.yml). -2. Deploy the manifest to your cluster: +1. Deploy the manifest to your cluster: ```bash kubectl apply -f tower-svc.yml @@ -207,31 +206,29 @@ If further customization of the config file is needed, mount a config map/secret An ingress is used to make Seqera Enterprise publicly accessible, load-balance traffic, terminate TLS, and offer name-based virtual hosting. The included ingress will create an external IP address and forward HTTP traffic to the Seqera frontend. -Download the appropriate manifest and configure it according to your infrastructure: - -- [Azure AKS](_templates/k8s/ingress.aks.yml) - -- [Amazon EKS](_templates/k8s/ingress.eks.yml) +1. Download the appropriate manifest and configure it according to your infrastructure: -- [Google Kubernetes Engine](_templates/k8s/ingress.gke.yml) + - [Azure AKS](_templates/k8s/ingress.aks.yml) + - [Amazon EKS](_templates/k8s/ingress.eks.yml) + - [Google Kubernetes Engine](_templates/k8s/ingress.gke.yml) -Deploy the manifest to your cluster: +1. Deploy the manifest to your cluster: -```bash -kubectl apply -f ingress.*.yml -``` + ```bash + kubectl apply -f ingress.*.yml + ``` -See the Kubernetes documentation on the [ingress](https://kubernetes.io/docs/concepts/services-networking/ingress/) resource for more information. If you don't need to make Seqera externally accessible, you can also use a service resource to expose a [node port](https://kubernetes.io/docs/concepts/services-networking/service/#nodeport) or a [load balancer](https://kubernetes.io/docs/concepts/services-networking/service/#loadbalancer) service to make it accessible within your intranet. +See [Kubernetes ingress][k8s-ingress] for more information. If you don't need to make Seqera externally accessible, use a service resource to expose a [node port][k8s-node-port] or a [load balancer][k8s-load-balancer] service to make it accessible within your intranet. -See the relevant documentation for configuring an ingress service on each cloud provider: +See the cloud provider documentation for configuring an ingress service on each cloud provider: -- [Amazon](https://kubernetes-sigs.github.io/aws-load-balancer-controller/v2.2/guide/ingress/annotations/) -- [Azure](https://docs.microsoft.com/en-us/azure/application-gateway/ingress-controller-annotations) -- [Google Cloud](https://cloud.google.com/kubernetes-engine/docs/concepts/ingress) +- [Amazon][aws-configure-ingress] +- [Azure][azure-configure-ingress] +- [Google Cloud][google-configure-ingress] ### Check status -Make sure that all services are up and running: +Check that all services are up and running: ```bash kubectl get pods @@ -239,33 +236,7 @@ kubectl get pods ## Test the application -To confirm that Seqera Enterprise is properly configured, follow these steps: - -1. Log in to your Seqera instance. - -2. Create an **organization**. - -3. Create a **workspace** within that organization. - -4. Create a new **Compute environment**. See [Compute environments](../compute-envs/overview.mdx) for detailed instructions. - -5. Select **Quick Launch** from the **Launchpad** tab in your workspace. - -6. Enter the repository URL for the `nf-core/rnaseq` pipeline (`https://github.com/nf-core/rnaseq`). - -7. In the **Config profiles** dropdown, select the `test` profile. - -8. In **Pipeline parameters**, change the output directory to a location based on your compute environment: - - ```yaml - # save to S3 bucket - outdir: s3:///results - - # save to scratch directory (Kubernetes) - outdir: /scratch/results - ``` - -9. Select **Launch**; you'll be redirected to the **Runs** tab for the workflow. After a few minutes, progress logs will be listed in that workflow's **Execution log** tab. +See [Test deployment](./testing.mdx). ## Optional features @@ -279,7 +250,7 @@ The initContainers will wait until both the Seqera and pipeline optimization ser ### Database console -The included [dbconsole.yml](_templates/k8s/dbconsole.yml) manifest can be used to deploy a simple web frontend to the Seqera database. Though not required, this can be useful for administrative purposes. +Use the [dbconsole.yml](_templates/k8s/dbconsole.yml) manifest to deploy a simple web frontend to the Seqera database. Though not required, this can be useful for administrative purposes. 1. Deploy the database console: @@ -287,13 +258,13 @@ The included [dbconsole.yml](_templates/k8s/dbconsole.yml) manifest can be used kubectl apply -f dbconsole.yml ``` -2. Enable a port-forward for the database console to your local machine: +1. Enable a port-forward for the database console to your local machine: ```bash kubectl port-forward deployment/dbconsole 8080:8080 ``` -3. Access the database console in a web browser at `http://localhost:8080`. +1. Access the database console in a web browser at `http://localhost:8080`. ### High availability @@ -306,3 +277,17 @@ To configure Seqera Enterprise for high availability, note that: - The `cron` service may only have a single instance - The `groundswell` service may only have a single instance + +[aws-cache-instances]: https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html +[aws-configure-ingress]: https://kubernetes-sigs.github.io/aws-load-balancer-controller/v2.2/guide/ingress/annotations/ +[aws-elasticache]: https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/WhatIs.html +[azure-cache]: https://learn.microsoft.com/en-gb/azure/azure-cache-for-redis/cache-overview +[azure-cache-instances]: https://azure.microsoft.com/en-gb/pricing/details/cache/ +[azure-configure-ingress]: https://docs.microsoft.com/en-us/azure/application-gateway/ingress-controller-annotations +[google-cache-instances]: https://cloud.google.com/memorystore/docs/redis/pricing#instance_pricing +[google-configure-ingress]: https://cloud.google.com/kubernetes-engine/docs/concepts/ingress +[k8s-ingress]: https://kubernetes.io/docs/concepts/services-networking/ingress/ +[k8s-load-balancer]: https://kubernetes.io/docs/concepts/services-networking/service/#loadbalancer +[k8s-node-port]: https://kubernetes.io/docs/concepts/services-networking/service/#nodeport +[kubectl-secret]: https://kubernetes.io/docs/tasks/configmap-secret/managing-secret-using-kubectl/ +[memorystore]: https://cloud.google.com/memorystore/docs/redis From cd423027b2ff7547cab1ff52f61201cc05686ea3 Mon Sep 17 00:00:00 2001 From: llewellyn-sl Date: Thu, 9 May 2024 13:52:15 +0200 Subject: [PATCH 2/9] Update kubernetes.mdx --- .../version-23.4.0/enterprise/kubernetes.mdx | 3 +++ 1 file changed, 3 insertions(+) diff --git a/platform_versioned_docs/version-23.4.0/enterprise/kubernetes.mdx b/platform_versioned_docs/version-23.4.0/enterprise/kubernetes.mdx index 7c1632de1..d0fd0a621 100644 --- a/platform_versioned_docs/version-23.4.0/enterprise/kubernetes.mdx +++ b/platform_versioned_docs/version-23.4.0/enterprise/kubernetes.mdx @@ -134,6 +134,9 @@ Seqera supports managed Redis services such as [Amazon ElastiCache][aws-elastica TOWER_REDIS_URL=redis://:6379 ``` + + + ### Seqera cron service 1. Download the [cron service manifest](_templates/k8s/tower-cron.yml) file. From 1bfddd67f11bff89fd56c611feb39c63d8ead5fb Mon Sep 17 00:00:00 2001 From: llewellyn-sl Date: Thu, 9 May 2024 13:53:22 +0200 Subject: [PATCH 3/9] Update kubernetes.mdx --- .../version-23.4.0/enterprise/kubernetes.mdx | 3 +++ 1 file changed, 3 insertions(+) diff --git a/platform_versioned_docs/version-23.4.0/enterprise/kubernetes.mdx b/platform_versioned_docs/version-23.4.0/enterprise/kubernetes.mdx index d0fd0a621..da5d667a6 100644 --- a/platform_versioned_docs/version-23.4.0/enterprise/kubernetes.mdx +++ b/platform_versioned_docs/version-23.4.0/enterprise/kubernetes.mdx @@ -5,6 +5,9 @@ date: "21 Apr 2023" tags: [kubernetes, deployment] --- +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + This guide assumes that all prerequisites have been met. Visit the corresponding **Prerequisites** page for your infrastructure provider. :::note From f248408cd5b82ac7cf9dac769daa80dfcffe9904 Mon Sep 17 00:00:00 2001 From: llewellyn-sl Date: Thu, 9 May 2024 14:04:32 +0200 Subject: [PATCH 4/9] Kubernetes deployment page cleanup --- .../version-23.4.0/enterprise/kubernetes.mdx | 51 +++++++++---------- 1 file changed, 23 insertions(+), 28 deletions(-) diff --git a/platform_versioned_docs/version-23.4.0/enterprise/kubernetes.mdx b/platform_versioned_docs/version-23.4.0/enterprise/kubernetes.mdx index da5d667a6..4eba14ff4 100644 --- a/platform_versioned_docs/version-23.4.0/enterprise/kubernetes.mdx +++ b/platform_versioned_docs/version-23.4.0/enterprise/kubernetes.mdx @@ -40,7 +40,7 @@ Seqera Platform Enterprise is distributed as a collection of Docker containers a 1. Retrieve the `name` and `secret` values from the JSON file that you received from Seqera support. -1. Create a [secret][kubectl-secret] with the `name` and `secret` values retrieved in the previous step: +1. Create a [secret][kubectl-secret]: ```bash kubectl create secret docker-registry cr.seqera.io \ @@ -49,7 +49,7 @@ Seqera Platform Enterprise is distributed as a collection of Docker containers a --docker-password='' ``` - The credential `name` contains a dollar `$` character. To prevent the Linux shell from interpreting this value as an environment variable, you must wrap it in single quotes. + The credential `name` contains a dollar `$` character. Wrap the name in single quotes to prevent the Linux shell from interpreting this value as an environment variable. 1. Configure the Seqera cron service and the application frontend and backend to use the secret created in the previous step (see [tower-cron.yml](./_templates/k8s/tower-cron.yml) and [tower-svc.yml](./_templates/k8s/tower-svc.yml)): @@ -83,9 +83,7 @@ Seqera Enterprise requires a Redis database for caching purposes. Configure Redi 1. Download the appropriate manifest for your infrastructure: - [Azure AKS](_templates/k8s/redis.aks.yml) - - [Amazon EKS](_templates/k8s/redis.eks.yml) - - [Google Kubernetes Engine](_templates/k8s/redis.gke.yml) 1. Deploy to your cluster: @@ -96,9 +94,9 @@ Seqera Enterprise requires a Redis database for caching purposes. Configure Redi 1. To run the Redis service as a container as part of your Docker or Kubernetes installation, specify the service name as part of the `TOWER_REDIS_URL`: - ```bash - TOWER_REDIS_URL=redis://redis:6379 - ``` + ```bash + TOWER_REDIS_URL=redis://redis:6379 + ``` #### Managed Redis services @@ -109,7 +107,7 @@ Seqera supports managed Redis services such as [Amazon ElastiCache][aws-elastica - Use a single-node cluster, as multi-node clusters are not supported - Use an instance with at least 6GB capacity ([cache.m4.large][aws-cache-instances] or greater) -- Specify your private ElastiCache instance in the Seqera environment variables: +- Specify your private ElastiCache instance in the Seqera [environment variables](./configuration/overview.mdx#database-and-redis-manual-configuration): ```bash TOWER_REDIS_URL=redis://:6379 @@ -120,7 +118,7 @@ Seqera supports managed Redis services such as [Amazon ElastiCache][aws-elastica - Use a single-node cluster, as multi-node clusters are not supported - Use an instance with at least 6GB capacity ([C3][azure-cache-instances] or greater) -- Specify your private Azure Cache for Redis instance in the Seqera environment variables: +- Specify your private Azure Cache for Redis instance in the Seqera [environment variables](./configuration/overview.mdx#database-and-redis-manual-configuration): ```bash TOWER_REDIS_URL=redis://:6379 @@ -131,7 +129,7 @@ Seqera supports managed Redis services such as [Amazon ElastiCache][aws-elastica - Use a single-node cluster, as multi-node clusters are not supported - Use an instance with at least 6GB capacity ([M2][google-cache-instances] or greater) -- Specify your private Memorystore instance in the Seqera environment variables: +- Specify your private Memorystore instance in the Seqera [environment variables](./configuration/overview.mdx#database-and-redis-manual-configuration): ```bash TOWER_REDIS_URL=redis://:6379 @@ -146,9 +144,9 @@ Seqera supports managed Redis services such as [Amazon ElastiCache][aws-elastica 1. Deploy the manifest to your cluster: - ```bash - kubectl apply -f tower-cron.yml - ``` + ```bash + kubectl apply -f tower-cron.yml + ``` :::caution This container creates the required database schema the first time it instantiates. This process can take a few minutes to complete and must finish before you instantiate the Seqera backend. Ensure this container is in the `READY` state before proceeding to the next step. @@ -214,15 +212,15 @@ An ingress is used to make Seqera Enterprise publicly accessible, load-balance t 1. Download the appropriate manifest and configure it according to your infrastructure: - - [Azure AKS](_templates/k8s/ingress.aks.yml) - - [Amazon EKS](_templates/k8s/ingress.eks.yml) - - [Google Kubernetes Engine](_templates/k8s/ingress.gke.yml) + - [Azure AKS](_templates/k8s/ingress.aks.yml) + - [Amazon EKS](_templates/k8s/ingress.eks.yml) + - [Google Kubernetes Engine](_templates/k8s/ingress.gke.yml) 1. Deploy the manifest to your cluster: - ```bash - kubectl apply -f ingress.*.yml - ``` + ```bash + kubectl apply -f ingress.*.yml + ``` See [Kubernetes ingress][k8s-ingress] for more information. If you don't need to make Seqera externally accessible, use a service resource to expose a [node port][k8s-node-port] or a [load balancer][k8s-load-balancer] service to make it accessible within your intranet. @@ -260,15 +258,15 @@ Use the [dbconsole.yml](_templates/k8s/dbconsole.yml) manifest to deploy a simpl 1. Deploy the database console: - ```bash - kubectl apply -f dbconsole.yml - ``` + ```bash + kubectl apply -f dbconsole.yml + ``` 1. Enable a port-forward for the database console to your local machine: - ```bash - kubectl port-forward deployment/dbconsole 8080:8080 - ``` + ```bash + kubectl port-forward deployment/dbconsole 8080:8080 + ``` 1. Access the database console in a web browser at `http://localhost:8080`. @@ -277,11 +275,8 @@ Use the [dbconsole.yml](_templates/k8s/dbconsole.yml) manifest to deploy a simpl To configure Seqera Enterprise for high availability, note that: - The `backend` service can be run in multiple replicas - - The `frontend` service is replicable, however in most scenarios it is not necessary - - The `cron` service may only have a single instance - - The `groundswell` service may only have a single instance [aws-cache-instances]: https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html From 096c575f114afb42a6a8da5722525fd75f77b681 Mon Sep 17 00:00:00 2001 From: llewellyn-sl Date: Tue, 14 May 2024 09:18:16 -0400 Subject: [PATCH 5/9] Port k8s updates to 23.3 --- .../version-23.3.0/enterprise/kubernetes.mdx | 170 ++++++++---------- 1 file changed, 78 insertions(+), 92 deletions(-) diff --git a/platform_versioned_docs/version-23.3.0/enterprise/kubernetes.mdx b/platform_versioned_docs/version-23.3.0/enterprise/kubernetes.mdx index 8c3ff462b..4eba14ff4 100644 --- a/platform_versioned_docs/version-23.3.0/enterprise/kubernetes.mdx +++ b/platform_versioned_docs/version-23.3.0/enterprise/kubernetes.mdx @@ -5,6 +5,9 @@ date: "21 Apr 2023" tags: [kubernetes, deployment] --- +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + This guide assumes that all prerequisites have been met. Visit the corresponding **Prerequisites** page for your infrastructure provider. :::note @@ -19,7 +22,7 @@ Complete the following procedures to install Seqera Enterprise on a Kubernetes c Create a namespace for the Seqera resources. -1. Create the namespace (e.g., `seqera-nf`): +1. Create the namespace: ```bash kubectl create namespace seqera-nf @@ -37,7 +40,7 @@ Seqera Platform Enterprise is distributed as a collection of Docker containers a 1. Retrieve the `name` and `secret` values from the JSON file that you received from Seqera support. -2. Create a [secret](https://kubernetes.io/docs/tasks/configmap-secret/managing-secret-using-kubectl/) with the `name` and `secret` values retrieved in the previous step: +1. Create a [secret][kubectl-secret]: ```bash kubectl create secret docker-registry cr.seqera.io \ @@ -46,9 +49,9 @@ Seqera Platform Enterprise is distributed as a collection of Docker containers a --docker-password='' ``` - The credential `name` contains a dollar `$` character. To prevent the Linux shell from interpreting this value as an environment variable, you must wrap it in single quotes. + The credential `name` contains a dollar `$` character. Wrap the name in single quotes to prevent the Linux shell from interpreting this value as an environment variable. -3. Configure the Seqera cron service and the application frontend and backend to use the secret created in the previous step (see [tower-cron.yml](./_templates/k8s/tower-cron.yml) and [tower-svc.yml](./_templates/k8s/tower-svc.yml)): +1. Configure the Seqera cron service and the application frontend and backend to use the secret created in the previous step (see [tower-cron.yml](./_templates/k8s/tower-cron.yml) and [tower-svc.yml](./_templates/k8s/tower-svc.yml)): ```yaml imagePullSecrets: @@ -68,82 +71,82 @@ Seqera Platform Enterprise is distributed as a collection of Docker containers a ``` :::note -The `configmap.yml` manifest includes both the `tower.env` file and `tower.yml` file. These files are made available to the other containers through volume mounts. +The `configmap.yml` manifest includes both the `tower.env` and `tower.yml` files. These files are made available to the other containers through volume mounts. ::: ### Redis Seqera Enterprise requires a Redis database for caching purposes. Configure Redis manually by deploying a manifest to your cluster, or configure a managed Redis service. -**Deploy a Redis manifest to your cluster** +#### Deploy a Redis manifest to your cluster 1. Download the appropriate manifest for your infrastructure: - [Azure AKS](_templates/k8s/redis.aks.yml) - - [Amazon EKS](_templates/k8s/redis.eks.yml) - - [Google Kubernetes Engine](_templates/k8s/redis.gke.yml) -2. Deploy to your cluster: +1. Deploy to your cluster: ```bash kubectl apply -f redis.*.yml ``` -**Managed Redis services** +1. To run the Redis service as a container as part of your Docker or Kubernetes installation, specify the service name as part of the `TOWER_REDIS_URL`: + + ```bash + TOWER_REDIS_URL=redis://redis:6379 + ``` -Seqera supports managed Redis services such as [Amazon ElastiCache](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/WhatIs.html), [Azure Cache for Redis](https://learn.microsoft.com/en-gb/azure/azure-cache-for-redis/cache-overview), or [Google Memorystore](https://cloud.google.com/memorystore/docs/redis). +#### Managed Redis services -When using a managed Redis service, you must specify the service IP address or DNS name for the `TOWER_REDIS_URL` as described in the following sections. +Seqera supports managed Redis services such as [Amazon ElastiCache][aws-elasticache], [Azure Cache for Redis][azure-cache], or [Google Memorystore][memorystore]. -**AWS ElastiCache requirements** + + - Use a single-node cluster, as multi-node clusters are not supported -- Use an instance with at least 6GB capacity ([cache.m4.large](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html) or greater) -- Specify your private ElastiCache instance in the Seqera environment variables: +- Use an instance with at least 6GB capacity ([cache.m4.large][aws-cache-instances] or greater) +- Specify your private ElastiCache instance in the Seqera [environment variables](./configuration/overview.mdx#database-and-redis-manual-configuration): ```bash TOWER_REDIS_URL=redis://:6379 ``` -**Azure Cache for Redis requirements** + + - Use a single-node cluster, as multi-node clusters are not supported -- Use an instance with at least 6GB capacity ([C3](https://azure.microsoft.com/en-gb/pricing/details/cache/) or greater) -- Specify your private Azure Cache for Redis instance in the Seqera environment variables: +- Use an instance with at least 6GB capacity ([C3][azure-cache-instances] or greater) +- Specify your private Azure Cache for Redis instance in the Seqera [environment variables](./configuration/overview.mdx#database-and-redis-manual-configuration): ```bash TOWER_REDIS_URL=redis://:6379 ``` -**Google Memorystore requirements** + + - Use a single-node cluster, as multi-node clusters are not supported -- Use an instance with at least 6GB capacity ([M2](https://cloud.google.com/memorystore/docs/redis/pricing#instance_pricing) or greater) -- Specify your private Memorystore instance in the Seqera environment variables: +- Use an instance with at least 6GB capacity ([M2][google-cache-instances] or greater) +- Specify your private Memorystore instance in the Seqera [environment variables](./configuration/overview.mdx#database-and-redis-manual-configuration): ```bash TOWER_REDIS_URL=redis://:6379 ``` -**Self-hosted Redis service** - -If you run the Redis service as a container as part of your Docker or Kubernetes installation, you must specify the service name as part of the `TOWER_REDIS_URL`: - - ```bash - TOWER_REDIS_URL=redis://redis:6379 - ``` + + ### Seqera cron service 1. Download the [cron service manifest](_templates/k8s/tower-cron.yml) file. -2. Deploy the manifest to your cluster: +1. Deploy the manifest to your cluster: - ```bash - kubectl apply -f tower-cron.yml - ``` + ```bash + kubectl apply -f tower-cron.yml + ``` :::caution This container creates the required database schema the first time it instantiates. This process can take a few minutes to complete and must finish before you instantiate the Seqera backend. Ensure this container is in the `READY` state before proceeding to the next step. @@ -153,7 +156,7 @@ This container creates the required database schema the first time it instantiat 1. Download the [manifest](_templates/k8s/tower-svc.yml). -2. Deploy the manifest to your cluster: +1. Deploy the manifest to your cluster: ```bash kubectl apply -f tower-svc.yml @@ -177,7 +180,7 @@ spec: ... containers: - name: frontend - image: cr.seqera.io/private/nf-tower-enterprise/frontend:v23.3.0-unprivileged + image: cr.seqera.io/private/nf-tower-enterprise/frontend:v23.4.3-unprivileged env: - name: NGINX_LISTEN_PORT # If not defined, defaults to 8000. value: 8000 @@ -207,31 +210,29 @@ If further customization of the config file is needed, mount a config map/secret An ingress is used to make Seqera Enterprise publicly accessible, load-balance traffic, terminate TLS, and offer name-based virtual hosting. The included ingress will create an external IP address and forward HTTP traffic to the Seqera frontend. -Download the appropriate manifest and configure it according to your infrastructure: - -- [Azure AKS](_templates/k8s/ingress.aks.yml) +1. Download the appropriate manifest and configure it according to your infrastructure: -- [Amazon EKS](_templates/k8s/ingress.eks.yml) + - [Azure AKS](_templates/k8s/ingress.aks.yml) + - [Amazon EKS](_templates/k8s/ingress.eks.yml) + - [Google Kubernetes Engine](_templates/k8s/ingress.gke.yml) -- [Google Kubernetes Engine](_templates/k8s/ingress.gke.yml) +1. Deploy the manifest to your cluster: -Deploy the manifest to your cluster: - -```bash -kubectl apply -f ingress.*.yml -``` + ```bash + kubectl apply -f ingress.*.yml + ``` -See the Kubernetes documentation on the [ingress](https://kubernetes.io/docs/concepts/services-networking/ingress/) resource for more information. If you don't need to make Seqera externally accessible, you can also use a service resource to expose a [node port](https://kubernetes.io/docs/concepts/services-networking/service/#nodeport) or a [load balancer](https://kubernetes.io/docs/concepts/services-networking/service/#loadbalancer) service to make it accessible within your intranet. +See [Kubernetes ingress][k8s-ingress] for more information. If you don't need to make Seqera externally accessible, use a service resource to expose a [node port][k8s-node-port] or a [load balancer][k8s-load-balancer] service to make it accessible within your intranet. -See the relevant documentation for configuring an ingress service on each cloud provider: +See the cloud provider documentation for configuring an ingress service on each cloud provider: -- [Amazon](https://kubernetes-sigs.github.io/aws-load-balancer-controller/v2.2/guide/ingress/annotations/) -- [Azure](https://docs.microsoft.com/en-us/azure/application-gateway/ingress-controller-annotations) -- [Google Cloud](https://cloud.google.com/kubernetes-engine/docs/concepts/ingress) +- [Amazon][aws-configure-ingress] +- [Azure][azure-configure-ingress] +- [Google Cloud][google-configure-ingress] ### Check status -Make sure that all services are up and running: +Check that all services are up and running: ```bash kubectl get pods @@ -239,70 +240,55 @@ kubectl get pods ## Test the application -To confirm that Seqera Enterprise is properly configured, follow these steps: - -1. Log in to your Seqera instance. - -2. Create an **organization**. - -3. Create a **workspace** within that organization. +See [Test deployment](./testing.mdx). -4. Create a new **Compute environment**. See [Compute environments](../compute-envs/overview.mdx) for detailed instructions. +## Optional features -5. Select **Quick Launch** from the **Launchpad** tab in your workspace. - -6. Enter the repository URL for the `nf-core/rnaseq` pipeline (`https://github.com/nf-core/rnaseq`). - -7. In the **Config profiles** dropdown, select the `test` profile. - -8. In **Pipeline parameters**, change the output directory to a location based on your compute environment: - - ```yaml - # save to S3 bucket - outdir: s3:///results - - # save to scratch directory (Kubernetes) - outdir: /scratch/results - ``` - -9. Select **Launch**; you'll be redirected to the **Runs** tab for the workflow. After a few minutes, progress logs will be listed in that workflow's **Execution log** tab. - -## Optional addons - -### Pipeline resource optimization +### Pipeline optimization Seqera Platform offers a service that optimizes pipeline resource requests. Install the resource optimization service in your Kubernetes cluster with [this manifest](_templates/k8s/groundswell.yml). Define a set of credentials for the resource optimization database in the `tower-groundswell-cfg` ConfigMap. This can be the same database used for Seqera, but in a different schema. -The initContainers will wait until both the Seqera and resource optimization databases are ready before starting the migration in the Seqera database and finally starting the resource optimization container. +The initContainers will wait until both the Seqera and pipeline optimization service databases are ready before starting the migration in the Seqera database and finally starting the resource optimization container. ### Database console -The included [dbconsole.yml](_templates/k8s/dbconsole.yml) manifest can be used to deploy a simple web frontend to the Seqera database. Though not required, this can be useful for administrative purposes. +Use the [dbconsole.yml](_templates/k8s/dbconsole.yml) manifest to deploy a simple web frontend to the Seqera database. Though not required, this can be useful for administrative purposes. 1. Deploy the database console: - ```bash - kubectl apply -f dbconsole.yml - ``` + ```bash + kubectl apply -f dbconsole.yml + ``` -2. Enable a port-forward for the database console to your local machine: +1. Enable a port-forward for the database console to your local machine: - ```bash - kubectl port-forward deployment/dbconsole 8080:8080 - ``` + ```bash + kubectl port-forward deployment/dbconsole 8080:8080 + ``` -3. Access the database console in a web browser at `http://localhost:8080`. +1. Access the database console in a web browser at `http://localhost:8080`. ### High availability To configure Seqera Enterprise for high availability, note that: - The `backend` service can be run in multiple replicas - - The `frontend` service is replicable, however in most scenarios it is not necessary - - The `cron` service may only have a single instance - - The `groundswell` service may only have a single instance + +[aws-cache-instances]: https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html +[aws-configure-ingress]: https://kubernetes-sigs.github.io/aws-load-balancer-controller/v2.2/guide/ingress/annotations/ +[aws-elasticache]: https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/WhatIs.html +[azure-cache]: https://learn.microsoft.com/en-gb/azure/azure-cache-for-redis/cache-overview +[azure-cache-instances]: https://azure.microsoft.com/en-gb/pricing/details/cache/ +[azure-configure-ingress]: https://docs.microsoft.com/en-us/azure/application-gateway/ingress-controller-annotations +[google-cache-instances]: https://cloud.google.com/memorystore/docs/redis/pricing#instance_pricing +[google-configure-ingress]: https://cloud.google.com/kubernetes-engine/docs/concepts/ingress +[k8s-ingress]: https://kubernetes.io/docs/concepts/services-networking/ingress/ +[k8s-load-balancer]: https://kubernetes.io/docs/concepts/services-networking/service/#loadbalancer +[k8s-node-port]: https://kubernetes.io/docs/concepts/services-networking/service/#nodeport +[kubectl-secret]: https://kubernetes.io/docs/tasks/configmap-secret/managing-secret-using-kubectl/ +[memorystore]: https://cloud.google.com/memorystore/docs/redis From 723f0e45bd1d45e6b2c7d0c26d8c8616c338c4b6 Mon Sep 17 00:00:00 2001 From: llewellyn-sl Date: Thu, 16 May 2024 09:46:27 -0400 Subject: [PATCH 6/9] Code review fixes --- .../version-23.3.0/enterprise/kubernetes.mdx | 6 +++--- .../version-23.4.0/enterprise/kubernetes.mdx | 8 +++----- 2 files changed, 6 insertions(+), 8 deletions(-) diff --git a/platform_versioned_docs/version-23.3.0/enterprise/kubernetes.mdx b/platform_versioned_docs/version-23.3.0/enterprise/kubernetes.mdx index 4eba14ff4..1bd91a914 100644 --- a/platform_versioned_docs/version-23.3.0/enterprise/kubernetes.mdx +++ b/platform_versioned_docs/version-23.3.0/enterprise/kubernetes.mdx @@ -82,8 +82,8 @@ Seqera Enterprise requires a Redis database for caching purposes. Configure Redi 1. Download the appropriate manifest for your infrastructure: - - [Azure AKS](_templates/k8s/redis.aks.yml) - [Amazon EKS](_templates/k8s/redis.eks.yml) + - [Azure AKS](_templates/k8s/redis.aks.yml) - [Google Kubernetes Engine](_templates/k8s/redis.gke.yml) 1. Deploy to your cluster: @@ -210,10 +210,10 @@ If further customization of the config file is needed, mount a config map/secret An ingress is used to make Seqera Enterprise publicly accessible, load-balance traffic, terminate TLS, and offer name-based virtual hosting. The included ingress will create an external IP address and forward HTTP traffic to the Seqera frontend. -1. Download the appropriate manifest and configure it according to your infrastructure: +1. Download and configure the appropriate manifest for your infrastructure: - - [Azure AKS](_templates/k8s/ingress.aks.yml) - [Amazon EKS](_templates/k8s/ingress.eks.yml) + - [Azure AKS](_templates/k8s/ingress.aks.yml) - [Google Kubernetes Engine](_templates/k8s/ingress.gke.yml) 1. Deploy the manifest to your cluster: diff --git a/platform_versioned_docs/version-23.4.0/enterprise/kubernetes.mdx b/platform_versioned_docs/version-23.4.0/enterprise/kubernetes.mdx index 4eba14ff4..ae6956b25 100644 --- a/platform_versioned_docs/version-23.4.0/enterprise/kubernetes.mdx +++ b/platform_versioned_docs/version-23.4.0/enterprise/kubernetes.mdx @@ -82,8 +82,8 @@ Seqera Enterprise requires a Redis database for caching purposes. Configure Redi 1. Download the appropriate manifest for your infrastructure: - - [Azure AKS](_templates/k8s/redis.aks.yml) - [Amazon EKS](_templates/k8s/redis.eks.yml) + - [Azure AKS](_templates/k8s/redis.aks.yml) - [Google Kubernetes Engine](_templates/k8s/redis.gke.yml) 1. Deploy to your cluster: @@ -141,7 +141,6 @@ Seqera supports managed Redis services such as [Amazon ElastiCache][aws-elastica ### Seqera cron service 1. Download the [cron service manifest](_templates/k8s/tower-cron.yml) file. - 1. Deploy the manifest to your cluster: ```bash @@ -155,7 +154,6 @@ This container creates the required database schema the first time it instantiat ### Seqera frontend and backend 1. Download the [manifest](_templates/k8s/tower-svc.yml). - 1. Deploy the manifest to your cluster: ```bash @@ -210,10 +208,10 @@ If further customization of the config file is needed, mount a config map/secret An ingress is used to make Seqera Enterprise publicly accessible, load-balance traffic, terminate TLS, and offer name-based virtual hosting. The included ingress will create an external IP address and forward HTTP traffic to the Seqera frontend. -1. Download the appropriate manifest and configure it according to your infrastructure: +1. Download and configure the appropriate manifest for your infrastructure: - - [Azure AKS](_templates/k8s/ingress.aks.yml) - [Amazon EKS](_templates/k8s/ingress.eks.yml) + - [Azure AKS](_templates/k8s/ingress.aks.yml) - [Google Kubernetes Engine](_templates/k8s/ingress.gke.yml) 1. Deploy the manifest to your cluster: From 37320b4b1dec2ace36e6424974e0467c85d53132 Mon Sep 17 00:00:00 2001 From: llewellyn-sl Date: Thu, 16 May 2024 09:52:11 -0400 Subject: [PATCH 7/9] Numbered list updates --- .../version-23.3.0/enterprise/kubernetes.mdx | 22 ++++++++--------- .../version-23.4.0/enterprise/kubernetes.mdx | 24 ++++++++++--------- 2 files changed, 24 insertions(+), 22 deletions(-) diff --git a/platform_versioned_docs/version-23.3.0/enterprise/kubernetes.mdx b/platform_versioned_docs/version-23.3.0/enterprise/kubernetes.mdx index 1bd91a914..670908e62 100644 --- a/platform_versioned_docs/version-23.3.0/enterprise/kubernetes.mdx +++ b/platform_versioned_docs/version-23.3.0/enterprise/kubernetes.mdx @@ -22,13 +22,13 @@ Complete the following procedures to install Seqera Enterprise on a Kubernetes c Create a namespace for the Seqera resources. -1. Create the namespace: +Create the namespace: ```bash kubectl create namespace seqera-nf ``` -2. Switch to the namespace: +Switch to the namespace: ```bash kubectl config set-context --current --namespace=seqera-nf @@ -62,9 +62,9 @@ Seqera Platform Enterprise is distributed as a collection of Docker containers a ### Seqera ConfigMap -1. Download and configure a [ConfigMap](_templates/k8s/configmap.yml) as detailed on the [configuration](configuration/overview.mdx) page. +Download and configure a [ConfigMap](_templates/k8s/configmap.yml) as detailed on the [configuration](configuration/overview.mdx) page. -2. Deploy the ConfigMap to your cluster: +To deploy the ConfigMap to your cluster, run the following: ```bash kubectl apply -f configmap.yml @@ -140,9 +140,9 @@ Seqera supports managed Redis services such as [Amazon ElastiCache][aws-elastica ### Seqera cron service -1. Download the [cron service manifest](_templates/k8s/tower-cron.yml) file. +Download the [cron service manifest](_templates/k8s/tower-cron.yml) file. -1. Deploy the manifest to your cluster: +To deploy the manifest to your cluster, run the following: ```bash kubectl apply -f tower-cron.yml @@ -154,9 +154,9 @@ This container creates the required database schema the first time it instantiat ### Seqera frontend and backend -1. Download the [manifest](_templates/k8s/tower-svc.yml). +Download the [manifest](_templates/k8s/tower-svc.yml). -1. Deploy the manifest to your cluster: +To deploy the manifest to your cluster, run the following: ```bash kubectl apply -f tower-svc.yml @@ -208,15 +208,15 @@ If further customization of the config file is needed, mount a config map/secret ### Seqera ingress -An ingress is used to make Seqera Enterprise publicly accessible, load-balance traffic, terminate TLS, and offer name-based virtual hosting. The included ingress will create an external IP address and forward HTTP traffic to the Seqera frontend. +An ingress is used to make Seqera Enterprise publicly accessible, load-balance traffic, terminate TLS, and offer name-based virtual hosting. The included ingress manifest will create an external IP address and forward HTTP traffic to the Seqera frontend. -1. Download and configure the appropriate manifest for your infrastructure: +Download and configure the appropriate manifest for your infrastructure: - [Amazon EKS](_templates/k8s/ingress.eks.yml) - [Azure AKS](_templates/k8s/ingress.aks.yml) - [Google Kubernetes Engine](_templates/k8s/ingress.gke.yml) -1. Deploy the manifest to your cluster: +To deploy the manifest to your cluster, run the following: ```bash kubectl apply -f ingress.*.yml diff --git a/platform_versioned_docs/version-23.4.0/enterprise/kubernetes.mdx b/platform_versioned_docs/version-23.4.0/enterprise/kubernetes.mdx index ae6956b25..670908e62 100644 --- a/platform_versioned_docs/version-23.4.0/enterprise/kubernetes.mdx +++ b/platform_versioned_docs/version-23.4.0/enterprise/kubernetes.mdx @@ -22,13 +22,13 @@ Complete the following procedures to install Seqera Enterprise on a Kubernetes c Create a namespace for the Seqera resources. -1. Create the namespace: +Create the namespace: ```bash kubectl create namespace seqera-nf ``` -2. Switch to the namespace: +Switch to the namespace: ```bash kubectl config set-context --current --namespace=seqera-nf @@ -62,9 +62,9 @@ Seqera Platform Enterprise is distributed as a collection of Docker containers a ### Seqera ConfigMap -1. Download and configure a [ConfigMap](_templates/k8s/configmap.yml) as detailed on the [configuration](configuration/overview.mdx) page. +Download and configure a [ConfigMap](_templates/k8s/configmap.yml) as detailed on the [configuration](configuration/overview.mdx) page. -2. Deploy the ConfigMap to your cluster: +To deploy the ConfigMap to your cluster, run the following: ```bash kubectl apply -f configmap.yml @@ -140,8 +140,9 @@ Seqera supports managed Redis services such as [Amazon ElastiCache][aws-elastica ### Seqera cron service -1. Download the [cron service manifest](_templates/k8s/tower-cron.yml) file. -1. Deploy the manifest to your cluster: +Download the [cron service manifest](_templates/k8s/tower-cron.yml) file. + +To deploy the manifest to your cluster, run the following: ```bash kubectl apply -f tower-cron.yml @@ -153,8 +154,9 @@ This container creates the required database schema the first time it instantiat ### Seqera frontend and backend -1. Download the [manifest](_templates/k8s/tower-svc.yml). -1. Deploy the manifest to your cluster: +Download the [manifest](_templates/k8s/tower-svc.yml). + +To deploy the manifest to your cluster, run the following: ```bash kubectl apply -f tower-svc.yml @@ -206,15 +208,15 @@ If further customization of the config file is needed, mount a config map/secret ### Seqera ingress -An ingress is used to make Seqera Enterprise publicly accessible, load-balance traffic, terminate TLS, and offer name-based virtual hosting. The included ingress will create an external IP address and forward HTTP traffic to the Seqera frontend. +An ingress is used to make Seqera Enterprise publicly accessible, load-balance traffic, terminate TLS, and offer name-based virtual hosting. The included ingress manifest will create an external IP address and forward HTTP traffic to the Seqera frontend. -1. Download and configure the appropriate manifest for your infrastructure: +Download and configure the appropriate manifest for your infrastructure: - [Amazon EKS](_templates/k8s/ingress.eks.yml) - [Azure AKS](_templates/k8s/ingress.aks.yml) - [Google Kubernetes Engine](_templates/k8s/ingress.gke.yml) -1. Deploy the manifest to your cluster: +To deploy the manifest to your cluster, run the following: ```bash kubectl apply -f ingress.*.yml From adc93937942552929c285f85b65705a4d079b0e2 Mon Sep 17 00:00:00 2001 From: llewellyn-sl Date: Thu, 16 May 2024 10:48:02 -0400 Subject: [PATCH 8/9] Formatting fixes --- .../version-23.3.0/enterprise/kubernetes.mdx | 16 ++++------------ .../version-23.4.0/enterprise/kubernetes.mdx | 16 ++++------------ 2 files changed, 8 insertions(+), 24 deletions(-) diff --git a/platform_versioned_docs/version-23.3.0/enterprise/kubernetes.mdx b/platform_versioned_docs/version-23.3.0/enterprise/kubernetes.mdx index 670908e62..585f61a37 100644 --- a/platform_versioned_docs/version-23.3.0/enterprise/kubernetes.mdx +++ b/platform_versioned_docs/version-23.3.0/enterprise/kubernetes.mdx @@ -10,19 +10,11 @@ import TabItem from '@theme/TabItem'; This guide assumes that all prerequisites have been met. Visit the corresponding **Prerequisites** page for your infrastructure provider. -:::note -You may also use this guide for deployments to other cloud platforms. However, you must satisfy any prerequisites for those platforms. Use at your own risk. -::: - -## Deploy Seqera Platform Enterprise on Kubernetes - -Complete the following procedures to install Seqera Enterprise on a Kubernetes cluster: +Complete the following procedures to install Seqera Platform Enterprise on a Kubernetes cluster: ### Create a namespace -Create a namespace for the Seqera resources. - -Create the namespace: +Create a namespace for the Seqera resources: ```bash kubectl create namespace seqera-nf @@ -36,7 +28,7 @@ Switch to the namespace: ### Configure container registry credentials -Seqera Platform Enterprise is distributed as a collection of Docker containers available through the Seqera container registry [`cr.seqera.io`](https://cr.seqera.io). Contact [support](https://support.seqera.io) to get your container access credentials. After you've received your credentials, grant your cluster access to the registry: +Seqera Enterprise is distributed as a collection of Docker containers available through the Seqera container registry [`cr.seqera.io`](https://cr.seqera.io). Contact [support](https://support.seqera.io) to get your container access credentials. After you've received your credentials, grant your cluster access to the registry: 1. Retrieve the `name` and `secret` values from the JSON file that you received from Seqera support. @@ -238,7 +230,7 @@ Check that all services are up and running: kubectl get pods ``` -## Test the application +### Test the application See [Test deployment](./testing.mdx). diff --git a/platform_versioned_docs/version-23.4.0/enterprise/kubernetes.mdx b/platform_versioned_docs/version-23.4.0/enterprise/kubernetes.mdx index 670908e62..585f61a37 100644 --- a/platform_versioned_docs/version-23.4.0/enterprise/kubernetes.mdx +++ b/platform_versioned_docs/version-23.4.0/enterprise/kubernetes.mdx @@ -10,19 +10,11 @@ import TabItem from '@theme/TabItem'; This guide assumes that all prerequisites have been met. Visit the corresponding **Prerequisites** page for your infrastructure provider. -:::note -You may also use this guide for deployments to other cloud platforms. However, you must satisfy any prerequisites for those platforms. Use at your own risk. -::: - -## Deploy Seqera Platform Enterprise on Kubernetes - -Complete the following procedures to install Seqera Enterprise on a Kubernetes cluster: +Complete the following procedures to install Seqera Platform Enterprise on a Kubernetes cluster: ### Create a namespace -Create a namespace for the Seqera resources. - -Create the namespace: +Create a namespace for the Seqera resources: ```bash kubectl create namespace seqera-nf @@ -36,7 +28,7 @@ Switch to the namespace: ### Configure container registry credentials -Seqera Platform Enterprise is distributed as a collection of Docker containers available through the Seqera container registry [`cr.seqera.io`](https://cr.seqera.io). Contact [support](https://support.seqera.io) to get your container access credentials. After you've received your credentials, grant your cluster access to the registry: +Seqera Enterprise is distributed as a collection of Docker containers available through the Seqera container registry [`cr.seqera.io`](https://cr.seqera.io). Contact [support](https://support.seqera.io) to get your container access credentials. After you've received your credentials, grant your cluster access to the registry: 1. Retrieve the `name` and `secret` values from the JSON file that you received from Seqera support. @@ -238,7 +230,7 @@ Check that all services are up and running: kubectl get pods ``` -## Test the application +### Test the application See [Test deployment](./testing.mdx). From 0525d37e76cca3e1a3fe224d2716aef26a4c3f42 Mon Sep 17 00:00:00 2001 From: llewellyn-sl Date: Thu, 16 May 2024 10:52:45 -0400 Subject: [PATCH 9/9] Improve configmap lead-in --- .../version-23.3.0/enterprise/kubernetes.mdx | 4 ++-- .../version-23.4.0/enterprise/kubernetes.mdx | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/platform_versioned_docs/version-23.3.0/enterprise/kubernetes.mdx b/platform_versioned_docs/version-23.3.0/enterprise/kubernetes.mdx index 585f61a37..b8c6280a9 100644 --- a/platform_versioned_docs/version-23.3.0/enterprise/kubernetes.mdx +++ b/platform_versioned_docs/version-23.3.0/enterprise/kubernetes.mdx @@ -54,9 +54,9 @@ Seqera Enterprise is distributed as a collection of Docker containers available ### Seqera ConfigMap -Download and configure a [ConfigMap](_templates/k8s/configmap.yml) as detailed on the [configuration](configuration/overview.mdx) page. +Download and configure a [ConfigMap](_templates/k8s/configmap.yml). See [Configuration](configuration/overview.mdx) for more information. -To deploy the ConfigMap to your cluster, run the following: +Deploy the ConfigMap to your cluster after it is configured: ```bash kubectl apply -f configmap.yml diff --git a/platform_versioned_docs/version-23.4.0/enterprise/kubernetes.mdx b/platform_versioned_docs/version-23.4.0/enterprise/kubernetes.mdx index 585f61a37..b8c6280a9 100644 --- a/platform_versioned_docs/version-23.4.0/enterprise/kubernetes.mdx +++ b/platform_versioned_docs/version-23.4.0/enterprise/kubernetes.mdx @@ -54,9 +54,9 @@ Seqera Enterprise is distributed as a collection of Docker containers available ### Seqera ConfigMap -Download and configure a [ConfigMap](_templates/k8s/configmap.yml) as detailed on the [configuration](configuration/overview.mdx) page. +Download and configure a [ConfigMap](_templates/k8s/configmap.yml). See [Configuration](configuration/overview.mdx) for more information. -To deploy the ConfigMap to your cluster, run the following: +Deploy the ConfigMap to your cluster after it is configured: ```bash kubectl apply -f configmap.yml