Kubernetes 入门: 一、Kubernetes 是什么? 传统部署方式手动管理服务器负载均衡配置复杂维护困难Kubernetes部署方式智能容器编排自动负载均衡自动化运维 二、Kubernetes 的核心特性 K8s核心特性自动化部署智能调度资源管理系统自愈自动重启故障转移健康检查水平扩展HPA自动扩缩负载均衡服务发现DNS命名负载均衡自动更新滚动更新零停机部署版本回滚配置管理ConfigMapSecret存储管理持久化存储多种存储类型批量作业JobCronJob 三、Kubernetes 的总体架构 Worker Node 3Worker Node 2Worker Node 1Control Plane (Master)kube-apiserver集群入口etcd键值存储kube-scheduler调度器kube-controller-manager控制器管理器etcd持久化存储kubelet节点代理Container Runtime容器运行时kube-proxy网络代理Pod容器组应用容器kubelet节点代理Container Runtime容器运行时kube-proxy网络代理Pod容器组应用容器kubelet节点代理Container Runtime容器运行时kube-proxy网络代理Pod容器组应用容器 四、Kubernetes 的核心基础概念 3. Pod 结构 Pod共享网络命名空间共享存储卷容器1主应用容器2Sidecar容器3Init容器IP地址localhost通信data共享文件系统 4. Service 工作原理 客户端Servicemy-service:80负载均衡Pod1IP: 10.1.0.1Pod2IP: 10.1.0.2Pod3IP: 10.1.0.3容器容器容器Selector:app=myapp 7. Deployment 管理流程 PodReplicaSetDeployment用户PodReplicaSetDeployment用户滚动更新开始创建Deployment(replicas: 3, image: v1)创建ReplicaSet v1创建3个Pod (v1)Pod Running状态更新部署完成更新镜像到v2创建ReplicaSet v2创建1个Pod (v2)Pod Running删除1个Pod (v1)创建1个Pod (v2)Pod Running删除1个Pod (v1)创建1个Pod (v2)Pod Running删除1个Pod (v1)滚动更新完成 9. StatefulSet 与 Deployment 对比 StatefulSet (有状态)web-0有序稳定名称web-1web-2持久化存储数据持久性稳定网络标识可预测访问存储卷1存储卷2存储卷3Deployment (无状态)web-76d7c5b8c7随机名称web-76d7c5b8c8web-76d7c5b8c9临时存储无持久性动态IP无稳定网络标识 10. ConfigMap 工作原理 应用配置传统方式打包到Docker镜像修改需重建镜像应用配置ConfigMap方式创建ConfigMap对象Pod通过环境变量引用Pod通过Volume挂载动态更新配置 13. Ingress 工作原理 路径: /api域名: app.example.com路径: /admin互联网用户Ingress ControllerNginx/Traefik路由规则Service: api-serviceService: web-serviceService: admin-servicePod: api-1Pod: api-2Pod: web-1Pod: web-2Pod: web-3Pod: admin-1SSL/TLS终止负载均衡访问控制 14. HPA 自动扩缩容 当前: 80%目标: 50%当前: 20%目标: 50%当前: 50%目标: 50%监控指标HPA控制器检查CPU使用率需要扩容需要缩容保持现状增加副本数: 3→5减少副本数: 3→2Deployment创建新PodDeployment删除Pod负载降低CPU: 80%→50%负载提高CPU: 20%→50% 15. kubectl 工作流程 PodkubeletSchedulerController Manageretcd存储kube-apiserverkubectl CLI开发者/管理员PodkubeletSchedulerController Manageretcd存储kube-apiserverkubectl CLI开发者/管理员kubectl apply -f deployment.yamlREST API 请求存储资源定义通知控制器创建ReplicaSet调度Pod选择节点创建Pod指令启动容器容器运行状态状态报告更新状态返回结果显示结果 五、Kubernetes 学习路径 PodServiceVolume可观测性外部访问密钥管理批处理任务持久化存储掌握Master/Node无状态应用有状态应用服务发现理解Docker基础网络安全自动扩缩容节点守护进程资源管理配置管理基础知识基础知识理解Docker基础理解容器概念理解容器概念掌握Master/Node学习K8s架构学习K8s架构PodServiceVolume核心概念入门核心概念入门工作负载工作负载无状态应用DeploymentDeployment有状态应用StatefulSetStatefulSet节点守护进程DaemonSetDaemonSet批处理任务Job/CronJobJob/CronJob配置与存储配置与存储配置管理ConfigMapConfigMap密钥管理SecretSecret持久化存储PV/PVCPV/PVC网络与服务网络与服务服务发现ServiceService外部访问IngressIngress网络安全网络策略网络策略运维与监控运维与监控自动扩缩容HPAHPA资源管理资源配额资源配额可观测性监控日志监控日志Kubernetes 学习路径 核心概念关系图 NamespaceDeploymentStatefulSetDaemonSetServiceConfigMapSecretIngressReplicaSetPodContainer 1Container 2Container 3VolumePersistentVolume