

Master day-to-day Kubernetes operations: A useful guide to kubectl commands for software engineers
Mastering the kubectl command is essential for efficient management of Kubernetes clusters. While it may seem daunting at first, these commands will become second nature with regular use. The commands listed above are just the tip of the iceberg; kubectl offers many more commands and options to explore.
kubectl is a command line interface for running commands against a Kubernetes cluster and is an important tool for any software engineer working with Kubernetes. It provides a large number of commands, each with its own set of options, making it a powerful tool for managing and troubleshooting Kubernetes environments. This article aims to shed light on some of the most useful commands used by kubectl software engineers in daily operations.
1. Check the cluster status
Before starting any operation, it is important to obtain the status of the cluster. Here are some commands that can help you do this:
kubectl cluster-info: This command provides basic information about the cluster and its main services.
kubectl get nodes: This command lists all nodes available to host the application.
2. Using Pod
Pod is the smallest deployable unit in Kubernetes. The following command helps manage them:
kubectl get pods: This command lists all Pods in the default namespace.
kubectl describe pod [pod-name]: Get detailed information about a specific Pod, including events and status
kubectl logs [pod- name]: This command displays the logs of the specified Pod, which is helpful for debugging.
kubectl exec -it [pod-name] -- /bin/bash: This command opens an interactive shell within the specified Pod, useful for debugging and inspection.
3. Using Deployment
Deployment is a higher-level concept for managing Pods. Here are some useful commands for handling deployments:
kubectl get deployments: This command lists all deployments in the default namespace.
kubectl describe deployment [deployment-name]: This command provides detailed information about a specific deployment.
kubectl scale deployment [deployment-name] --replicas=[number-of-replicas]: This command helps scale a deployment by increasing or decreasing the number of replicas.
kubectl rollout status deployment [deployment-name]: This command displays the status of the deployment.
4. Using Services
A service is an abstract way of exposing an application that runs on a set of Pods. The following command can be used to manage services:
kubectl get services: This command lists all services in the default namespace.
kubectl describe service [service-name]: This command provides detailed information about a specific service.
kubectl expose deployment [deployment-name] --type=NodePort --name=[service-name]: This command exposes the deployment as a service, making it available within the cluster or Access from the Internet.
5. Using ConfigMap and Secrets
ConfigMap and Secrets are Kubernetes objects that allow you to separate your application's configuration from your code. Here are some commands to help manage them:
kubectl get configmaps: This command lists all ConfigMap in the default namespace.
kubectl get secrets: This command lists all secrets in the default namespace.
kubectl create configmap [configmap-name] --from-file=[path-to-file]: This command creates a new ConfigMap from a file.
kubectl create secret generic [secret-name] --from-literal=key=value: This command creates a new secret.
6. Debugging and Troubleshooting
Kubernetes provides several commands to help find and correct problems:
kubectl top node: This command displays the CPU and memory usage of each node, which is useful for identifying nodes with higher load.
kubectl top pod: This command displays the CPU and memory usage of each Pod, which is useful for identifying Pods that use a lot of resources.
kubectl get events --sort-by=.metadata.creationTimestamp: This command lists all events in the default namespace, sorted by creation time. This helps identify issues that may have recently occurred in the cluster.
7. Cleanup
Kubernetes provides a command to clean up resources:
kubectl delete pod [pod-name]: This command deletes the specified Pod.
kubectl delete deployment [deployment-name]: This command deletes the specified deployment.
kubectl delete service [service-name]: This command deletes the specified service.
kubectl delete all --all: This command deletes all resources in the default namespace. Be careful with this one!
8. Using namespaces
Namespaces are used in environments where many users are spread across multiple teams. Here are some commands related to managing them:
kubectl get namespaces: List all namespaces in the cluster
kubectl create namespace [ namespace-name]: Create a new namespace
-
kubectl config set-context --current --namespace=[namespace-name]: Change the namespace of the current context
9. Managing persistent volumes
Persistent volumes provide a way for Pods to store data. Here are some commands to use them:
kubectl get pv: List all persistent volumes
kubectl describe pv [volume-name]: Provides detailed information about a specific volume
kubectl get pvc: Lists all persistent volume claims, which are user requests for storage
10. Processing Node
Node is a working machine in Kubernetes and an important part of the system. The following are some node-related commands:
kubectl cordon [node-name]: Mark the node as unschedulable and prevent new Pods from being scheduled on the node
kubectl uncordon [node-name]: Remove the unschedulable mark on the node, allowing new pods to be scheduled on the node
kubectl drain [node-name ]: Drain the node in preparation for maintenance
11. Resource quotas and limit ranges
These commands are useful for managing the consumption of computing resources:
kubectl get quota: List all resource quotas under the current namespace
kubectl describe limitrange [limit-range-name]: Provide information about Details of specific restricted scopes
12. Accessing API objects
These commands allow you to access raw API objects:
kubectl api-resources: List all available API resources on the server
kubectl explain [resource]: Provide documentation for resources
Conclusion
Mastering the kubectl command is essential for efficient management of Kubernetes clusters. While it may seem daunting at first, these commands will become second nature with regular use. The commands listed above are just the tip of the iceberg; kubectl offers many more commands and options to explore. Remember, the flexibility of the kubectl command makes it an important tool for any software engineer working with Kubernetes. The commands listed in this guide are only a subset of kubectl's capabilities. To explore more commands, you can always refer to the official Kubernetes documentation or use the kubectl help command.
The above is the detailed content of Master day-to-day Kubernetes operations: A useful guide to kubectl commands for software engineers. For more information, please follow other related articles on the PHP Chinese website!

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics











As the scale of the Internet continues to expand and user needs continue to increase, the advantages of microservice architecture are receiving more and more attention. Subsequently, the containerized microservice architecture has become particularly important, which can better meet the needs of high availability, high performance, high scalability and other aspects. Under this trend, go-zero and Kubernetes have become the most popular containerized microservice frameworks. This article will introduce how to use the go-zero framework and Kubernetes container orchestration tools to build high-availability, high-performance

With the rapid development of the Internet, more and more enterprises have begun to migrate their applications to cloud platforms. Docker and Kubernetes have become two very popular and powerful tools for application deployment and management on cloud platforms. Beego is a web framework developed using Golang. It provides rich functions such as HTTP routing, MVC layering, logging, configuration management, Session management, etc. In this article we will cover how to use Docker and Kub

How to build reliable containerized applications using React and Kubernetes With the rapid development of cloud native technology, containerized applications have become a hot trend in software development today. As a popular front-end framework, React's flexibility and efficiency make it the first choice for many developers. This article will introduce how to build reliable containerized applications using React and Kubernetes, and provide some specific code examples. Creating a React application First, we need to create a basic React

Kubernetes is a modern container orchestration system. Its strong scalability and reliability are undoubtedly very important for development and operation and maintenance personnel. One of the key applications is Redis. As a combination of high-performance cache and database, the application of Redis in Kubernetes has attracted more and more attention. This article will introduce the application of Redis in Kubernetes in detail, and use practical cases to explain how to deploy, manage, and monitor Redis on the Kubernetes platform.

With the rapid development of cloud computing and containerization technology, Kubernetes has become the most mainstream cloud-native application management platform today. In the world of Kubernetes, web programming languages like PHP can also be easily applied. This article will introduce how to use Kubernetes technology in PHP applications, allowing you to better utilize the features of Kubernetes to accelerate application development and deployment. 1. What is Kubernetes? Kubernetes is an open source

How to use Java to develop a container orchestration application based on Spring Cloud Kubernetes. With the development and widespread application of container technology, container orchestration tools have become an indispensable part of developers. As one of the most popular container orchestration tools, Kubernetes has become the industry standard. In this context, combining Spring Cloud and Kubernetes, we can easily develop applications based on container orchestration. This article will introduce in detail

In recent years, Kubernetes and Istio have become two indispensable tools for cloud native applications. Kubernetes is a container orchestration tool that helps users automatically deploy, expand and manage containerized applications, while Istio is a service mesh that enables users to better manage and monitor microservice architectures. In this article, we will introduce how to implement a service mesh using Kubernetes and Istio in the Beego framework. First, we need to configure the Kubernete

With the rapid development of cloud computing technology, containerization has become one of the important means for cloud computing technology to achieve automated and efficient management. Among them, Kubernetes, as a leading container orchestration platform, provides comprehensive solutions for the management, deployment, and scaling of containerized applications. In the development of Vue applications, how to use Kubernetes for container orchestration is also a topic worth discussing. 1. Basic concepts of Kubernetes Kubernetes is an open source container orchestration platform