Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 20 Next »

Mininum requirement for resources

Kubernetes Linux cluster 2CPU, 7GB RAM. 3 node cluster is recommended for production environment.

SQL Server 2016 or later.

Prerequisites

Deployment steps

Open a command prompt from the folder that contains the YAML deployment files. Flow steps below to deploy OneList.

1. Create the Kubernetes namespace

Run the command below to create the namespace in Kubernetes, e.g. onelist.

kubectl create namespace <ONELIST_NAMESPACE>

2. Create ConfigMap and Secret

These Kubernetes ConfigMap and Secret defines the required environment variables that are used by OneList services. Open the "config.yaml" in notepad and update the following fields with the actual value. 

  • RoleManager__MachineKey 
    This is a base64 string representing an array of 44 bytes. Use this online tool: https://www.base64encode.org/. Input 44 characters to encode.
  • Database__ConnectionString
    The value is the SQL Server connection string. The name of the databases will be automatically specified by the services.
  • Smtp__UserName 
  • Smtp__Password
  • ASPNETCORE_ENVIRONMENT
    The value specifies the environment. It can be one of the following Production, Dev, QA.
  • Smtp__From
    This is the sender email address of notifications from OneList
  • Smtp__Host
    This is the SMTP server OneList use to send notifications.
  • Smtp__Port
    This is the port of SMTP server.
  • Smtp__UseSsl
    Define if SMTP server uses SSL connection.

Save the "config.yaml" file then run the command below.

kubectl apply -f config.yaml --namespace <ONELIST_NAMESPACE>

3. Create the Secrete for pulling OneList images

Replace placeholders in the command below and run it.

kubectl create secret docker-registry iqx.acr --docker-server=https://iqxbusiness.azurecr.io --docker-username=<ACR_USERNAME> --docker-password=<ACR_PASSWORD> --docker-email=<YOUR_EMAIL_ADDRESS> --namespace <ONELIST_NAMESPACE>

4. Create the TLS secrete

Run the command below.

kubectl create secret tls tls.onelist --cert <SSL_CERTIFICATE_FILE> --key <PRIVATE_KEY_FILE> --namespace <ONELIST_NAMESPACE>

5. Deploy OneList containers for the apps and services

Run the 2 commands below.

kubectl appy -f onelist6-deployment.yaml --namespace <ONELIST_NAMESPACE>

kubectl appy -f onelist6-service.yaml --namespace <ONELIST_NAMESPACE>

6. Create Nginx ingress service

Run the 2 commands below.

kubectl create -f ingress-nginx-controller.yaml --namespace <ONELIST_NAMESPACE>

kubectl create -f onelist6-ingress.yaml --namespace <ONELIST_NAMESPACE>

Upgrade image version

Upgrade all applications

You need to know the namespace where OneList applications are deployed before proceeding with this upgrade. Download the upgrade.ps1 file. Run the command below, where the IMAGE_VERSION is in the format of x.x.x, e.g. 6.3.0

powershell -f upgrade.ps1 -n <ONELIST_NAMESPACE> -v <IMAGE_VERSION>

Upgrade a single application

If image version update is required, use the command below as a template and apply proper parameters to update image version of applications. 

kubectl set image deployment/onelistserver onelistserver=iqxbusiness.azurecr.io/iqx.onelist.server:v<IMAGE_VERSION> -n <ONELIST_NAMESPACE>

Parameters:





  • No labels