K8S速查&快速复习

1163 字
6 分钟
K8S速查&快速复习
2026-05-07
浏览量 加载中...

核心组建#

Kubernetes:生产级别的容器编排系统 Kubernetes 是一个可移植、可扩展的开源平台,用于管理容器化的工作负载和服务,方便进行声明式配置和自动化。Kubernetes 拥有一个庞大且快速增长的生态系统,其服务、支持和工具的使用范围广泛。

Master#

Terminal window
kubectl cluster-info

Node#

Terminal window
kubectl get nodes

pod#

  • pod是K8S最小调度单元,是一个或者多个容器的组合
  • 当pod发生故障时,系统会自动销毁并重新创建

命令行创建名字为nginx的Pod

Terminal window
kubectl run nginx --image=nginx

删除名字为nginx的Pod

Terminal window
kubectl delete pod nginx

svc#

  • 可以将一组pod封装成一个服务进行管理(ip地址)

创建 查看 修改 删除

svc种类#

ClusteriP:默认类型,集群内部的服务 NodePort:节点端口类型,将服务公开到集群节点上 LoadBalancer:负载均衡类型,将服务公开到外部负载均衡器上 ExternalName:外部名称类型,将服务映射到一个外部域名上 Headless:无头类型,主要用于DNS解析和服务发现

ingress#

  • 配置转发规则(比如域名、ssl证书)
  • 国企内网不怎么用,pass

cm(configmap)#

  • 程序配置信息

vol#

  • 卷,持久化存储

deployment#

  • 定义管理应用程序的副本数量
  • 应用程序更新策略

创建 查看 修改 删除

架构#

架构
架构

命令行速查#

基础使用#

Terminal window
# 查看帮助
kubectl --help
# 查看API版本
kubectl api-versions
# 查看集群信息
kubectl cluster-info

资源的创建和运行#

Terminal window
# 创建并运行一个指定的镜像
kubectl run NAME --image=image [params...]
# e.g. 创建并运行一个名字为nginx的Pod
kubectl run nginx --image=nginx
# 根据YAML配置文件或者标准输入创建资源
kubectl create RESOURCE
# e.g.
# 根据nginx.yaml配置文件创建资源
kubectl create -f nginx.yaml
# 根据URL创建资源
kubectl create -f https://k8s.io/examples/application/deployment.yaml
# 根据目录下的所有配置文件创建资源
kubectl create -f ./dir
# 通过文件名或标准输入配置资源
kubectl apply -f (-k DIRECTORY | -f FILENAME | stdin)
# e.g.
# 根据nginx.yaml配置文件创建资源
kubectl apply -f nginx.yaml

查看资源信息#

Terminal window
# 查看集群中某一类型的资源
kubectl get RESOURCE
# 其中,RESOURCE可以是以下类型:
kubectl get pods / po # 查看Pod
kubectl get svc # 查看Service
kubectl get deploy # 查看Deployment
kubectl get rs # 查看ReplicaSet
kubectl get cm # 查看ConfigMap
kubectl get secret # 查看Secret
kubectl get ing # 查看Ingress
kubectl get pv # 查看PersistentVolume
kubectl get pvc # 查看PersistentVolumeClaim
kubectl get ns # 查看Namespace
kubectl get node # 查看Node
kubectl get all # 查看所有资源
# 后面还可以加上 -o wide 参数来查看更多信息
kubectl get pods -o wide
# 查看某一类型资源的详细信息
kubectl describe RESOURCE NAME
# e.g. 查看名字为nginx的Pod的详细信息
kubectl describe pod nginx

资源的修改、删除和清理#

Terminal window
# 更新某个资源的标签
kubectl label RESOURCE NAME KEY_1=VALUE_1 ... KEY_N=VALUE_N
# e.g. 更新名字为nginx的Pod的标签
kubectl label pod nginx app=nginx
# 删除某个资源
kubectl delete RESOURCE NAME
# e.g. 删除名字为nginx的Pod
kubectl delete pod nginx
# 删除某个资源的所有实例
kubectl delete RESOURCE --all
# e.g. 删除所有Pod
kubectl delete pod --all
# 根据YAML配置文件删除资源
kubectl delete -f FILENAME
# e.g. 根据nginx.yaml配置文件删除资源
kubectl delete -f nginx.yaml
# 设置某个资源的副本数
kubectl scale --replicas=COUNT RESOURCE NAME
# e.g. 设置名字为nginx的Deployment的副本数为3
kubectl scale --replicas=3 deployment/nginx
# 根据配置文件或者标准输入替换某个资源
kubectl replace -f FILENAME
# e.g. 根据nginx.yaml配置文件替换名字为nginx的Deployment
kubectl replace -f nginx.yaml

调试和交互#

Terminal window
# 进入某个Pod的容器中
kubectl exec [-it] POD [-c CONTAINER] -- COMMAND [args...]
# e.g. 进入名字为nginx的Pod的容器中,并执行/bin/bash命令
kubectl exec -it nginx -- /bin/bash
# 查看某个Pod的日志
kubectl logs [-f] [-p] [-c CONTAINER] POD [-n NAMESPACE]
# e.g. 查看名字为nginx的Pod的日志
kubectl logs nginx
# 将某个Pod的端口转发到本地
kubectl port-forward POD [LOCAL_PORT:]REMOTE_PORT [...[LOCAL_PORT_N:]REMOTE_PORT_N]
# e.g. 将名字为nginx的Pod的80端口转发到本地的8080端口
kubectl port-forward nginx 8080:80
# 连接到现有的某个Pod(将某个Pod的标准输入输出转发到本地)
kubectl attach POD -c CONTAINER
# e.g. 将名字为nginx的Pod的标准输入输出转发到本地
kubectl attach nginx
# 运行某个Pod的命令
kubectl run NAME --image=image -- COMMAND [args...]
# e.g. 运行名字为nginx的Pod
kubectl run nginx --image=nginx -- /bin/bash

文章分享

如果这篇文章对你有帮助,欢迎分享给更多人!

K8S速查&快速复习
http://blog.diudiudevil.cn/posts/k8s-quick-review/
作者
DiudiuDevil (李明)
发布于
2026-05-07
许可协议
CC BY-NC-SA 4.0

评论区

Profile Image of the Author
DiudiuDevil (李明)
一个人可以被毁灭,但不能被打败。 ——《老人与海》
公告
🪧学习笔记等内容不再上传博客
音乐
封面

音乐

暂未播放

0:00 0:00
暂无歌词
分类
标签
站点统计
文章
11
分类
4
标签
21
总字数
2,432
运行时长
0
最后活动
0 天前

目录