
1) 【一句话结论】
K8s通过Pod(容器实例)、Service(服务发现与负载均衡)、Ingress(外部访问路由)等核心组件,在智慧城市系统中实现容器化应用的标准化部署,解决容器IP动态变化导致的通信问题,并通过资源调度策略(如优先级、亲和性)优化节点资源利用,提升系统弹性与可扩展性。
2) 【原理/概念讲解】
老师:咱们先讲K8s核心组件在智慧城市系统里的作用,每个组件的定义和关键特性。
localhost通信)。作用是封装应用,比如智慧城市中的“交通监控应用”由视频处理容器(处理视频流)和数据库容器(存储数据)组成,共享存储卷(如emptyDir),方便数据同步。3) 【对比与适用场景】
| 组件 | 定义 | 特性 | 使用场景 | 注意点 |
|---|---|---|---|---|
| Pod | 包含1+容器,共享网络/存储 | 资源最小单位,容器间可通过localhost通信 | 容器化应用基础(如Web+数据库容器) | 需合理规划容器数量,避免资源浪费 |
| Service | 通过标签选择器关联Pod,提供稳定IP | 负载均衡,自动发现Pod变化 | 容器间通信,或暴露服务给内部系统 | 需为Pod设置标签,Service类型(ClusterIP/NodePort)需匹配网络环境 |
| Ingress | 控制器(如Nginx),管理外部HTTP请求 | 路由规则(路径/主机/头匹配),负载均衡 | 智慧城市系统外部访问(如城市平台访问) | 需Ingress控制器,配置路由规则,支持HTTPS |
4) 【示例】
以智慧城市“交通监控系统”为例,展示核心组件的应用:
apiVersion: v1
kind: Pod
metadata:
name: traffic-monitor
spec:
containers:
- name: video-process
image: traffic-video:1.0
volumeMounts:
- name: data-storage
mountPath: /data
- name: db
image: traffic-db:1.0
volumeMounts:
- name: data-storage
mountPath: /data
resources:
requests:
cpu: "500m"
memory: "512Mi"
limits:
cpu: "1"
memory: "1Gi"
volumes:
- name: data-storage
emptyDir: {}
apiVersion: v1
kind: Service
metadata:
name: traffic-service
spec:
selector:
app: traffic-monitor
ports:
- protocol: TCP
port: 80
targetPort: 8080
type: ClusterIP
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: traffic-ingress
spec:
rules:
- host: traffic.city.com
http:
paths:
- path: /api/v1/monitor
pathType: Prefix
backend:
service:
name: traffic-service
port:
number: 80
tls:
- hosts:
- traffic.city.com
secretName: traffic-tls
5) 【面试口播版答案】
在智慧城市项目中,我们引入K8s管理容器化应用,核心组件Pod、Service、Ingress分别负责容器实例、服务发现与外部访问。Pod作为最小调度单元,容器共享网络命名空间,方便内部通信,比如交通监控系统的视频处理容器和数据库容器共享存储。Service通过标签选择器关联Pod,提供稳定IP和负载均衡,解决容器IP动态变化问题,容器通过Service的ClusterIP访问数据库。Ingress作为入口控制器(如Nginx),管理外部HTTP请求,根据路由规则将城市信息平台的请求转发到后端Service。对于容器间通信,Service的ClusterIP模式通过iptables实现四层负载均衡,容器间通过Service的IP通信。资源调度方面,K8s根据Node的CPU/内存资源,结合Pod的资源请求(requests)和限制(limits),应用亲和性调度(同一应用的Pod调度到同一节点,减少网络延迟)和优先级调度(高优先级任务优先),动态调整Pod位置。例如,当节点负载过高时,调度器会将资源需求低的Pod迁移到负载低的节点,流量增加时自动扩容Pod,提升系统弹性与可扩展性。
6) 【追问清单】
7) 【常见坑/雷区】