Install Mattermost on Azure AKS#

plans-img Available on all plans

deployment-img 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

plans-img-yellow 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#

  1. 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.

  1. Choose the Resource Group and the Region of your installed AKS and PostgreSQL database.

    An example of the Azure AKS Project details screen.
  2. Choose your AKS cluster.

    An example of the Azure AKS cluster setup screen.
  3. Fill in the details for your PostgreSQL database.

    An example of the Azure AKS Database setup screen.

    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.

  4. Adjust deployment details.

    An example of the Azure AKS Deployment Details setup screen.

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.

  1. 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.

An example of the Azure AKS Networking Details setup screen.
  1. Ensure that everything is running. You should be able to check the installed plugin from the AKS Extensions + Applications page under the Settings menu.

  1. 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
  1. Get the resulting IP address from the ADDRESS column, and use your domain registration service to create a DNS record.

  2. You should be good to go.

Learn more about managing your Mattermost server by visiting the Managing Mattermost documentation.