- Getting Started
-
Administration Guide
-
Get Started with Administering Wyn Enterprise
- System Requirements
- Installing on Windows
- Installing on Linux
- Installing using Docker
- License Wyn Enterprise
- Deploying with HTTPS
- Deploying with Reverse Proxy
- Deploying to Azure App Service (AAS)
-
Deploying to Azure Kubernetes Service (AKS)
- Deploying to AKS using Helm Chart
- Deploying to Local Kubernetes
- Deploying to Kubernetes Cluster using Helm Chart
- Deploying as a Virtual Directory or Sub-Application
- Deploying to Amazon ECS
- Deploying to Amazon EKS using Helm Charts
- Deploying in a Distributed Environment
- Migration from ActiveReports Server 12
- Upgrade Wyn Enterprise to Latest Version
- Logging on to the Administrator Portal
- Ports in Firewall
- Configuration Settings
- Account Management
- Security Management
- System Management
- Document Management
- How To and Troubleshooting
-
Get Started with Administering Wyn Enterprise
- User Guide
- Developer Guide
Deploying to Azure Kubernetes Service
This article describes how to deploy Wyn Enterprise to run on Azure Kubernetes Service.
You will find the following information in this help article;
Quick Overview
Create the following resources in the same resource group:
Resource Group: Create a resource named wyn-aks, all the Wyn AKS-related resources should be in this resource group.
Kubernetes cluster: Deploy Wyn Enterprise.
Storage account: Use the Azure files to store the Wyn configuration file and logs.
Managed Disk: Store the cached database data.
Please note that you should have an existing SQL Server, MySQL, Postgres, or Oracle database.
Create Resources
Follow the below steps to create the resources discussed above.
Create a wyn-aks resource group.
Create a wyn Kubernetes cluster. Restrict the availability zones of the cluster because the cached database data is stored in the managed disks, which means the disk and the AKS node must be in the same availability zone.
Note: While creating the wyn Kubernetes cluster, the recommended node size to be selected is 4 cores with 16GB of RAM.
To change the node size, click the Change Size hyperlink and select the recommended size.
Create a wyn storage account. Set its performance to Standard as shown.
The Standard Performance is suitable for writing logs and reading the configuration file. Moreover, Wyn Enterprise uses the asynchronous non-blocking method to write logs, so it will not affect the performance.
a. Create a conf and logs file share in the wyn storage account.
b. Download the zip file and later unzip it.
c. Update the database connection string in the conf/Wyn.conf file.
d. Upload the Wyn.conf file to the conf file share you just created.
Enter the Kubernetes cluster and click Connect, and then click Open Cloud Shell to open the cloud shell.
Run the appropriate command to connect to the cluster.
//The following example gets the node resource group for the wyn AKS cluster in the wyn-aks resource group, and creates the disk in the node resource group. az aks show --resource-group wyn-aks --name wyn --query nodeResourceGroup -o tsv
Then, create a wyn managed disk. Select its availability zone and set the performance tier to P30. You can also choose a higher performance tier based on your requirements.
Deploy Wyn Enterprise
Use the following command in the cloud shell to get the zip file, and later unzip it.
wget https://cdn.wynenterprise.io/BI/installation/k8s/aks/wyn-enterprise-aks-8.0.00277.0.zip unzip wyn-enterprise-aks-8.0.00277.0.zip
Copy the Resource ID of the Managed Disk and use it to update the services/analysisdb.yaml file.
Use the storage key to create the wyn-aks-secret. Get the storage key from the storage account Access Keys tab.
kubectl create secret generic wyn-aks-secret --from-literal=azurestorageaccountname=wyn --from-literal=azurestorageaccountkey=<STORAGE_KEY>
Use the following command to create volumes and services as shown.
# enter the wyn-aks folder cd wyn-enterprise-aks-8.0.00277.0 # create the volumes kubectl apply -f pv # create services kubectl apply -f services
Run the following command to check the pods' status.
kubectl get pods
Expose Wyn Enterprise to the External Network
You can use the Application Gateway ingress controller to expose Wyn.
# create application-gateway ingress kubectl apply -f ingress
Enable the Application Gateway ingress controller.
Enter the ingress-appgateway to get the public IP address to access Wyn Enterprise. (http://<public-IP-address>)
Expose Wyn Enterprise Service Over HTTPS
Create a Kubernetes secret to host the private key and certificate.
kubectl create secret tls {your-secret-name} --key {path-to-key} --cert {path-to-cert}
Modify the Ingress file, ingress/ingress.yaml as shown in below code snippet,
apiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: wyn-ingress annotations: kubernetes.io/ingress.class: azure/application-gateway spec: tls: - hosts: - {your.domain.name} secretName: {your-secret-name} rules: - host: {your.domain.name} http: paths: - path: / pathType: Prefix backend: service: name: wyn-server port: number: 51980
Apply the Ingress using the following command.
kubectl apply -f ingress
Get information on Ingress using the following command.
kubectl get ingress wyn-ingress
The output of the above operation will be as follows,
NAME
CLASS
HOSTS
ADDRESS
PORTS
AGE
wyn-ingres
<none>
wyn-k8.gces.dev
20.195.39.193
80, 443
14m
Note: You need to wait until the Address is assigned successfully, and then add a record to the DSN resolution provider.
You can now visit the Wyn Enterprise application with the HTTPS URL,
https://{your.domain.name}