Add Kubernetes to the Azure Stack Marketplace

Applies to: Azure Stack integrated systems and Azure Stack Development Kit

Note

Kubernetes on Azure Stack is in preview. An Azure Stack disconnected scenario is not currently supported by the preview. Only use the marketplace item for development and test scenarios.

You can offer Kubernetes as a Marketplace item to your users. Your users can, then, deploy Kubernetes in a single, coordinated operation.

The following article look at using an Azure Resource Manager template to deploy and provision the resources for a standalone Kubernetes cluster. Before you start, check your Azure Stack and global Azure tenant settings. Collect the required information about your Azure Stack. Add necessary resources to your tenant and to the Azure Stack Marketplace. The cluster depends on an Ubuntu server, custom script, and the Kubernetes Cluster Marketplace item to be in the marketplace.

Create a plan, an offer, and a subscription

Create a plan, an offer, and a subscription for the Kubernetes Marketplace item. You can also use an existing plan and offer.

  1. Sign in to the Administration portal.

  2. Create a plan as the base plan. For instructions, see Create a plan in Azure Stack.

  3. Create an offer. For instructions, see Create an offer in Azure Stack.

  4. Select Offers, and find the offer you created.

  5. Select Overview in the Offer blade.

  6. Select Change state. Select Public.

  7. Select + Create a resource > Offers and Plans > Subscription to create a subscription.

    a. Enter a Display Name.

    b. Enter a User. Use the Azure AD account associated with your tenant.

    c. Provider Description

    d. Set the Directory tenant to the Azure AD tenant for your Azure Stack.

    e. Select Offer. Select the name of the offer that you created. Make note of the Subscription ID.

Create a service principal and credentials in AD FS

If you use Active Directory Federated Services (AD FS) for your identity management service, you will need to create a service principal for users deploying a Kubernetes cluster. Create service principal using a client secret. For instructions, see Create a service principal using a client secret.

Add an Ubuntu server image

Add the following Ubuntu Server image to the Marketplace:

  1. Sign in to the Administration portal.

  2. Select All services, and then under the ADMINISTRATION category, select Marketplace management.

  3. Select + Add from Azure.

  4. Enter Ubuntu Server.

  5. Select the newest version of the server. Check the full version and ensure that you have the newest version:

    • Publisher: Canonical
    • Offer: UbuntuServer
    • Version: 16.04.201806120 (or latest version)
    • SKU: 16.04-LTS
  6. Select Download.

Add a custom script for Linux

Add the Kubernetes from the Marketplace:

  1. Open the Administration portal.

  2. Select ALL services and then under the ADMINISTRATION category, select Marketplace Management.

  3. Select + Add from Azure.

  4. Enter Custom Script for Linux.

  5. Select the script with the following profile:

    • Offer: Custom Script for Linux 2.0

    • Version: 2.0.6 (or latest version)

    • Publisher: Microsoft Corp

      Note

      More than one version of Custom Script for Linux may be listed. You will need to add the last version of the item.

  6. Select Download.

Add Kubernetes to the marketplace

  1. Open the Administration portal.

  2. Select All services and then under the ADMINISTRATION category, select Marketplace Management.

  3. Select + Add from Azure.

  4. Enter Kubernetes.

  5. Select Kubernetes Cluster.

  6. Select Download.

    Note

    It may take five minutes for the marketplace item to appear in the Marketplace.

    Kubernetes

Update or remove the Kubernetes

When updating the Kubernetes item, you'll remove the previous item in the Marketplace. Follow the instruction in this article to add the Kubernetes update to the marketplace.

To remove the Kubernetes item:

  1. Connect to Azure Stack with PowerShell as an operator. For instruction, see Connect to Azure Stack with PowerShell as an operator.

  2. Find the current Kubernetes Cluster item in the gallery.

    Get-AzsGalleryItem | Select Name
    
  3. Note name of the current item, such as Microsoft.AzureStackKubernetesCluster.0.3.0

  4. Use the following PowerShell cmdlet to remove the item:

    $Itemname="Microsoft.AzureStackKubernetesCluster.0.3.0"
    
    Remove-AzsGalleryItem -Name $Itemname
    

Next steps

Deploy a Kubernetes to Azure Stack

Overview of offering services in Azure Stack