一, namespace管理
1, namespace的概念
namespace: 所有的容器必须位于某一个ns当中,如果容器在创建时未指定使用哪个ns,则默认会将其放到default ns
可以理解为容器的分类区
2, namespace管理命令
列出当前集群下所有的ns
kubectl get ns
查看ns的详细信息
kubectl describe ns $ns_name
查看ns中的其他资源
kubectl get resourcename -n $ns_name
创建ns
kubectl create ns $ns_name
删除ns
kubectl delete ns $ns_name
二, pod管理
1, pod的概念
pod:在kubernetes当中,应用运行的最小单位是pod, pod当中封装的就是若干个container(大多数情况下,1个pod只封装1个container), container可以由docker启动,也可以由podman启动,也可以由containerd启动,用什么启动kubernetes并不关心。
注意:pod中的container没有分配IP,k8s通过pause机制终断container获取IP,而是直接把IP分配给了pod
2, 管理pod
列出所有pod
kubectl get pods
创建pod
kubectl run $podname --image=$image:tag
查看pod的详细信息
kubectl describe pod $podname -n $ns_name
进入pod
kubectl exec -it $podname -n $ns_name -- /bin/bash
删除pod
kubectl delete pod $podname
三, 实战运用
1, yaml文件和Deployment
YAML文件优势
通用性强:适用于多种场景(配置文件、API参数等),不局限于Kubernetes。
灵活自由:支持任意数据结构,无强制字段限制
简洁易读:语法简单,人类友好,适合手动编写
轻量高效:文件体积小,解析速度快
多语言支持:几乎所有编程语言均提供解析库
Deployment文件优势
Kubernetes原生:深度集成容器编排能力(如副本控制、更新策略)
声明式管理:定义期望状态,Kubernetes自动同步实际状态
高级部署:支持滚动更新、快速回滚、金丝雀发布
生态协同:无缝关联Service、ConfigMap等Kubernetes资源
企业级功能:支持水平扩缩容、多环境配置隔离
2, yaml文件
查询文档命令
kubectl explain pod.
3, Deployment文件
查询文档命令
kubectl explain deployment.spec
评论区