SUSE Rancher and Shipa – Better Together: Kubernetes Developer Experience

Share
Share

 

Shipa recently joined the SUSE One Partner Program family and we’ve invited them to author a guest blog on how you could improve the Kubernetes developer experience and engineering efficiency with Shipa Cloud and SUSE Rancher.  ~Vince

 

The march towards Kubernetes is certainly a journey for many organizations. Kubernetes as a platform allows for application teams and platform engineering teams to have a common syntax to achieve their goals. As more workloads of substance and importance are placed on Kubernetes, the system/platform engineering teams are there to ensure the availability and reliability of Kubernetes clusters to ensure the workloads from application teams get placed and there is sufficient capacity to scale/handle failures.

SUSE Rancher is a first-class platform for orchestrating and managing Kubernetes clusters. At a Kubernetes infrastructure level, being able to dig into the moving parts of the clusters and when needed spin up or spin down Kubernetes nodes/clusters. From an application developer prospectus, there are a lot of concepts to learn from writing your feature to getting that feature deployed eventually into Kubernetes such as networking complexities. This is where Shipa steps in helping create an excellent developer experience with Application-as-Code or AaC focusing on the application itself.

The following example will be showing how SUSE Rancher and Shipa can be better together leveraging Shipa Cloud. You can sign up for free for a Shipa Cloud account to get started. The Shipa Setup would be similar to what a platform/DevOps engineer would create to allow a developer or CI/CD system to interact.

 

Getting Started

In this example, we are leveraging a single Amazon EKS Cluster. The SUSE Rancher Server will be hosted on the EKS Cluster and Shipa Cloud will connect also to the EKS Cluster. Eventually, a deployment will be made to the SUSE Rancher EKS managed cluster from Shipa Cloud.

Installing SUSE Rancher is straightforward from the EKS Installation documentation. One consideration if you are starting from scratch, is that Shipa does expect Cert Manager which is one option for the SUSE Rancher installation. There would be a synergy there to have one Cert Manager installed during the SUSE Rancher installation.

Cert Manager Installation:

kubectl apply -f https://github.com/jetstack/cert-manager/releases/download/v1.5.4/cert-manager.yaml

You could also deploy Shipa directly through the SUSE Rancher Apps & Marketplace, which uses our helm chart published on the SUSE Rancher Github.

With the SUSE Rancher installation out of the way or an existing SUSE Rancher installation, time to head to Shipa.

 

Getting Started with Shipa Cloud

Please feel free to also check this short video we have put together which walks you through your first Shipa Cloud deployment.

When you first login to Shipa Cloud, you are presented with a blank canvas. Shipa works off a concept of Frameworks which is the lifeblood of your developer experience. Frameworks are a logical definition of controls and policies that are applied to your applications.

To create your first Shipa Framework, head to Frameworks then + Create Framework then Basic view.

This Framework will be very basic. Can give a name of “acmeinc” and select the default plan [resource limits] and teams [rbac] that were generated when you signed up for Shipa Cloud e.g shipa-plan and shipa-team for the example.

Click Create and the Framework will be created.

To take a look at the power that a Shipa Framework provides, can dig into all that was laid down for you by clicking on the update icon.

The default settings are great to get you started. Though can further tweak to your needs or to experiment.

With the Framework out of the way, now you can add your EKS Cluster to Shipa Cloud.

 

Adding Your Kubernetes Cluster to Shipa Cloud

Shipa Cloud will need a few details about your Kubernetes Cluster to get started. Shipa will need your Kubernetes API address, account token, and a CA cert. Shipa will also need an Ingress Controller; today Traefik and Istio are supported. If your EKS cluster does not have one of those Ingress Controllers, can install one before adding the EKS Cluster to Shipa. In this example, will be using Helm to install Traefik.

helm repo add traefik https://helm.traefik.io/traefik

helm repo update

helm install traefik traefik/traefik

Now you are all set to add the EKS Cluster to Shipa Cloud.

Clusters -> + Add Cluster. Can give a name “ranchereks” and select the Framework you created earlier “acmeinc”.

Click next and then you can fill out the Cluster Connection information.

 

First, grab your Kubernetes API address. If using EKS, can also see that in the AWS dashboard.

kubectl cluster-info | grep ‘Kubernetes’ | awk ‘/http/ {print $NF}’

In the Shipa Documentation, is the service account manifest that is needed to create a service account for Shipa to use.

kubectl apply -f shipa-admin-service-account.yaml

With the service account created, grab the Token.

kubectl -n kube-system describe secret $(kubectl -n kube-system get secret | grep shipa-admin | awk ‘{print $1}’)

Lastly, grab the CA certificate for the service account.

kubectl get secret $(kubectl get secret | grep default-token | awk ‘{print $1}’) -o jsonpath='{.data.ca\.crt}’ | base64 –decode

With those pieces of information, you can now fill them into the UI.

Once you click Next, can use the default Ingress Controller configuration and hit create.

In a few moments, the cluster should be added to Shipa Cloud.

Can crack open what has been deployed so far in SUSE Rancher as a bonus.

Now you are ready to deploy an application.

 

Deploying Your First Application with Shipa

Shipa has the ability to plug into a host of GitOps and CI/CD tools and act as a policy controller. In this simple example, we will just deploy with Shipa itself as an Application. We will be deploying a WordPress Image.

Applications -> + Create Application. Can name the application “wordpress” and select the Framework you created earlier “acmeinc” and the default team “shipa-team”.

Click Create and now you are ready to deploy.

Click into wordpress then on the deploy icon.

Can set the deployment source as a public registry and the image name as “docker.io/wordpress”.

Click Submit and your application is off to being deployed. You can click into the Application Map and can see all of the prudent resources as a developer that would find helpful in helping navigate their application on Kubernetes.

The map generated:

Shipa can also create an endpoint for the application on your behalf. One was generated here and can see that under the Application Details.

Copy and paste the endpoint into your browser and you are done!

Can navigate back to SUSE Rancher and look at the infrastructure-related data on the application.

Certainly a lot of the art of the possible with both platforms working together.

 

SUSE Rancher and Shipa – Better Together

There is no question that the Kubernetes journey and ecosystem is a complex one. Developer experience and engineering efficiency are top of mind for many firms. As platform engineering teams look to simplify onboarding experiences for developers, Shipa is a great fit to pair with SUSE Rancher. Shipa provides a developer-centric view of the application and paired with SUSE Rancher’s platform view, a great match.

To learn more about how Shipa and SUSE can help you solve developer experience and engineering efficiency challenges, visit our website for more information or get in touch with the Shipa team. You could also contact your SUSE Rancher sales representative. We look forward to talking to you!

 

Author:

Ravi Lachhman is the Field CTO at Shipa. Prior to Shipa, Ravi was an Evangelism Leader / Chief Architect at Harness. Ravi has held various sales and engineering roles at AppDynamics, Mesosphere, Red Hat, and IBM helping commercial and federal clients build the next generation of distributed systems. Ravi is obsessed with Korean BBQ and will travel for food.

Share
(Visited 1 times, 1 visits today)
Vince Matev
476 views
Vince Matev

Partner Alliance Manager at SUSE.
18 years of experience in building and managing high performance sales, business development, partner management, and product management teams. Avid learner. There is no spoon.