K8S速查&快速复习
1163 字
6 分钟
K8S速查&快速复习
核心组建
Kubernetes:生产级别的容器编排系统 Kubernetes 是一个可移植、可扩展的开源平台,用于管理容器化的工作负载和服务,方便进行声明式配置和自动化。Kubernetes 拥有一个庞大且快速增长的生态系统,其服务、支持和工具的使用范围广泛。
Master
kubectl cluster-infoNode
kubectl get nodespod
- pod是K8S最小调度单元,是一个或者多个容器的组合
- 当pod发生故障时,系统会自动销毁并重新创建
命令行创建名字为nginx的Pod
kubectl run nginx --image=nginx删除名字为nginx的Pod
kubectl delete pod nginxsvc
- 可以将一组pod封装成一个服务进行管理(ip地址)

创建 查看 修改 删除
svc种类
ClusteriP:默认类型,集群内部的服务 NodePort:节点端口类型,将服务公开到集群节点上 LoadBalancer:负载均衡类型,将服务公开到外部负载均衡器上 ExternalName:外部名称类型,将服务映射到一个外部域名上 Headless:无头类型,主要用于DNS解析和服务发现
ingress
- 配置转发规则(比如域名、ssl证书)
- 国企内网不怎么用,pass
cm(configmap)
- 程序配置信息
vol
- 卷,持久化存储
deployment
- 定义管理应用程序的副本数量
- 应用程序更新策略

创建 查看 修改 删除
架构

命令行速查
基础使用
# 查看帮助kubectl --help
# 查看API版本kubectl api-versions
# 查看集群信息kubectl cluster-info资源的创建和运行
# 创建并运行一个指定的镜像kubectl run NAME --image=image [params...]# e.g. 创建并运行一个名字为nginx的Podkubectl 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查看资源信息
# 查看集群中某一类型的资源kubectl get RESOURCE# 其中,RESOURCE可以是以下类型:kubectl get pods / po # 查看Podkubectl get svc # 查看Servicekubectl get deploy # 查看Deploymentkubectl get rs # 查看ReplicaSetkubectl get cm # 查看ConfigMapkubectl get secret # 查看Secretkubectl get ing # 查看Ingresskubectl get pv # 查看PersistentVolumekubectl get pvc # 查看PersistentVolumeClaimkubectl get ns # 查看Namespacekubectl get node # 查看Nodekubectl get all # 查看所有资源
# 后面还可以加上 -o wide 参数来查看更多信息kubectl get pods -o wide
# 查看某一类型资源的详细信息kubectl describe RESOURCE NAME# e.g. 查看名字为nginx的Pod的详细信息kubectl describe pod nginx资源的修改、删除和清理
# 更新某个资源的标签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的Podkubectl delete pod nginx
# 删除某个资源的所有实例kubectl delete RESOURCE --all# e.g. 删除所有Podkubectl 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的副本数为3kubectl scale --replicas=3 deployment/nginx
# 根据配置文件或者标准输入替换某个资源kubectl replace -f FILENAME# e.g. 根据nginx.yaml配置文件替换名字为nginx的Deploymentkubectl replace -f nginx.yaml调试和交互
# 进入某个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的Podkubectl run nginx --image=nginx -- /bin/bash文章分享
如果这篇文章对你有帮助,欢迎分享给更多人!
相关文章 智能推荐
1
使用 Obsidian+Digital Garden 发布静态网站
折腾记录 使用 Obsidian+Digital Garden 发布静态网站
2
使用Multipass和k3s搭建kubernetes集群环境
折腾记录 2026-03-01
3
建站日志
折腾记录 建站日志
4
windowsterminal简单美化
折腾记录 2020-12-20
5
微软商店登陆怎么一直转圈该怎么办?
问题处理 2020-11-22
随机文章 随机推荐
