- Install Kubenetes CLI tool - kubectl. Instructions can be found here: https://kubernetes.io/docs/tasks/tools/install-kubectl/
- Install the command line tool of the Kubernetes hosting system:
- SQL Server connection string
- SSL certificate and private key without password
- Request the container registry login from IQX for pulling OneList images
- SMTP server login and email address if email approval channel is enabled
- Generate the Machine key and encode it to a base64 string for each environment
- Download these Yaml files
Minimum Requirement
Enviroment | AKS | SQL |
---|---|---|
Production | Cluster nodes:3; Cluster node size: 2 vCPU, 8GB RAM | Elastic pool: Standard, eDTU: 100, Data size: 100GB Firewall settings: Allow Azure services and resources to access this server = ON |
Non-production | Cluster nodes:1; Cluster node size: 2 vCPU, 8GB RAM | Elastic pool: Standard, eDTU: 50, Data size: 50GB Firewall settings: Allow Azure services and resources to access this server = ON |
Log on to Azure Kubernetes Service (AKS)
...
kubectl create namespace <ONELIST_NAMESPACE>
2. Create ConfigMap and Secret
...
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. 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>
5. Create Nginx ingress service
Run the 2 commands below.
kubectl create -f ingress-nginx-controller.yaml
kubectl create -f onelist6-ingress.yaml --namespace <ONELIST_NAMESPACE>
6. Create the TLS secrete
Run the command below.
kubectl create secret tls tls.onelist --cert <SSL_CERTIFICATE_FILE> --key <PRIVATE_KEY_FILE> --namespace ingress-nginx
7. Create the administrator user account
...