🚀 Kubernetes核心概念详解
📦 Pod - 最小部署单元
概念:Kubernetes中最小的可部署计算单元,封装一个或多个共享网络和存储的容器。
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| kubectl run <pod-name> --image=<image-name>
kubectl get pods
kubectl describe pod <pod-name>
kubectl delete pod <pod-name>
kubectl logs <pod-name>
kubectl exec -it <pod-name> -- /bin/sh
kubectl top pod
|
🎮 Deployment - Pod管理器
概念:管理Pod副本,提供自愈、扩缩容、滚动更新和回滚能力。
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| kubectl create deployment <deployment-name> --image=<image-name>
kubectl get deployments
kubectl scale deployment <deployment-name> --replicas=<number>
kubectl set image deployment/<deployment-name> <container-name>=<new-image>
kubectl rollout status deployment/<deployment-name>
kubectl rollout undo deployment/<deployment-name>
kubectl delete deployment <deployment-name>
|
🎯 StatefulSet - 有状态应用管理
概念:管理有状态应用,保证Pod标识、网络、存储的稳定性。
1 2 3 4 5 6
| kubectl get statefulsets
kubectl scale statefulset <statefulset-name> --replicas=<number>
kubectl delete statefulset <statefulset-name>
|
🔄 DaemonSet - 节点守护进程
概念:在每个节点上运行一个Pod副本,适合日志收集、监控等系统级任务。
1 2 3 4
| kubectl get daemonsets
kubectl delete daemonset <daemonset-name>
|
🔗 Service - 服务发现与负载均衡
概念:为Pod提供稳定的网络访问入口,支持服务发现和负载均衡。
1 2 3 4 5 6 7 8 9 10
| kubectl expose deployment <deployment-name> --type=<service-type> --port=<port>
kubectl get services
kubectl describe service <service-name>
kubectl delete service <service-name>
kubectl get endpoints
|
🌐 Ingress - HTTP路由规则
概念:配置HTTP/HTTPS路由规则,将外部流量路由到集群内部服务。
1 2 3 4 5 6 7 8
| kubectl create ingress <ingress-name> --rule=<host>/<path>=<service>:<port>
kubectl get ingress
kubectl describe ingress <ingress-name>
kubectl delete ingress <ingress-name>
|
🛠️ 通用管理命令
配置文件管理
1 2 3 4 5 6 7 8
| kubectl apply -f <filename.yaml>
kubectl delete -f <filename.yaml>
kubectl get -o yaml <resource-type> <resource-name>
kubectl get all
|
命名空间管理
1 2 3 4 5 6 7 8
| kubectl get namespaces
kubectl create namespace <namespace-name>
kubectl config set-context --current --namespace=<namespace-name>
kubectl delete namespace <namespace-name>
|
故障排查
1 2 3 4 5 6 7 8 9 10
| kubectl get events
kubectl logs -f <pod-name>
kubectl exec -it <pod-name> -- <command>
kubectl top nodes
kubectl top pods
|
节点管理
1 2 3 4 5 6 7 8
| kubectl get nodes
kubectl cordon <node-name>
kubectl uncordon <node-name>
kubectl drain <node-name>
|
📝 文档说明
本文档整理了Kubernetes的核心概念和常用命令,涵盖了从基础的Pod管理到高级的服务发现和路由配置。所有命令都遵循小写命令、大写参数的规范,便于在实际工作中快速查阅和使用。
核心概念总结
- Pod:最小部署单元,容器编排的基础
- Deployment:无状态应用管理,支持滚动更新和回滚
- StatefulSet:有状态应用管理,保证稳定标识和存储
- DaemonSet:节点级守护进程,确保每个节点运行副本
- Service:服务发现和负载均衡,提供稳定访问入口
- Ingress:HTTP路由规则,管理外部流量访问