Create a Kubernetes Release

An overview of why it makes sense to ship Replicated with your Kubernetes application

Create and Ship a Release

When starting and learning the Replicated platform, the Vendor Portal will be the place you spend most of your time. This guide is designed to help you get familiar with the concepts and ideas that are important to successfully ship your application on Replicated. If you get stuck or need help, head to our community.

This guide will deploy one of the canonical Kubernetes applications using Replicated, and then iterate on it to ship an update. The guide isn’t going to teach Kubernetes, but will start with a working Kubernetes application (Guestbook all-in-one example).

Create a New Application

To start, log in (or create an account) on vendor.replicated.com and create a new application. After signing up and activating your account, you will be prompted to create a new application. Give it a name like “Kubernetes Guestbook Example”, select the “Kubernetes + Replicated” option, and click “Create application”.

Create Application

Releases

You’ll should be at the channels page now. This is a list of your release channels, which are logical stacks for you to stage and promote releases to your customers. We’ll explore this in more detail later. For now, click on the Releases item on the left menu and then click the “Create a release” button.

Create Release

Create a Release

You should now see a YAML editor where you can define how you application will work and the integration with Replicated functionality. Once you are familiar with this concepts, you’ll probably use our CLI and API to automate this and not manually edit YAML in this site. But for now, let’s continue by adding the Guestbook example.

Default YAML

The default YAML document you have contains some boilerplate Replicated settings, and no Kubernetes specs. A Replicated release is a multi-doc YAML file, where each document is separated with a --- line. The first line in each document must be a comment that identifies the type “kind” of document that is included. At the bottom of the default YAML file, you should see an empty document that contains:

---
# kind: scheduler-kubernetes

#
# Deploying your application via Kubernetes
# https://help.replicated.com/docs/packaging-an-application/kubernetes/
#

The first 2 lines of this are Replicated specific, and cannot be changed. But below this, let’s paste in the Guestbook application YAML. The example YAML contains a few different Kubernetes specs, each identifies with a --- separator. We need to include the # kind: scheduler-kubernetes directive below each separator. For reference, the fully constructed YAML is available.

Save and Promote Release

Next, click the Save Release button. Once the release is saved, we should promote it to the Unstable channel to make this release available for installation. To do this, click the “< Releases” link in the top left and then click the Promote button on the row we just created. In this popup, choose the Unstable channel and click the Promote button.

Create Application

That’s all there is to creating and promoting a release in Replicated using Kubernetes.

In the next guide, we’ll walk through creating a license and installing Kubernetes and the guestbook application on a test server.