当前位置: 首页 > news >正文

k8s笔记03-常用操作命令

Kubernetes(K8s)核心命令与CKA考试重点笔记

一、K8s命令的重要性与CKA考试关联

1. 命令在CKA考试中的占比

  • CKA考试共17道题,其中11道题可通过K8s命令+Linux基础命令直接完成(无需编写YAML),6道题需结合K8s命令与资源对象配置完成。
  • 熟练掌握核心命令是通过CKA考试的关键,需优先攻克高频命令的用法与场景。

2. K8s命令体系

K8s操作以kubectl命令为核心,辅以少量Linux基础命令,kubectl命令可分为7大类,其中标红部分为CKA考试必掌握命令

  • 基本命令(增删改查核心操作)
  • 部署命令(应用部署与更新)
  • 集群管理命令(节点、资源管理)
  • 故障排除与调试命令(日志、容器交互)
  • 高级命令(滚动更新、扩缩容)
  • 设置命令(标签、注解配置)
  • 其他命令(API查询、配置查看)

二、kubectl命令基础格式与帮助查询

1. 基本格式

所有kubectl命令均遵循统一结构,语法如下:

kubectl [操作命令] [资源类型] [资源名称] [可选参数]
  • 操作命令:如create(创建)、get(查询)、delete(删除);
  • 资源类型:如pod(可简写为po)、service(可简写为svc)、deployment(可简写为deploy);
  • 可选参数:如-n(指定命名空间)、-o(指定输出格式)、--port(指定端口)。

2. 帮助查询(高频考点)

通过以下命令查看kubectl所有命令分类与用法,考试中可快速检索遗忘命令:

# 查看kubectl完整帮助文档
kubectl -h
# 查看特定命令的详细用法(如get命令)
kubectl get -h
  • 帮助文档将命令分为“初学者命令”“进阶部署命令”“故障排除命令”等类别,与实际考试场景高度匹配。

三、kubectl核心命令实操(CKA必掌握)

1. 基本命令:增删改查(高频必考)

(1)创建资源:kubectl create / kubectl run

用于创建Pod、Service等资源,支持“通过YAML文件创建”和“直接命令行创建”两种方式。

操作场景命令示例说明
通过YAML文件创建Podkubectl create -f nginx-pod.yaml需提前编写YAML配置文件,适用于复杂资源定义
直接命令行创建Podkubectl run nginx-pod --image=nginx:1.14.2快速创建单容器Pod,--image指定镜像版本
预生成YAML模板(不实际创建)kubectl run nginx-pod --image=nginx:1.14.2 --dry-run=client -o yaml > nginx-pod.yaml--dry-run=client仅生成模板不执行,-o yaml指定输出为YAML格式,用于快速生成配置文件
(2)查询资源:kubectl get

最常用命令,用于查看资源的运行状态、IP、端口等信息,支持多种输出格式。

操作场景命令示例说明
查看所有Pod(默认命名空间)kubectl get pods(或简写kubectl get po显示Pod名称、就绪状态、重启次数、运行时间
查看指定命名空间的Podkubectl get po -n kube-system-n kube-system指定命名空间为kube-system(系统命名空间)
查看Pod详细信息(宽格式)kubectl get po -o wide额外显示Pod的IP地址、调度节点(Node)
查看Pod的YAML配置kubectl get po nginx-pod -o yaml显示资源的完整YAML定义,用于排查配置问题
查看Service(简写)kubectl get svc查看所有Service的名称、类型、集群IP、端口
(3)更新资源:kubectl set / kubectl edit

用于修改已创建资源的配置(如镜像版本、资源限制)。

操作场景命令示例说明
修改Pod的镜像版本kubectl set image pod nginx-pod nginx-pod=nginx:1.16.1格式:kubectl set image [资源类型] [资源名称] [容器名]=[新镜像]
直接编辑资源YAMLkubectl edit pod nginx-pod打开默认编辑器(如vi)修改YAML配置,保存后自动生效,适用于复杂配置修改
(4)删除资源:kubectl delete

用于删除Pod、Service、Deployment等资源,支持按名称或YAML文件删除。

操作场景命令示例说明
删除指定Podkubectl delete pod nginx-pod按资源名称删除,立即终止Pod
删除指定Servicekubectl delete svc nginx-svc删除Service,断开后端Pod的访问入口
通过YAML文件删除资源kubectl delete -f nginx-pod.yamlcreate -f对应,删除YAML文件定义的资源
删除所有Pod(谨慎使用)kubectl delete pod --all删除当前命名空间下的所有Pod,测试环境常用

2. 部署命令:服务暴露与实例管理

(1)暴露Service:kubectl expose

将Pod的端口暴露为Service,实现Pod的外部访问与负载均衡,是“服务发现”能力的核心命令。

命令示例

# 为nginx-pod暴露Service,Service端口80,映射到Pod的80端口
kubectl expose pod nginx-pod --port=80 --target-port=80 --name=nginx-svc
  • --port:Service对外暴露的端口(集群内访问端口);
  • --target-port:Pod内部的容器端口(需与Pod的containerPort一致);
  • --name:指定Service的名称(如nginx-svc)。

验证结果

# 查看创建的Service,确认端口映射
kubectl get svc nginx-svc

3. 故障排除与调试命令(CKA重点)

(1)查看资源详情:kubectl describe

用于查看资源的详细状态(如事件、容器日志、挂载信息),是排查Pod启动失败、Service绑定异常的核心命令。

命令示例

# 查看nginx-pod的详细信息(含事件日志)
kubectl describe pod nginx-pod
  • 关键信息:Events(事件日志,如“镜像拉取失败”“调度失败”)、Containers(容器状态、镜像信息)、Volumes(存储挂载情况)。
(2)查看容器日志:kubectl logs

查看Pod内容器的运行日志,用于排查应用业务逻辑错误。

命令示例

# 查看nginx-pod的日志
kubectl logs nginx-pod
# 实时查看日志(类似tail -f)
kubectl logs nginx-pod -f
# 查看多容器Pod中指定容器的日志(如容器名为"app")
kubectl logs nginx-pod -c app
(3)进入容器交互:kubectl exec

进入运行中的Pod容器内部,执行命令(如查看文件、测试网络),是调试容器内应用的关键命令。

命令示例

# 进入nginx-pod的容器,启动bash终端
kubectl exec -it nginx-pod -- /bin/bash
  • -it-i(保持标准输入打开)+ -t(分配伪终端),缺一不可;
  • --:分隔kubectl命令与容器内命令,后面跟容器内要执行的命令(如/bin/bash)。

容器内常用操作

# 查看容器内文件
ls /usr/share/nginx/html
# 测试网络连通性
ping baidu.com
# 查看容器内进程
ps aux

四、CKA考试命令使用技巧

  1. 资源类型简写:考试中使用简写可节省时间,常见简写如下:

    • podposervicesvcdeploymentdeploynamespacens
    • 示例:kubectl get po(替代kubectl get pods)。
  2. 输出格式选择

    • 快速查看状态用默认格式(kubectl get po);
    • 需IP、节点信息用宽格式(-o wide);
    • 需配置详情用YAML格式(-o yaml)。
  3. 命名空间指定

    • 考试中部分题目指定命名空间(如dev),需在命令后加-n dev,避免操作默认命名空间导致失分;
    • 示例:kubectl get po -n dev
  4. 命令补全(可选配置)
    考试环境若支持,可开启kubectl命令补全,提升输入效率:

    # 临时开启(当前终端有效)
    source <(kubectl completion bash)
    # 永久开启(需重启终端)
    echo "source <(kubectl completion bash)" >> ~/.bashrc
    

五、总结

  1. 核心优先级kubectl get/create/delete/expose/describe/logs/exec是CKA考试高频命令,需做到“无文档熟练输入”;
  2. 实操为王:命令需结合实际场景练习(如创建Pod→暴露Service→查看日志→删除资源),避免死记硬背;
  3. 考试技巧:善用kubectl -h查询帮助,优先使用简写与指定输出格式,确保命令执行效率与准确性。

通过以上命令的熟练掌握,可覆盖CKA考试中70%以上的操作型题目,为证书获取奠定核心基础。

http://www.xdnf.cn/news/1364473.html

相关文章:

  • vite 项目创建、插件配置
  • JBL音响代理——河北正娱科技的声学精品工程
  • 智慧城市SaaS平台/交通设施运行监测系统之桥梁运行监测、城市道路塌陷风险运行监测系统架构内容
  • 网络编程--TCP/UDP Socket套接字
  • 验证码流程
  • 【AI解读源码系列】ant design mobile——Space间距
  • 京东API分类接口实战指南:获取各类商品信息
  • 【大模型本地运行与部署框架】Ollama的API交互
  • Spring拦截器中@Resource注入为null的问题
  • PAT乙级_1120 买地攻略_Python_AC解法_含疑难点
  • 6.3Element UI 的表单
  • 【python断言插件responses_validator使用】
  • 分布式系统与单机系统的优劣势对比
  • Reachability Query
  • Linux系统编程——进程 | 线程
  • 直播美颜SDK技术解析:人脸美型功能的算法原理与实现方案
  • TCP与HTTP协议以及爬虫
  • 如何在Debian服务器上设置Node.js日志轮转
  • cs61a中的递归小例子
  • 创建高效MCP客户端:多服务器环境解决方案指南
  • 决策树原理与 Sklearn 实战
  • Hadoop MapReduce Task 设计源码分析
  • 【C++高并发内存池篇】ThreadCache 极速引擎:C++ 高并发内存池的纳秒级无锁革命!
  • 【目标跟踪】《FastTracker: Real-Time and Accurate Visual Tracking》论文阅读笔记
  • 论文阅读:Code as Policies: Language Model Programs for Embodied Control
  • uniapp中加载.urdf后缀的3D模型(three.js+urdf-loader)
  • 最新刀客IP地址信息查询系统源码_含API接口_首发
  • CAN总线详解(四)CANFD报文结构
  • 引脚电平异常?以下或许是原因
  • 十九、云原生分布式存储 CubeFS