Swiftorial Logo
Home
Swift Lessons
Matchups
CodeSnaps
Tutorials
Career
Resources

Kubernetes - Single Node Deployment

Introduction

Deploying Kubernetes on a single node is a great way to get started with Kubernetes for development and testing purposes. This guide provides a beginner-level overview of how to deploy Kubernetes on a single node using Minikube.

Key Points:

  • Single node deployments are ideal for development, testing, and learning Kubernetes.
  • Minikube is a popular tool for running a single-node Kubernetes cluster locally.
  • This guide covers the installation and basic usage of Minikube for single node deployments.

Prerequisites

Before you begin, ensure you have the following prerequisites:

  • A system with at least 2GB of RAM and 2 CPUs.
  • A hypervisor installed, such as VirtualBox, VMware, or Hyper-V.
  • kubectl installed on your system. You can install kubectl by following the instructions here.

Installing Minikube

Minikube is a tool that lets you run Kubernetes locally. Follow these steps to install Minikube:

# Download the latest Minikube release
curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64

# Install Minikube
sudo install minikube-linux-amd64 /usr/local/bin/minikube
                

For other operating systems, refer to the official Minikube installation guide.

Starting Minikube

Once Minikube is installed, you can start your single-node Kubernetes cluster:

# Start Minikube
minikube start
                

This command will download the necessary files and start a single-node Kubernetes cluster. The default hypervisor will be used unless specified otherwise.

Using Minikube

With Minikube running, you can interact with your Kubernetes cluster using kubectl:

# Verify the cluster status
kubectl cluster-info

# List all nodes in the cluster
kubectl get nodes
                

You can now deploy applications, create services, and explore Kubernetes features on your single-node cluster.

Deploying a Sample Application

To deploy a sample application, follow these steps:

# Create a deployment
kubectl create deployment hello-node --image=k8s.gcr.io/echoserver:1.4

# Expose the deployment as a service
kubectl expose deployment hello-node --type=NodePort --port=8080

# Get the URL of the service
minikube service hello-node --url
                

You can access the sample application by opening the URL provided by Minikube.

Stopping Minikube

When you are done with your single-node Kubernetes cluster, you can stop Minikube:

# Stop Minikube
minikube stop
                

This will shut down the Minikube virtual machine but preserve the state of your cluster. To delete the cluster entirely, use:

# Delete Minikube cluster
minikube delete
                

Conclusion

Deploying Kubernetes on a single node using Minikube is a straightforward way to get started with Kubernetes for development and testing purposes. By following the steps outlined in this guide, you can quickly set up a single-node Kubernetes cluster, deploy applications, and explore Kubernetes features. Happy experimenting!