Install Mattermost on Azure AKS#
Available on all plans
self-hosted deployments
You can use a supported Azure Marketplace Container Offer to install Mattermost on your existing Azure infrastructure.
Infrastructure pre-requisites#
Deploying Mattermost on Azure AKS requires the following database and cluster prerequisites.
PostgreSQL v13.0+ database#
Mattermost requires a pre-existing PostgreSQL database within your infrastructure. We recommend using Azure Database for PostgreSQL - Flexible Server. Deploy one by following this Microsoft quick start guide.
Tip
We recommend using Private Access for your database.
Running AKS cluster#
Mattermost Azure Container Offer requires a pre-existing Kubernetes Cluster with an Ingress Controller pre-installed. We recommend creating a new AKS cluster with the AGIC add-on enabled.
Follow this tutorial to create a new AKS cluster with the add-on enabled.
Tip
Connectivity should be already in place between the AKS cluster and the PostgreSQL database.
Any pre-installed Ingress Controller within the cluster that supports the Ingress Kubernetes resource and TLS termination should work out of the box.
Deployment pre-requisites#
Deploying Mattermost on Azure AKS requires the following deployment prerequisites.
Valid DNS name and TLS certificates#
Mattermost relies on strong TLS certification in order to provide all the features to users. You need to have access to a DNS zone and be able to provide a valid TLS key and certificate for the Ingress Controller.
Mattermost License and AKS Capacity#
Note
Available only on Enterprise plans
If your deployment option is for more than 100 users
, you must have more than 2 nodes on your AKS cluster to support High Availability, and you must provide a valid Mattermost License file.
Note
Providing a license is optional at this stage. You can enable a 30 day Mattermost trial once the server is deployed.
Deploy Mattermost#
Navigate to our Azure Marketplace Container Offer and get the offer.
Alternatively, you can go to the
Extensions + Applications
section of your AKS cluster and install the Mattermost offering from there. Visit the Microsoft cluster extensions documentation to learn more.
Choose the Resource Group and the Region of your installed AKS and PostgreSQL database.
Choose your AKS cluster.
Fill in the details for your PostgreSQL database.
Note
Connectivity should be already in place between the AKS cluster and the database.
Database should already exist and the user specified must have full access.
Adjust deployment details.
Note
You can define a Deployment size to automatically adjust the installation. A valid Mattermost license is required for deployments of more than 100 users.
Configure Mattermost installation hostname and Ingress details. The AGIC add-on is used in the following example to show the ingress annotations required.
kubernetes.io/ingress.class: azure/application-gateway appgw.ingress.kubernetes.io/ssl-redirect: "true"
Upload yor own TLS certificates at this stage to take advantage of all Mattermost features.
Ensure that everything is running. You should be able to check the installed plugin from the AKS Extensions + Applications page under the Settings menu.
When the deployment is complete, obtain the hostname or IP address of your Mattermost deployment using the following command:
kubectl -n mattermost-operator get ingress
Get the resulting IP address from the
ADDRESS
column, and use your domain registration service to create a DNS record.You should be good to go.
Learn more about managing your Mattermost server by visiting the Managing Mattermost documentation.
Upgrade Mattermost#
Visit the
Extensions + Applications
section of your AKS cluster where your Mattermost installation is deployed.You can enable minor version auto upgrades since these are not updating Mattermost version
Expand the
Configurarion Settings
table and add the below configuration and the version you want to install as a value.global.azure.mattermost.version
Click
Save
and wait for the upgrade.