12bf052233
Bump Newtonsoft.Json from 12.0.3 to 13.0.1 in /Application_Backend_Deployment/Contoso.Retail.NextGen/src/Contoso.Retail.NextGen.RecommendationByItem |
||
---|---|---|
.. | ||
Contoso.Retail.NextGen | ||
Data | ||
References | ||
Deploy1.bat | ||
Deploy1.ps1 | ||
Deploy2.ps1.template | ||
Deploy3.ps1.template | ||
README.md | ||
Step1,2.md | ||
Step3.md | ||
Step4.md | ||
deployServicesToK8s.yaml.template | ||
setupClusterIssuer-prod.yaml.template | ||
setupIngress-prod.yaml.template |
README.md
Introduction
Contoso Retail User Profile / Product Catalog APIs
Prerequisites
- Azure CLI - For Azure Resources and Source code deployment
- Kubectl - For Deploying API Services and Configuration
- Docker Desktop - For Debugging in local or containerizing codes in Deployment process
- PowerShell 7.x - For executing Deployment Script
- Helm 3.x - For installing cert-manager, ingress-nginx Ingress Controller
(Local) Build and Test
- Local build and test : Open solution file /Contoso.Retail.NextGen/src/ContosoRetail.NextGen.API.sln from your Visual Studio. (Recommend using Visual Studio 2019)
Through AzurePiple line, you may deploy on Kubernetes cluster. Check deployment.yaml, service.yaml in menifests folder and azure-pipelines.yml
Getting Started
Most of Deployment will be automated with scripts but some manual configuration work is required
-
Step 1 : Deploy Azure Resources - Deploy1.bat
- Deploy Azure Container Registry Service
- Deploy Azure Kubernetes Service
- Deploy Azure Storage Account
- Deploy Azure CosmosDB Mongo API
- Setting ServicePrinciple to work together with ACR and AKS
-
Step 2 : Configurure Kubernetes Ingress Controller and Cert Manager
- Deploy API Services in Kubernetes
- Deploy Nginix Ingress Controller in Kubernetes
- Deploy cert-manager to preparing self-signed certificate to support SSL
-
Step 3: Configure SSL - Deploy2.ps1 > setupClusterIssuer-prod.yaml -> setupIngress-prod.yaml
- Creating Certificate Issuer
- Creating Certicifate with LetsEncrypt
- Config Ingress Controller for Services to support SSL
-
Step 4 : Initialize Data - Deploy3.ps1
- Upload Profile / Product Images in Blob Storage Account
- Post Product master database via API services