常用 Kubernetes (K8s) 命令指南

Kubernetes(简称 K8s)是一个开源的容器编排平台,它可以自动化部署、扩展和管理容器化应用程序。为了有效地使用 Kubernetes,掌握常用的命令是必不可少的。在本文中,我们将介绍一些 Kubernetes 的常用命令,帮助你更高效地管理 Kubernetes 集群和资源。 kubectl version --client

如果你需要连接到集群,确保已经配置好 kubeconfig 文件,可以通过以下命令验证: kubectl config view

1. 环境准备

首先,确保你已经安装了 Kubernetes 和 kubectl 工具。kubectl 是与 Kubernetes 集群交互的命令行工具。你可以通过以下命令来检查 kubectl 是否已经安装并正常工作:

集群相关

查看集群健康状态

arduino 复制代码
kubectl get cs

核心组件运行情况

复制代码
kubectl cluster-info

查看表空间名

arduino 复制代码
kubectl get namespaces

查看版本

复制代码
kubectl version

查看API

复制代码
kubectl api-versions

查看事件

arduino 复制代码
kubectl get events

获取全部节点

arduino 复制代码
kubectl get nodes

删除节点

arduino 复制代码
kubectl delete node k8s2

查看所有deployment

sql 复制代码
kubectl get deployment --all-namespaces

查看所有svc

sql 复制代码
kubectl get svc --all-namespaces

Pod 相关

获取pod列表

arduino 复制代码
kubectl get -n {{namespace}} pods

查看详细信息

arduino 复制代码
kubectl get pod -o wide

查看所有pods

sql 复制代码
kubectl get pods --all-namespaces

查看pod日志

bash 复制代码
kubectl logs $POD_NAME

重启pod

arduino 复制代码
kubectl get pod {{podname}} -n {{namespace}} -o yaml | kubectl replace --force -f -

获取podlog

arduino 复制代码
kubectl edit -n {{namespace}} deployment {{deploymentname}}

Configmap相关

获取configmap

arduino 复制代码
kubectl get -n {{namespace}} configmap

修改configmap

arduino 复制代码
kubectl edit -n {{namespace}} configmap

创建

创建资源

bash 复制代码
kubectl create -f ./nginx.yaml

创建+更新

bash 复制代码
kubectl apply -f ./nginx.yaml

创建资源

lua 复制代码
kubectl create -f .

使用多个文件创建资源

bash 复制代码
kubectl create -f ./nginx1.yaml -f ./mysql2.yaml

使用 url 来创建资源

lua 复制代码
kubectl create -f https://git.io/vPieo

总结

掌握 Kubernetes 的常用命令可以显著提高你在管理集群和资源时的效率。本文涵盖了 Kubernetes 的一些基础命令,帮助你快速上手。随着你对 Kubernetes 的深入了解,还可以根据具体的需求探索更多高级命令和操作。

Kubernetes 是一个非常强大且灵活的容器编排平台,通过掌握它的基本命令,你可以更高效地管理和操作 Kubernetes 集群,提高应用的部署和维护效率。

相关推荐
JaguarJack14 小时前
别再用 PHP 动态方法调用了!三个坑让你代码难以维护
后端·php
计算机小手14 小时前
推荐一个 GitHub 开源项目信息卡片生成工具,支持Docker快速部署和API调用
经验分享·docker·github·开源软件
mudtools14 小时前
打造.NET平台的Lombok:实现构造函数注入、日志注入、构造者模式代码生成等功能
后端·.net
ssshooter14 小时前
GitHub 删除无法访问的 mention
github
江上月51314 小时前
django与vue3的对接流程详解(下)
后端·python·django
Cikiss14 小时前
图解 bulkProcessor(调度器 + bulkAsync() + Semaphore)
java·分布式·后端·elasticsearch·搜索引擎
Mintopia14 小时前
Next.js 与 Serverless 架构思维:无状态的优雅与冷启动的温柔
前端·后端·全栈
mudtools15 小时前
.NET驾驭Word之力:基于规则自动生成及排版Word文档
后端·.net
LL_break15 小时前
线程1——javaEE 附面题
java·开发语言·面试·java-ee
王中阳Go15 小时前
面试官:“聊聊最复杂的项目?”90%的人开口就凉!我面过最牛的回答,就三句话
java·后端·面试