Kubernetes is an enterprise-ready and fast-growing platform for enterprises looking for Cloud-Native and Multi-Cloud options to support their application requirements. Kubernetes is primarily deployed using the managed services provided by the leading cloud providers. Using Kubernetes managed by the cloud providers gives teams access to almost instant resources and enables teams to deploy Kubernetes without having to manage the Kubernetes Control Plane. This is a huge benefit, however, users still need to have a deep understanding of the cloud provider, networking, security, and Kubernetes.
Hands-On Deployment of Kubernetes
Each cloud provider currently supports different versions of Kubernetes, has its own unique process of managing version upgrades, and has its own implementation of Kubernetes, specifically in support of important features like networking, node management, and autoscaling. Understanding the intricacies of Kubernetes implementations for each of the cloud providers is vital in deploying a stable and secure environment.
The Ulap team has gained invaluable insights into how organizations currently deploy and operate their Kubernetes environments from years of interaction with these organizations. Organizations that are new to Kubernetes, traditionally try to deploy Kubernetes using the web user interface provided by the cloud provider. However, the team still needs to have expertise in configuring a secure and fault-tolerant cloud network that includes configuring cloud security, cloud logging, and cloud monitoring. Once the cluster is deployed, expertise is needed in monitoring and operating the Kubernetes and cloud environment.
Infrastructure As a Code (IAC) tools (eg. Terraform or Ansible) provide a more hands-on approach to orchestrate the configuration and deployment of a cloud environment and Kubernetes cluster using code. This approach, commonly known as DevOps or DevSecOps, enables teams to configure and version the specific cloud and Kubernetes configurations. In addition to needing deep expertise in cloud and Kubernetes, the team needs to be skilled in coding, code operations, and security. Challenges in finding resources with these skills often compels teams to leverage costly individuals from external organizations.
Deployment of Kubernetes with Ulap
Considering roadblocks that organizations face in deploying and operating Kubernetes clusters, the Ulap team has developed the Ulap Data Platform that enables any team with no special expertise in DevSecOps to securely deploy and operate Kubernetes clusters on their cloud of choice. The following tutorial guides you through the deployment of a secure and scalable Kubernetes cluster. Once the cluster is deployed, teams can quickly deploy open-source or custom applications to their Kubernetes cluster.
1) Pre-Requisites
This tutorial assumes that you have successfully configured your Ulap account and registered at least 1 cloud provider. If you need to create an Ulap account, please register here to create a free account.
2) Configure Your Ulap Workspace
After logging into your Ulap account, click on the persona selector icon in the top right corner and then click on the Developer & Data Scientist item in the dropdown list. This step confirms that you are in the developer and data scientist persona.
Next, create the workspace by clicking on the Create Workspace button as detailed in the screen below. A workspace will allow specific clusters and apps to be associated with specific team members.
When prompted, provide unique name for the workspace and select users from your organization to invite to the newly created workspace. You can add users to the workspace anytime.
Once created, you will be presented with the Dashboard screen, where you can select the newly created workspace.
3) Deploy Cluster in the Workspace
Now you can deploy your Kubernetes clusters, deploy applications, and interact with your cloud storage within your Ulap Workspace.
To start the Kubernetes cluster deployment, click on on the "Deploy / Attach a Cluster" link.
Click on the "Create New Cluster" Button
In the next screen, select the cloud provider where you want the new Kubernetes cluster to be deployed.
Once the target cloud provider is selected, provide unique name for your cluster. The Ulap deployment wizard will notify if the cluster name is not unique within your organization.
The next step is to select the Cluster Type. This feature allows users to select a generic cluster or a cluster pre-configured with a specific version of Kubeflow. For this tutorial, please select "Generic Cluster."
After selecting the cluster type, select the region where you want the Kubernetes cluster to be deployed. Ulap enables users to select all regions that are globally available and have at least 3 availability zones.
The next step is critical in defining the size of the cloud network configured for the Kubernetes cluster. For this tutorial, please select 1-5 applications.
The final step of the wizard is to review the values and to click the "deploy" button.
You will be prompted a final time, click create and the Kubernetes cluster deployment wizard will initialize the deployment.
After you click create, you will be redirected to the cluster home page. You will see that the state of the cluster is initializing. Over the next several minutes the state will progress through several deployment steps.
When the cluster deployment is complete and the Kubernetes cluster is available for application deployments, the state will display "Running"
In our next blog, we will walk you through the features available to monitor and operate the cluster.
Additional blogs will soon be published around how Ulap enables seamless deployment and operation of open source as well as custom applications.
If you are interested, please register for early access to Ulap Data Platform here.