最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Kubernetes中的service使用及說明

 更新時(shí)間:2025年10月02日 17:14:47   作者:火星MARK  
Kubernetes Service通過固定IP和端口實(shí)現(xiàn)Pod的負(fù)載均衡和服務(wù)發(fā)現(xiàn),解決動(dòng)態(tài)IP問題,支持ClusterIP、NodePort、LoadBalancer等五種類型,適用于集群內(nèi)通信、對(duì)外暴露及訪問外部服務(wù),結(jié)合Endpoints和負(fù)載均衡策略確保服務(wù)穩(wěn)定性

在 Kubernetes(K8s)生態(tài)中,Service 是核心資源之一,其核心作用是解決 Pod 的動(dòng)態(tài)性問題 —— 通過為一組功能相同的 Pod 提供一個(gè)固定的訪問入口(IP 和端口),實(shí)現(xiàn)對(duì) Pod 的負(fù)載均衡和服務(wù)發(fā)現(xiàn),屏蔽 Pod 頻繁創(chuàng)建、銷毀、IP 變化帶來的訪問波動(dòng)。

一、Service 的核心價(jià)值:為何需要 Service?

Pod 是 K8s 中最小的部署單元,但存在天然的 “不穩(wěn)定性”:

  • IP 動(dòng)態(tài)變化:Pod 重啟、重建(如 Deployment 擴(kuò)縮容、節(jié)點(diǎn)故障遷移)后,IP 會(huì)重新分配;
  • 訪問入口不固定:若直接通過 Pod IP 訪問,一旦 Pod 變化,客戶端需手動(dòng)更新目標(biāo) IP,無法自動(dòng)化。

Service 正是為解決這些問題而生,其核心價(jià)值可概括為三點(diǎn):

  1. 固定訪問入口:Service 創(chuàng)建后會(huì)分配一個(gè)集群內(nèi)固定的虛擬 IP(ClusterIP) 和端口,客戶端只需訪問該 IP:Port,無需關(guān)注后端 Pod 的具體 IP;
  2. Pod 負(fù)載均衡:Service 會(huì)自動(dòng)將請(qǐng)求分發(fā)到后端健康的 Pod 上(默認(rèn)輪詢策略),實(shí)現(xiàn)流量分?jǐn)偅?/li>
  3. 服務(wù)發(fā)現(xiàn):結(jié)合 K8s 的 DNS 組件(如 CoreDNS),Service 可通過 “服務(wù)名” 被集群內(nèi)其他 Pod 訪問(如 http://<service-name>.<namespace>.svc.cluster.local),無需硬編碼 IP。

二、Service 的工作原理:流量如何流轉(zhuǎn)?

Service 的實(shí)現(xiàn)依賴 kube-proxy(每個(gè)節(jié)點(diǎn)上運(yùn)行的網(wǎng)絡(luò)代理組件)和 iptables/IPVS(Linux 內(nèi)核的流量轉(zhuǎn)發(fā)機(jī)制),核心流程如下:

  1. Service 創(chuàng)建:用戶通過 YAML/CLI 創(chuàng)建 Service 后,K8s 控制器會(huì)為其分配 ClusterIP(僅集群內(nèi)可見),并關(guān)聯(lián)后端 Pod(通過 selector 匹配 Pod 標(biāo)簽);
  2. kube-proxy 同步規(guī)則:每個(gè)節(jié)點(diǎn)的 kube-proxy 會(huì)監(jiān)聽 K8s API,實(shí)時(shí)同步 Service 和 Pod 的信息,并在節(jié)點(diǎn)內(nèi)核中配置 iptables/IPVS 規(guī)則;
  3. 流量轉(zhuǎn)發(fā):當(dāng)客戶端(如集群內(nèi)其他 Pod)訪問 Service 的 ClusterIP:Port 時(shí),請(qǐng)求會(huì)被節(jié)點(diǎn)內(nèi)核的 iptables/IPVS 規(guī)則攔截,轉(zhuǎn)發(fā)到后端任意一個(gè)健康的 Pod 的 IP:Port;
  4. 健康檢查:Service 依賴 Pod 的 就緒探針(Readiness Probe) 判斷 Pod 是否可用 —— 若 Pod 未通過就緒探針,會(huì)被從 Service 的后端列表中移除,不再接收流量。

三、Service 的核心組成:YAML 配置解析

Service 的配置通過 YAML 文件定義,核心字段如下(以最常見的 ClusterIP 類型為例):

apiVersion: v1  # Service 屬于 v1 版本 API
kind: Service   # 資源類型為 Service
metadata:
  name: my-service  # Service 名稱(集群內(nèi) DNS 解析的核心標(biāo)識(shí))
  namespace: default  # 所屬命名空間(默認(rèn) default,不同命名空間的 Service 需加命名空間訪問)
spec:
  type: ClusterIP  # Service 類型(核心字段,決定訪問范圍)
  selector:        # 標(biāo)簽選擇器:匹配后端 Pod 的標(biāo)簽(關(guān)鍵!Service 僅轉(zhuǎn)發(fā)匹配 Pod 的流量)
    app: my-app    # 假設(shè)后端 Pod 有標(biāo)簽 app=my-app
  ports:           # 端口映射規(guī)則(可配置多個(gè) port)
  - name: http     # 端口名稱(可選,用于區(qū)分多個(gè)端口)
    port: 80       # Service 對(duì)外暴露的端口(客戶端訪問的端口)
    targetPort: 8080  # 后端 Pod 實(shí)際提供服務(wù)的端口(需與 Pod 容器的端口一致)
    protocol: TCP  # 協(xié)議(默認(rèn) TCP,支持 UDP、SCTP)
  sessionAffinity: None  # 會(huì)話親和性(默認(rèn) None,可選 ClientIP:同一客戶端請(qǐng)求轉(zhuǎn)發(fā)到同一 Pod)

關(guān)鍵字段說明:

  • selector:Service 與 Pod 的 “綁定橋梁”,僅匹配標(biāo)簽的 Pod 會(huì)被加入 Service 后端。
  • 若不配置 selector(如對(duì)接集群外服務(wù)),需手動(dòng)通過 Endpoints 關(guān)聯(lián)后端地址;

ports.port vs targetPort

  • port:Service 自身的端口(客戶端訪問的入口);
  • targetPort:Pod 容器的端口(流量最終轉(zhuǎn)發(fā)到的端口),支持?jǐn)?shù)字或 Pod 容器的端口名(如 targetPort: http,需 Pod 容器定義 name: http);
  • sessionAffinity:會(huì)話親和性,用于保證同一客戶端的請(qǐng)求始終轉(zhuǎn)發(fā)到同一 Pod(適用于需要會(huì)話保持的場(chǎng)景,如登錄狀態(tài)存儲(chǔ))。

四、Service 的 5 種核心類型

Service 的 type 字段決定了其訪問范圍和暴露方式,K8s 支持 5 種常見類型,適用于不同場(chǎng)景:

類型核心特點(diǎn)適用場(chǎng)景
ClusterIP僅集群內(nèi)可見的虛擬 IP,無法從集群外訪問集群內(nèi)服務(wù)間通信(如后端 API 給前端提供服務(wù))
NodePort在每個(gè)節(jié)點(diǎn)上開放一個(gè)靜態(tài)端口,通過 節(jié)點(diǎn)IP:NodePort 訪問 Service開發(fā) / 測(cè)試環(huán)境:快速?gòu)募和庠L問服務(wù)
LoadBalancer借助云廠商 LB(如 AWS ELB、阿里云 SLB),自動(dòng)分配公網(wǎng) IP,轉(zhuǎn)發(fā)流量到 NodePort生產(chǎn)環(huán)境:公網(wǎng)暴露服務(wù)(需云廠商支持)
ExternalName不關(guān)聯(lián) Pod,直接將 Service 映射到集群外的域名(如 xxx.com)訪問集群外服務(wù)(如數(shù)據(jù)庫、第三方 API)
Headless無 ClusterIP,通過 DNS 直接返回后端 Pod 的 IP 列表(不做負(fù)載均衡)需自行處理負(fù)載均衡或需直接訪問 Pod 的場(chǎng)景

各類型詳解與配置示例

1. ClusterIP(默認(rèn)類型)

  • 特點(diǎn):K8s 自動(dòng)分配一個(gè)集群內(nèi)唯一的虛擬 IP(無法 ping 通,僅用于流量轉(zhuǎn)發(fā)),僅集群內(nèi) Pod 可訪問;
  • 配置type: ClusterIP(或不寫 type,默認(rèn)為此類型);
  • 訪問方式ClusterIP:port 或 service-name.namespace.svc.cluster.local:port(DNS 解析)。

2. NodePort

  • 特點(diǎn):在 ClusterIP 基礎(chǔ)上,在每個(gè)節(jié)點(diǎn)上開放一個(gè) 靜態(tài)端口(NodePort)(范圍:30000-32767),通過 任意節(jié)點(diǎn)IP:NodePort 可從集群外訪問;

配置示例

spec:
  type: NodePort
  ports:
  - port: 80        # Service 內(nèi)部端口
    targetPort: 8080 # Pod 端口
    nodePort: 30080  # 手動(dòng)指定 NodePort(可選,不指定則自動(dòng)分配)
  • 訪問方式節(jié)點(diǎn)IP:30080(需確保節(jié)點(diǎn) IP 可被外部訪問,且防火墻開放 30080 端口);
  • 注意:NodePort 本質(zhì)是 “每個(gè)節(jié)點(diǎn)都開放相同端口”,外部請(qǐng)求可發(fā)往任意節(jié)點(diǎn),kube-proxy 會(huì)轉(zhuǎn)發(fā)到后端 Pod。

3. LoadBalancer

  • 特點(diǎn):依賴云廠商的負(fù)載均衡服務(wù)(如 AWS ELB、GCP LB),K8s 會(huì)自動(dòng)創(chuàng)建云 LB 并關(guān)聯(lián)所有節(jié)點(diǎn)的 NodePort,外部流量通過云 LB 的公網(wǎng) IP 進(jìn)入,再轉(zhuǎn)發(fā)到 NodePort → Pod;

配置示例

spec:
  type: LoadBalancer
  ports:
  - port: 80
    targetPort: 8080
  loadBalancerIP: 1.2.3.4  # 可選,指定云 LB 的靜態(tài)公網(wǎng) IP(需云廠商支持)
  • 訪問方式:云 LB 分配的公網(wǎng) IP:80(無需記節(jié)點(diǎn) IP,LB 自動(dòng)做節(jié)點(diǎn)級(jí)負(fù)載均衡);
  • 注意:僅在云環(huán)境(如 EKS、GKE、ACK)中生效,本地集群(如 Minikube)需用 minikube tunnel 模擬 LoadBalancer。

4. ExternalName

  • 特點(diǎn):不關(guān)聯(lián)任何 Pod,僅作為 “域名別名”—— 將 Service 名映射到集群外的域名(如 db.example.com),通過 DNS 解析實(shí)現(xiàn)訪問;

配置示例(訪問集群外的 MySQL 服務(wù)):

spec:
  type: ExternalName
  externalName: db.example.com  # 集群外服務(wù)的域名
  ports:
  - port: 3306  # 外部服務(wù)的端口
  • 訪問方式:集群內(nèi) Pod 訪問 my-service.default.svc.cluster.local:3306,會(huì)自動(dòng)解析為 db.example.com:3306;
  • 適用場(chǎng)景:訪問集群外的固定服務(wù)(如托管數(shù)據(jù)庫、第三方 API),避免硬編碼域名到應(yīng)用中。

5. Headless Service(無頭服務(wù))

  • 特點(diǎn):無 ClusterIP,Service 創(chuàng)建后不分配虛擬 IP;通過 DNS 解析時(shí),直接返回后端所有 Pod 的 IP 列表(而非 Service IP),負(fù)載均衡需客戶端自行實(shí)現(xiàn);
spec:
  type: ClusterIP  # 關(guān)鍵:將 clusterIP 設(shè)為 None,即 Headless
  clusterIP: None
  selector:
    app: my-app
  ports:
  - port: 80
    targetPort: 8080
  • 訪問方式:集群內(nèi) Pod 訪問 my-service.default.svc.cluster.local,DNS 會(huì)返回所有匹配 Pod 的 IP 列表;

適用場(chǎng)景

  • 客戶端需自行控制負(fù)載均衡策略(如 MongoDB 副本集、Elasticsearch 集群,需節(jié)點(diǎn)間直接通信);
  • 需通過 DNS 發(fā)現(xiàn)所有后端 Pod 的場(chǎng)景(如 StatefulSet 管理的有狀態(tài)服務(wù),每個(gè) Pod 有固定 hostname)。

五、Service 與 Endpoints 的關(guān)系

Endpoints 是 K8s 中的另一個(gè)核心資源,用于存儲(chǔ) Service 后端的 “實(shí)際訪問地址”(IP:Port 列表)。兩者的關(guān)系是:

  • 自動(dòng)關(guān)聯(lián):若 Service 配置了 selector,K8s 會(huì)自動(dòng)創(chuàng)建一個(gè)與 Service 同名的 Endpoints 資源,實(shí)時(shí)同步匹配 selector 的 Pod 的 IP:Port 列表(Pod 就緒則加入,未就緒則移除);
  • 手動(dòng)關(guān)聯(lián):若 Service 未配置 selector(如訪問集群外服務(wù)),需手動(dòng)創(chuàng)建 Endpoints,將外部服務(wù)的 IP:Port 寫入 Endpoints,Service 會(huì)通過 Endpoints 轉(zhuǎn)發(fā)流量。

手動(dòng)關(guān)聯(lián) Endpoints 示例(訪問集群外服務(wù))

創(chuàng)建無 selector 的 Service:

apiVersion: v1
kind: Service
metadata:
  name: external-service
spec:
  ports:
  - port: 80
    targetPort: 80

手動(dòng)創(chuàng)建同名 Endpoints,關(guān)聯(lián)集群外服務(wù)的 IP:Port:

apiVersion: v1
kind: Endpoints
metadata:
  name: external-service  # 必須與 Service 同名,才能關(guān)聯(lián)
subsets:
- addresses:
  - ip: 192.168.1.100  # 集群外服務(wù)的 IP
  ports:
  - port: 80            # 集群外服務(wù)的端口

集群內(nèi) Pod 訪問 external-service.default.svc.cluster.local:80,流量會(huì)轉(zhuǎn)發(fā)到 192.168.1.100:80

六、Service 的負(fù)載均衡策略

Service 的負(fù)載均衡由 kube-proxy 實(shí)現(xiàn),kube-proxy 支持兩種模式(通過 --proxy-mode 配置),對(duì)應(yīng)不同的負(fù)載均衡策略:

1. iptables 模式(默認(rèn))

  • 原理:kube-proxy 在每個(gè)節(jié)點(diǎn)的 iptables 中配置 DNAT 規(guī)則,將 Service 的 ClusterIP:Port 轉(zhuǎn)發(fā)到后端 Pod 的 IP:Port;
  • 負(fù)載均衡策略:默認(rèn) 輪詢(Round-Robin),即請(qǐng)求依次分發(fā)到后端 Pod;

優(yōu)缺點(diǎn)

  • 優(yōu)點(diǎn):輕量、無額外進(jìn)程,依賴內(nèi)核轉(zhuǎn)發(fā),性能較好;
  • 缺點(diǎn):后端 Pod 數(shù)量多時(shí),iptables 規(guī)則會(huì)急劇增加,導(dǎo)致轉(zhuǎn)發(fā)延遲升高(適合中小規(guī)模集群)。

2. IPVS 模式(推薦大規(guī)模集群)

  • 原理:依賴 Linux 內(nèi)核的 IPVS(IP Virtual Server)模塊,kube-proxy 會(huì)創(chuàng)建 IPVS 虛擬服務(wù)(對(duì)應(yīng) Service),并將后端 Pod 作為 IPVS 真實(shí)服務(wù)器;

負(fù)載均衡策略:支持多種策略(可通過 Service 的 externalTrafficPolicy 或 internalTrafficPolicy 配置):

  • rr:輪詢(默認(rèn));
  • wrr:加權(quán)輪詢(根據(jù) Pod 權(quán)重分配流量);
  • lc:最少連接(請(qǐng)求分發(fā)到當(dāng)前連接數(shù)最少的 Pod);
  • sh:源地址哈希(同 iptables 的 ClientIP 親和性);

優(yōu)缺點(diǎn)

  • 優(yōu)點(diǎn):支持更多負(fù)載均衡策略,規(guī)則管理高效(適合大規(guī)模集群,Pod 數(shù)量上千);
  • 缺點(diǎn):需提前在節(jié)點(diǎn)上加載 IPVS 內(nèi)核模塊(modprobe ip_vs)。

七、Service 的常見問題與最佳實(shí)踐

1. 常見問題

Service 訪問不通?

  • 檢查 selector 是否與 Pod 標(biāo)簽匹配(kubectl describe svc <service-name> 查看 Endpoints 是否有 Pod IP);
  • 檢查 Pod 的就緒探針是否通過(未通過就緒探針的 Pod 不會(huì)加入 Endpoints);
  • 檢查 Pod 容器的 targetPort 是否與 Service 配置一致;
  • 檢查網(wǎng)絡(luò)策略(NetworkPolicy)是否阻止了 Service 到 Pod 的流量。

NodePort 端口沖突?

  • NodePort 范圍默認(rèn)是 30000-32767,若手動(dòng)指定 nodePort,需確保該端口未被其他 Service 或節(jié)點(diǎn)進(jìn)程占用;
  • 建議不手動(dòng)指定 nodePort,由 K8s 自動(dòng)分配,避免沖突。

2. 最佳實(shí)踐

  • 使用 DNS 名稱訪問 Service:避免硬編碼 ClusterIP,通過 service-name.namespace.svc.cluster.local 訪問(跨命名空間需加命名空間);
  • 為端口配置名稱:Service 和 Pod 的端口都配置 name(如 name: http),避免 targetPort 數(shù)字寫錯(cuò)導(dǎo)致轉(zhuǎn)發(fā)失?。?/li>
  • 大規(guī)模集群用 IPVS 模式:當(dāng)集群 Pod 數(shù)量超過 1000 時(shí),建議將 kube-proxy 切換為 IPVS 模式,提升負(fù)載均衡效率;
  • 生產(chǎn)環(huán)境用 LoadBalancer + Ingress:LoadBalancer 用于暴露 Ingress Controller,Ingress 用于管理多個(gè)服務(wù)的域名和路由(比直接用 LoadBalancer 暴露多個(gè) Service 更節(jié)省資源);
  • 有狀態(tài)服務(wù)用 Headless Service:StatefulSet 管理的服務(wù)(如數(shù)據(jù)庫集群)需固定網(wǎng)絡(luò)標(biāo)識(shí),搭配 Headless Service 可通過 DNS 發(fā)現(xiàn)所有 Pod。

八、總結(jié)

Service 是 K8s 中連接 “動(dòng)態(tài) Pod” 與 “穩(wěn)定訪問” 的核心橋梁,其核心能力是固定入口、負(fù)載均衡、服務(wù)發(fā)現(xiàn)。

在實(shí)際使用中,需根據(jù)場(chǎng)景選擇合適的 Service 類型(如集群內(nèi)用 ClusterIP、公網(wǎng)暴露用 LoadBalancer、訪問外部服務(wù)用 ExternalName),并結(jié)合 Endpoints、iptables/IPVS 等組件理解流量轉(zhuǎn)發(fā)邏輯,確保服務(wù)的穩(wěn)定訪問。

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • 詳解k8s ConfigMap 中 subPath 字段和 items 字段

    詳解k8s ConfigMap 中 subPath 字段和 items

    volumeMounts.subPath 屬性可用于指定所引用的卷內(nèi)的子路徑,而不是其根路徑,這篇文章主要介紹了詳解k8s ConfigMap 中 subPath 字段和 items 字段,需要的朋友可以參考下
    2023-03-03
  • K8s中Pod處于Pending狀態(tài)的八種原因分析

    K8s中Pod處于Pending狀態(tài)的八種原因分析

    文章詳細(xì)介紹了Pod處于Pending狀態(tài)的八種常見原因,并提供了相應(yīng)的排查和解決方法,這些原因包括資源不足、調(diào)度約束、存儲(chǔ)依賴、鏡像問題、配額限制、網(wǎng)絡(luò)暗礁、系統(tǒng)級(jí)異常以及冷門陷阱,每種原因都附帶了具體的診斷方法和解決建議,感興趣的朋友一起看看吧
    2025-02-02
  • kubernetes日志備份解決ELK中日志丟失問題

    kubernetes日志備份解決ELK中日志丟失問題

    這篇文章主要為大家介紹了kubernetes日志備份方案的細(xì)節(jié)探究分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-10-10
  • kubernetes?volume數(shù)據(jù)存儲(chǔ)的使用解讀

    kubernetes?volume數(shù)據(jù)存儲(chǔ)的使用解讀

    文章介紹了Kubernetes中容器的生命周期、持久化存儲(chǔ)的實(shí)現(xiàn)方式,以及常見的存儲(chǔ)卷類型,包括EmptyDir、HostPath、NFS、PV、PVC、ConfigMap和Secret等,通過這些存儲(chǔ)卷和配置,可以實(shí)現(xiàn)Pod中容器之間的數(shù)據(jù)共享、持久化存儲(chǔ)以及敏感信息的管理
    2025-12-12
  • 云原生時(shí)代的前端部署最佳實(shí)踐(含詳細(xì)代碼)

    云原生時(shí)代的前端部署最佳實(shí)踐(含詳細(xì)代碼)

    云原生安全架構(gòu)應(yīng)運(yùn)而生,它通過零信任、自動(dòng)化防護(hù)和全生命周期管理等理念,為企業(yè)提供從基礎(chǔ)設(shè)施到應(yīng)用層的全方位保護(hù),這篇文章主要介紹了云原生時(shí)代的前端部署最佳實(shí)踐,需要的朋友可以參考下
    2026-04-04
  • Rainbond的ServiceMesh架構(gòu)組件端口沖突處理解決

    Rainbond的ServiceMesh架構(gòu)組件端口沖突處理解決

    這篇文章主要大家介紹了Rainbond?ServiceMesh架構(gòu)組件端口沖突處理方式,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-04-04
  • 淺析k8s中各組件和kube?apiserver通信時(shí)的認(rèn)證和鑒權(quán)問題

    淺析k8s中各組件和kube?apiserver通信時(shí)的認(rèn)證和鑒權(quán)問題

    這篇文章主要介紹了k8s中各組件和kube?apiserver通信時(shí)的認(rèn)證和鑒權(quán),本文使用的k8s集群是用kubekey搭建,命令是./kk create cluster --with-kubernetes v1.21.5 --with-kubesphere v3.2.1,需要的朋友可以參考下
    2022-06-06
  • 云原生環(huán)境中的容器安全最佳實(shí)踐指南

    云原生環(huán)境中的容器安全最佳實(shí)踐指南

    云原生架構(gòu)是一種現(xiàn)代軟件開發(fā)方法,旨在通過充分利用云計(jì)算的優(yōu)勢(shì),提高應(yīng)用程序的靈活性、可擴(kuò)展性和維護(hù)性,這篇文章主要介紹了云原生環(huán)境中容器安全的相關(guān)資料,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2026-04-04
  • ragflow?k8s部署過程圖文詳解

    ragflow?k8s部署過程圖文詳解

    這篇文章主要介紹了ragflow?k8s部署詳細(xì)過程,本文將使用ragflow-0.18.0,來進(jìn)行演示詳細(xì)部署過程,需要的朋友可以參考下
    2025-04-04
  • k8s集群調(diào)度詳解(kube-scheduler)

    k8s集群調(diào)度詳解(kube-scheduler)

    Kubernetes調(diào)度器負(fù)責(zé)將Pod分配至Node節(jié)點(diǎn),采用預(yù)選(資源匹配)和優(yōu)選(資源利用率、鏡像緩存)策略,支持指定節(jié)點(diǎn)、標(biāo)簽及親和性(軟/硬策略)調(diào)度,確保資源高效利用與靈活分配
    2025-09-09

最新評(píng)論

上高县| 祁东县| 重庆市| 田东县| 桂东县| 汉阴县| 博兴县| 卫辉市| 中山市| 香格里拉县| 中方县| 丘北县| 枝江市| 屯门区| 宜兰市| 镇远县| 兴化市| 谢通门县| 烟台市| 兖州市| 东莞市| 松潘县| 牙克石市| 平乡县| 碌曲县| 连城县| 巍山| 茂名市| 清苑县| 菏泽市| 景谷| 上高县| 米易县| 视频| 南汇区| 三亚市| 佛山市| 马公市| 铁岭市| 昌江| 新安县|