Kubernetes Pod Cheatsheet

Introduction

This article is here to guide you on using Pod in Kubernetes. I'll give you some concepts and commands that Kubernetes often uses to handle Pod.


Pod Introduction

A Pod is the smallest deployable unit in Kubernetes. Here are some key points about Pods:

  • Multiple Containers: A Pod can contain more than one container, and there's no limit to how many containers you can run inside a Pod. These containers are relatively tightly coupled and share resources such as disk.
  • Shared Resources: All the containers inside a Pod are connected via localhost and share the same memory space. They also share storage (volumes), IP address, and configuration information.
  • Unique IP Address: Each Pod gets a unique IP address.
  • Ephemeral Nature: Pods are ephemeral in nature; they can be created, deleted, and updated.

Prerequisites

Before we begin, make sure you have the following:

  • For Kubernetes systems, you can use minikube or have permissions to provision resources on cloud providers like Google, Amazon, Azure, etc.
  • You need permission to create a cluster or access an existing one.
  • In this guide, I'll be using Google Cloud Provider. If you're using the same provider, it'll be easier to follow along.
  • If you haven't installed gcloud and kubectl yet, refer to this guide for installation instructions, project setup, and cluster creation


Kubernetes commands

First, create a file named deployment.yml with the following content:

apiVersion: v1
kind: Pod
metadata:
name: nginx
spec:
containers:
- name: nginx
image: nginx
ports:
- containerPort: 80

In the `kind` section, I'm defining a Pod named `nginx`. The `spec` section specifies the container to run, which is the `nginx image`, and this container will use port 80.


To create this Pod, execute the following command:

# only create, throw error if existed
kubectl create -f deployment.yaml

# recommand, create if not exist, update for existed
kubectl apply -f deployment.yml


To list the existing Pods, use the following command:


To run a shell inside the Pod, use this command:


Inside the nginx container, you can use nginx features as needed.

To exit shell mode, use the `exit` command.


To view the logs of the Pod, use the following command:


To get detailed information about the Pod, use this command:


To forward a port from Kubernetes to localhost, use the following command:

kubectl port-forward po/{po name} {localhost port}:{container port}



Access by browser

To delete a Pod, use the following command:

kubectl delete po nginx

# clear all resource of k8s manifest
kubectl delete -f deployment.yml



Conclusion

In this article, I've introduced some basic concepts and provided a few simple commands commonly used for managing Pods in Kubernetes. If you have any suggestions or questions regarding the content of the article, please don't hesitate to leave a comment below!

Comments

Popular posts from this blog

Kubernetes Practice Series

NodeJS Practice Series

Docker Practice Series

React Practice Series

Sitemap

Setting up Kubernetes Dashboard with Kind

Deploying a NodeJS Server on Google Kubernetes Engine

DevOps Practice Series

Create API Gateway with fast-gateway

A Handy Guide to Using Dynamic Import in JavaScript