【Kubernetes专项】温故而知新,重温技术原理(2)

Kubernetes中常见的集群部署方式?

bash 复制代码
场景/运维复杂度:
	1.开发/测试
		Minikube
	2.生产自建
		kubeadm
		二进制包
	3.自动化运维
		kubespray
	4.云托管
		ACK(Alibaba),EKS(AWS),TKE(Tencent)
	5.企业发行版
		Rancher
		Openshift
		K3s

简述Kubernetes如何实现集群管理?

bash 复制代码
1.控制平面+工作节点构成的双层架构:
	控制平面(统一管理集群状态)
		apiserver
		etcd
		scheduler
		controller-manager
	工作节点(负责实际容器的运行)
		kubelet
		kube-proxy

2.声明式API
	用户编写Yaml文件(也就是声明期望状态) -> 控制器通过Controller-manager的控制循环,使实际状态向期望状态持续收敛。
		典型:
			ReplicaSet Controller - 保证副本数
			Node Controller - 检测节点健康
			Endpoints Controller - 维护Service后端列表
			Deployment Controller - 管理版本发布及滚动更新
			DaemontSet Controller - 全节点运行一个固定Pod
			StatefulSet Controller - 管理有状态的应用,保证Pod有序启停,稳定网络标识及存储绑定
			Namespace Controller - 管理Namespace生命周期,当指定ns被删除,自动清理该ns下的所有资源
			...

我更喜欢这样子理解:
		k8s集群管理就像一个"酒店管理系统"
			游客说出入住需求(声明式Yaml)
					|
			前台(apiserver)接待
					|
			数据库(etcd)记录
					|
			大堂经理(controller-manager)检查房屋是否干净
					|
			前台领班(scheduler)分配任务(Pod)给具体楼层(Node工作节点)
					|
			保洁人员(kubelet)去具体工作(pull/start/...)

简述Kubernetes的优势、适应场景?

bash 复制代码
a.三大主要优势:
	1.声明式自动化 - 减少人为干预
	2.弹性伸缩 - HPA(Pod水平伸缩--Pod副本数) VPA(Pod垂直伸缩--调整Pod资源请求) CA(集群节点伸缩--自动扩容节点池)
	3.自愈能力 - 故障自动恢复
	
b.六大典型场景:
	1.微服务架构
		大规模服务治理,版本发布,灰度,回滚频繁情况
	
	2.CI/CD流水线
		结合Jenkins/GitLab CI 实现自动构建与部署
	
	3.高弹性业务-突发流量
		电商秒杀,直播弹幕

	4.大数据/AI训练
		训练任务(Job/Cron Job),分布式计算,GPU资源管理
	
	5.混合云统一管理
		跨集群联邦管理,资源调度与迁移,避单云厂商锁定
	
	6.传统业务容器化上云
		有状态应用,周期任务

简述Kubernetes创建一个Pod的主要流程?

bash 复制代码
主要流程:
	1.用户自主声明(Deployment/Job 等)
	2.apiserver校验 -> 写入 etcd
	3.controller-manager 内部多个控制器接力协作:Deployment Controller -> ReplicaSet Controller -> Pod(Pending状态)
	4.scheduler 调度Pod:通过 List-Watch机制 感知 Pending Pod -> 选最优节点 -> etcd写入绑定关系
	5.kubelet 执行:拉镜像、启动容器、上报 Running

说说KubernetesService-Discovery服务发现?

bash 复制代码
1.两大实现方式:环境变量(传统,有感知滞后缺陷)与 DNS(推荐,实时动态解析)。现代集群统一使用 CoreDNS 作为DNS服务。

2.DNS记录格式:<service>.<namespace>.svc.cluster.local
	Headless Service 返回 Pod IP 列表,普通 Service 返回 ClusterIP。
	集群DNS默认配置 /etc/resolv.conf	10.96.0.10 指向 CoreDNS

3.流量转发靠 kube-proxy: 核心是将 ClusterIP 流量 NAT 转发到后端 Pod。

4.底层数据源:Service + Endpoints/EndpointSlice 通过 List-Watch 实时同步,保证发现结果始终正确。
	Endpoints - 全量更新
	EndpointSlice - 分片+增量更新(仅更新受影响的分片)
		# 兼容性:EndpointSlice 功能启用时,Kubernetes 自动维护 Endpoints 与 EndpointSlice 两套资源,向后兼容,用户无需手动迁移
	
设计意图:将服务发现与具体Pod IP解耦------应用通过稳定的服务名调用,后端 Pod 重建或漂移时前端完全无感知。
相关推荐
m0_738120722 小时前
渗透测试基础——基于Docker的Rsync服务靶场搭建与原理讲解
运维·服务器·网络·安全·web安全·docker·容器
小义_3 小时前
【Ansible】(三)基础配置与连接设置
云原生·ansible
松岩3 小时前
网络问题导致 Pod Pending
kubernetes·aiops
极客先躯7 小时前
高级java每日一道面试题-2026年02月09日-实战篇[Docker]-Docker 容器有哪些安全风险?如何缓解?
java·运维·网络·安全·docker·容器
yuanzhengme7 小时前
Ollama【部署 07】搭建本地智能体的简单说明(局域网离线部署Ollama+模型迁移+Docker部署AnythingLLM)
运维·docker·容器·大模型·ollama·本地智能体
运维老郭7 小时前
Kubernetes 二进制部署完全指南:从零搭建生产级HA集群
运维·云原生·kubernetes
成为你的宁宁8 小时前
【K8S黑盒监控实践:Probe配置、Prometheus验证与Grafana可视化】
kubernetes·grafana·prometheus
成为你的宁宁8 小时前
【Prometheus Operator监控K8S Nginx】
nginx·kubernetes·prometheus
宇明一不急8 小时前
k8s headless svc
云原生·容器·kubernetes
容器魔方9 小时前
Karmada v1.18 版本发布!新增混合云溢出式调度能力
人工智能·云原生·容器·华为云·云计算