99精品久久精品一区二区-亚洲熟妇无码?v在线播放-日本国产精品无码字幕在线观看-久久久亚洲永夜AV-亚洲一级无码一区二区一-免费国产成高清人在线视频-中文字幕乱码免费观看-国产毛片精品妇女久久久

ARTICLE DETAIL

資訊詳情

深耕商務(wù)建站與企業(yè)官網(wǎng)運(yùn)營的一線實(shí)戰(zhàn)洞察。

Kubernetes集群Pod CIDR與Service CIDR在線修改實(shí)戰(zhàn)指南

Kubernetes集群Pod CIDR與Service CIDR在線修改實(shí)戰(zhàn)指南 1. 動(dòng)手前必須想清楚的事:為什么要改Pod CIDR和Service CIDR先說個(gè)現(xiàn)實(shí)情況:Kubernetes集群的網(wǎng)絡(luò)地址段,最佳的調(diào)整時(shí)機(jī)是在集群創(chuàng)建之前。但實(shí)際運(yùn)維中,總有各種原因讓你不得不在集群運(yùn)行起來之后去動(dòng)這兩個(gè)網(wǎng)段。我自己碰到過的場(chǎng)景大概這么幾類:集群創(chuàng)建初期網(wǎng)段規(guī)劃拍腦袋定得太隨意,結(jié)果Pod一多就把網(wǎng)段地址耗盡;或者是公司網(wǎng)絡(luò)策略調(diào)整,原來用的10.x網(wǎng)段和公司內(nèi)部其他系統(tǒng)的網(wǎng)段沖突了;還有的是多集群統(tǒng)一管理需求,每個(gè)集群的網(wǎng)段必須要納入統(tǒng)一規(guī)劃,結(jié)果老集群的網(wǎng)段不合規(guī)。Pod CIDR管的是集群里每一個(gè)Pod的IP從哪里分配,Service CIDR管的是ClusterIP從哪個(gè)網(wǎng)段來。這兩個(gè)網(wǎng)段一旦定下來,幾乎所有網(wǎng)絡(luò)相關(guān)的組件都會(huì)圍繞它們工作,改起來等于整個(gè)集群的網(wǎng)絡(luò)系統(tǒng)要?jiǎng)右淮未笫中g(shù)。但好消息是:如果你的集群是基于kubeadm部署的標(biāo)準(zhǔn)集群,結(jié)構(gòu)清晰、組件干凈,那么這個(gè)操作是完全可以完成的,而且有相對(duì)穩(wěn)定的操作路徑可以走。如果你用的是云廠商托管的Kubernetes服務(wù),大概率沒有這個(gè)權(quán)限去改,這類操作基本只適用于自建的、可控的集群環(huán)境。在決定動(dòng)手之前,先花一天時(shí)間確認(rèn)自己是真的需要改,而不是懶得重建集群。原因很簡單:整個(gè)過程的停機(jī)時(shí)間、排查成本、出問題回滾的復(fù)雜度,大概率比重建一個(gè)集群要高出不少。如果集群規(guī)模小、應(yīng)用都是無狀態(tài)的,重建新集群然后把應(yīng)用遷過去,可能比你想象中更快更穩(wěn)。但如果集群里有大量的持久化存儲(chǔ)、復(fù)雜的網(wǎng)絡(luò)策略、或者很多依賴固定IP的老應(yīng)用,那就只能選擇在線修改這條路。我自己經(jīng)歷過一次生產(chǎn)環(huán)境的修改,當(dāng)時(shí)集群的大小大概是30多個(gè)節(jié)點(diǎn),Pod數(shù)破千,Service也有幾百個(gè)。整個(gè)操作花了大概4個(gè)小時(shí)的維護(hù)窗口,中間踩了不少坑,有一兩個(gè)坑差點(diǎn)把集群搞癱。這篇文章,就是想把整個(gè)過程的思路、步驟、坑,完整地寫出來。2. 需要?jiǎng)拥兜暮诵慕M件與牽連面分析2.1 哪些組件管著這兩個(gè)網(wǎng)段Pod CIDR和Service CIDR在Kubernetes里不是存到一個(gè)魔法配置文件里就完事的,而是散布在多個(gè)組件的啟動(dòng)參數(shù)、資源對(duì)象的字段和聲明里。先列一下核心組件。kube-controller-manager負(fù)責(zé)管理整個(gè)控制面的控制器邏輯,它有兩個(gè)參數(shù)在這件事里非常關(guān)鍵。--cluster-cidr參數(shù)決定了為每個(gè)節(jié)點(diǎn)分配Pod子網(wǎng)時(shí)的總范圍,換句話說,整個(gè)集群的Pod網(wǎng)段是由它用一把大尺子劃出來的。--service-cluster-ip-range參數(shù)則決定了Service的ClusterIP可以從哪些地址中分配。這兩個(gè)參數(shù)分別控制Pod網(wǎng)段和Service網(wǎng)段的總邊界,是全局配置中的頂層設(shè)置。接著是kube-apiserver,它只涉及Service CIDR,通過--service-cluster-ip-range參數(shù)來決定Service資源在創(chuàng)建時(shí)從哪個(gè)范圍給你分配ClusterIP。這個(gè)參數(shù)在apiserver和controller-manager里必須保持一致,不然會(huì)出現(xiàn)Service創(chuàng)建成功但I(xiàn)P分配不遵循預(yù)期的情況。再往下是kubelet,每個(gè)節(jié)點(diǎn)上的kubelet會(huì)從所在節(jié)點(diǎn)的Pod CIDR子網(wǎng)里給Pod分配IP。Node資源對(duì)象上有個(gè)spec.podCIDR字段,在kubeadm部署的集群中,這個(gè)字段默認(rèn)是kube-controller-manager里的節(jié)點(diǎn)IPAM控制器自動(dòng)分配的。調(diào)用節(jié)點(diǎn)宿主機(jī)的網(wǎng)絡(luò)工具時(shí)會(huì)引用這個(gè)字段,所以這個(gè)字段的值如果和實(shí)際不匹配,Pod網(wǎng)絡(luò)就起不來。然后是kube-proxy。它本身不直接配置CIDR,但它的iptables或IPVS規(guī)則里到處都是基于Service CIDR的判斷邏輯和加載規(guī)則。Service的ClusterIP發(fā)生變化時(shí),如果只改了控制面的參數(shù),但kube-proxy還在用舊網(wǎng)段加載規(guī)則,那網(wǎng)絡(luò)轉(zhuǎn)發(fā)就會(huì)出現(xiàn)各種奇怪的問題。最后是網(wǎng)絡(luò)插件層。無論是Calico、Flannel還是Cilium,它們?cè)诩撼跏蓟臅r(shí)候,都會(huì)讀取配置來指定網(wǎng)絡(luò)通告范圍、IP池范圍、路由發(fā)布策略。這些配置和kube-controller-manager的CIDR設(shè)置必須對(duì)齊。這里用個(gè)生活化類比:整個(gè)集群像一個(gè)小城市的規(guī)劃。Pod CIDR是居民住宅區(qū)的總地塊范圍,Service CIDR是商業(yè)區(qū)的總地塊范圍。政府(控制器)負(fù)責(zé)分割土地,警察局(網(wǎng)絡(luò)插件)負(fù)責(zé)維護(hù)治安巡邏路線。你要把整個(gè)城市的地塊重新劃分,就必須同時(shí)讓規(guī)劃局、政府、警察局、以及每個(gè)建筑物里的物業(yè)(節(jié)點(diǎn)上的kubelet)全部同步到位,不然就會(huì)出現(xiàn)有人按舊地圖辦事的情況。2.2 修改后受影響的資源清單不考慮清楚哪些資源和數(shù)據(jù)會(huì)受到影響,貿(mào)然動(dòng)手改,后面必定是要吃苦頭的。我先梳理一下會(huì)被直接影響的東西。第一類,是所有已經(jīng)創(chuàng)建出來的Service。Service的ClusterIP一旦分配就不會(huì)自動(dòng)變。假如你的Service CIDR原來是10.96.0.0/12,現(xiàn)在已經(jīng)有一堆Service拿到了10.96.x.x的IP。你改成10.100.0.0/16后,這些舊IP的Service不會(huì)自動(dòng)遷移,它們還在舊網(wǎng)段里,但apiserver和kube-proxy已經(jīng)不認(rèn)這個(gè)網(wǎng)段了。結(jié)果就是DNS解析出來的ClusterIP是一個(gè)“外面的世界已經(jīng)不認(rèn)”的地址,流量轉(zhuǎn)發(fā)直接斷掉。第二類,是所有已經(jīng)分配了IP的Pod。每個(gè)節(jié)點(diǎn)上的子網(wǎng)是由節(jié)點(diǎn)IPAM分配的,比如原節(jié)點(diǎn)的Pod CIDR子網(wǎng)是10.244.1.0/24,里面已經(jīng)跑了幾個(gè)Pod,分別拿到了10.244.1.5、10.244.1.6這些地址。你修改總網(wǎng)段之后,如果不處理這些存量Pod,它們會(huì)繼續(xù)占著舊地址運(yùn)行,直到被重建。所以在線修改Pod CIDR的過程,本質(zhì)上就是個(gè)節(jié)點(diǎn)分批驅(qū)逐、然后讓節(jié)點(diǎn)重新獲取新子網(wǎng)、再讓Pod在新子網(wǎng)里重建的過程。第三類,是Kubernetes內(nèi)置的DNS服務(wù)。kube-dns或者CoreDNS本身也是以Pod的形式運(yùn)行的,它也有自己的Service。如果你的Service CIDR一改,CoreDNS的Service ClusterIP也會(huì)變,而集群里所有應(yīng)用是通過這個(gè)ClusterIP去訪問DNS的,如果這個(gè)IP沒同步好,整個(gè)集群的域名解析都會(huì)出問題。第四類,是網(wǎng)絡(luò)插件的狀態(tài)。Calico的IP池?cái)?shù)據(jù)、Flannel在etcd里的網(wǎng)絡(luò)配置,這些東西如果不更新,網(wǎng)絡(luò)插件會(huì)和Kubernetes控制面的認(rèn)知互相打架。最典型的表現(xiàn)就是:Pod成功創(chuàng)建了,但一直處于ContainerCreating狀態(tài),因?yàn)榫W(wǎng)絡(luò)插件不知道自己應(yīng)該給新Pod做網(wǎng)絡(luò)配置。所以,改CIDR不是改一批配置文件重啟組件那么簡單。它實(shí)際上是在做一次有風(fēng)險(xiǎn)的網(wǎng)絡(luò)重構(gòu)。3. 完整執(zhí)行步驟:從環(huán)境備份到集群恢復(fù)3.1 執(zhí)行前的檢查、備份與風(fēng)險(xiǎn)預(yù)估強(qiáng)烈建議在執(zhí)行前把所有可能用到的信息先備份下來,這不是可選項(xiàng),是必選項(xiàng)。第一步,備份etcd。Kubernetes集群的幾乎所有狀態(tài)都存在etcd里,包括所有Service的ClusterIP分配、Node的podCIDR字段、網(wǎng)絡(luò)插件的狀態(tài)。etcd備份是最有底氣的一步,有了它,萬一操作到一半發(fā)現(xiàn)走不通,可以快速回滾到操作前的狀態(tài)。etcd的備份方式看你的部署方式,kubeadm自帶的etcd一般是靜態(tài)Pod,可以直接在etcd Pod里用etcdctl snapshot save命令做快照。注意在快照前先設(shè)置好ETCDCTL_API3環(huán)境變量,防止默認(rèn)走v2協(xié)議。第二步,記錄當(dāng)前所有Service的ClusterIP。用kubectl get svc -A -o wide把每個(gè)名字空間下的Service的ClusterIP、類型、選擇器等信息全部導(dǎo)出來。后面如果你需要手動(dòng)重建Service,這些信息就是依據(jù)。第三步,記錄當(dāng)前所有Node的podCIDR字段。用kubectl get nodes -o json | jq .items[] | {name: .metadata.name, podCIDR: .spec.podCIDR}之類的命令把所有信息記錄到文件里。第四步,和團(tuán)隊(duì)確認(rèn)收益。把所有應(yīng)用都列出來,檢查哪些是無狀態(tài)應(yīng)用、可以接受重建,哪些是有狀態(tài)應(yīng)用、依賴持久化存儲(chǔ)或固定IP。有狀態(tài)應(yīng)用的處理策略是單獨(dú)定義的,不要在維護(hù)窗口里現(xiàn)想。還有一些前置條件必須確認(rèn)。集群一定是kubeadm部署的或者類型接近的標(biāo)準(zhǔn)集群,管理組件是靜態(tài)Pod形式或者systemd服務(wù)形式。如果集群是用云平臺(tái)自帶的部署工具做的,大概率不可改。集群中不能有正在執(zhí)行中的資源變更操作,維護(hù)窗口內(nèi)要禁止其他同事在集群里做任何變更。3.2 控制面組件的修改順序與重啟技巧整個(gè)操作的順序有個(gè)總原則:先改控制面,再改數(shù)據(jù)面;先改配置,再動(dòng)節(jié)點(diǎn);先在測(cè)試節(jié)點(diǎn)驗(yàn)證,再逐步擴(kuò)大范圍。控制面的修改,主要落在/etc/kubernetes/manifests/目錄下的三個(gè)靜態(tài)Pod的YAML文件里,分別是kube-apiserver.yaml、kube-controller-manager.yaml、kube-scheduler.yaml。kube-apiserver.yaml里的--service-cluster-ip-range參數(shù)是必須改的。舉例來說,原來配置是--service-cluster-ip-range10.96.0.0/12,要改成--service-cluster-ip-range10.100.0.0/16,保留好SDN之前的參數(shù),不要?jiǎng)悠渌渲谩ube-controller-manager.yaml里要改兩個(gè)參數(shù):--cluster-cidr控制Pod分配的總網(wǎng)段,--service-cluster-ip-range控制Service網(wǎng)段的范圍。這里有個(gè)非常容易踩的坑:controller-manager和apiserver的Service CIDR參數(shù)必須完全一致,否則會(huì)導(dǎo)致kube-controller-manager在分配Service IP時(shí)產(chǎn)生診斷和分配行為的不一致。改完這兩個(gè)文件之后,kubelet會(huì)檢測(cè)到靜態(tài)Pod清單文件發(fā)生變化,自動(dòng)重啟對(duì)應(yīng)組件。這一步是kubeadm的標(biāo)準(zhǔn)機(jī)制,不需要手動(dòng)操作,但要記住一件事:apiserver和controller-manager是分開的靜態(tài)Pod,它們的重啟是逐個(gè)進(jìn)行的。在apiserver重啟期間,所有kubectl操作會(huì)短暫不可用,這是正?,F(xiàn)象。需要特別注意的是kube-apiserver和kube-controller-manager的啟動(dòng)順序。理論上先改哪一個(gè)都行,但實(shí)際操作中我的經(jīng)驗(yàn)是先改controller-manager再改apiserver。因?yàn)閏ontroller-manager重啟失敗的影響小于apiserver重啟失敗的影響,先處理風(fēng)險(xiǎn)小的組件更合理。等apiserver重啟完成后,立刻檢查kubectl get --raw/healthz來確認(rèn)API Server恢復(fù)健康。組件重啟完成后,去etcd里確認(rèn)一下是否已經(jīng)有新的Service IP開始被分配??梢杂胑tcdctl get /registry/services/specs --prefix的方法去查看,也可以直接創(chuàng)建兩個(gè)測(cè)試Service看它們分配到的ClusterIP是不是新網(wǎng)段里的地址。如果新創(chuàng)建的Service拿到的還是舊網(wǎng)段的IP,說明apiserver或controller-manager的修改沒有生效,需要回到配置文件里排查。3.3 處理存量Service的ClusterIP遷移策略控制面組件改完并且確認(rèn)新Service能拿到新網(wǎng)段IP之后,接下來面對(duì)的就是一堆已經(jīng)存在且IP還是舊網(wǎng)段的存量Service。處理思路不復(fù)雜:把Service刪掉,再用新的ClusterIP重新創(chuàng)建。但是這里有個(gè)細(xì)節(jié),直接刪掉Service對(duì)外部服務(wù)的影響是短暫的,因?yàn)镾ervice的Endpoints數(shù)據(jù)可能在刪除的瞬間被清掉,而后端Pod卻還正?;钪?。對(duì)于集群內(nèi)部應(yīng)用,馬上重建一個(gè)新的同名Service,流量會(huì)無縫切換,因?yàn)樗袘?yīng)用是通過Service名加端口訪問的,不再依賴舊的ClusterIP。但我強(qiáng)烈不建議一條條命令去手動(dòng)操作,即使再小的集群,也不值得把時(shí)間花在不停輸入kubectl命令上。我推薦寫一個(gè)簡單的腳本,把上面第1步記錄的所有Service信息讀進(jìn)來,逐個(gè)處理。腳本的核心邏輯:遍歷全部名字空間下所有非默認(rèn)類型的Service,針對(duì)ClusterIP類型的進(jìn)行重建。先執(zhí)行刪除,再把原Service配置導(dǎo)出成YAML后,把spec.clusterIP字段置空,交給apiserver自動(dòng)分配新網(wǎng)段里的IP。注意保留原來所有的labels、selector、ports和annotations。有個(gè)特殊的Service必須提前想好方案:CoreDNS的Service。等所有存量Service都重建完之后,再單獨(dú)處理CoreDNS。原因是CoreDNS一旦被重建,集群內(nèi)所有DNS解析都會(huì)短暫中斷,而不只是某一個(gè)應(yīng)用的流量中斷,所以要放在最后一步來做,把影響面控制在最短時(shí)間內(nèi)。還有一類特殊情況:給定了固定clusterIP的Service。有些應(yīng)用在設(shè)計(jì)時(shí)會(huì)給Service的clusterIP指定一個(gè)固定值,這類Service依賴舊網(wǎng)段的權(quán)限設(shè)定,是必須修改配置里指定的clusterIP的。先把YAML配置里的spec.clusterIP改成新網(wǎng)段里的一個(gè)可用地址,再執(zhí)行重建。否則apiserver會(huì)直接報(bào)錯(cuò),不會(huì)讓你創(chuàng)建成功。3.4 節(jié)點(diǎn)層面Pod CIDR的遷移:節(jié)點(diǎn)驅(qū)逐與重新分配存量Service的問題處理完之后,接著處理最折騰的部分:節(jié)點(diǎn)Pod網(wǎng)段的遷移。每個(gè)節(jié)點(diǎn)只能處理它自己被分配的Pod子網(wǎng),而每個(gè)節(jié)點(diǎn)的子網(wǎng)一旦分配了就不會(huì)自動(dòng)變。kube-controller-manager的節(jié)點(diǎn)IPAM控制器只會(huì)在節(jié)點(diǎn)剛加入集群、spec.podCIDR字段還沒有值的時(shí)候去分配子網(wǎng),如果已經(jīng)分配了,它不會(huì)自動(dòng)重新分。想要讓節(jié)點(diǎn)拿到新網(wǎng)段的子網(wǎng),思路是:把節(jié)點(diǎn)踢出集群,再讓它重新加入。在kubeadm集群里,這個(gè)過程就是kubectl drain加上重新初始化,但實(shí)際的流程會(huì)更加精細(xì)。我的操作順序是這樣的:標(biāo)記節(jié)點(diǎn)為不可調(diào)度:kubectl cordon node-name驅(qū)逐節(jié)點(diǎn)上的Pod:kubectl drain node-name --ignore-daemonsets --delete-emptydir-data在節(jié)點(diǎn)上重置kubeadm:kubeadm reset清除或修改節(jié)點(diǎn)上網(wǎng)絡(luò)插件的狀態(tài)信息(具體取決于網(wǎng)絡(luò)插件)重新執(zhí)行kubeadm join,把節(jié)點(diǎn)加回集群取消節(jié)點(diǎn)不可調(diào)度標(biāo)記:kubectl uncordon node-name等待該節(jié)點(diǎn)上的Pod全部重建完成驗(yàn)證該節(jié)點(diǎn)的spec.podCIDR已經(jīng)是新網(wǎng)段注意驅(qū)逐時(shí)--ignore-daemonsets是必須的,因?yàn)镈aemonSet的Pod不應(yīng)該也不行被驅(qū)逐,比如網(wǎng)絡(luò)插件的DaemonSet。--delete-emptydir-data也是必須的,否則使用emptyDir的應(yīng)用Pod會(huì)因?yàn)閿?shù)據(jù)需要被刪除而一直處于驅(qū)逐失敗狀態(tài)。這里有一個(gè)沒人會(huì)提前告訴你的大坑:節(jié)點(diǎn)的驅(qū)逐順序要考慮網(wǎng)絡(luò)插件本身。Calico或Flannel這類網(wǎng)絡(luò)插件是以DaemonSet形式跑在每個(gè)節(jié)點(diǎn)上的,它們的DaemonSet Pod天然不可被驅(qū)逐,但這不代表網(wǎng)絡(luò)插件沒有狀態(tài)需要清理。拿Calico舉例,如果節(jié)點(diǎn)上的calico-node和calico-kube-controllers正常工作,你在節(jié)點(diǎn)上執(zhí)行了kubeadm reset,節(jié)點(diǎn)會(huì)脫離集群,但是Calico的IP池里可能還殘留著這個(gè)節(jié)點(diǎn)之前分配過的Pod子網(wǎng)狀態(tài)。如果不清理,節(jié)點(diǎn)重新加入時(shí),IPAM控制器會(huì)嘗試給同一個(gè)節(jié)點(diǎn)分配新的子網(wǎng),這時(shí)Calico的數(shù)據(jù)存儲(chǔ)里可能存在沖突,節(jié)點(diǎn)上的新Pod會(huì)一直拿不到IP,一直處于ContainerCreating。所以我推薦的處理方式:在節(jié)點(diǎn)被重置之前,要把Calico對(duì)該節(jié)點(diǎn)的IP池分配信息清掉。Calico通過CRD資源做IP池管理時(shí),通常是直接刪除Node資源中對(duì)應(yīng)的BGP Peer和IP池綁定記錄。一般通過calicoctl node status去查看和清理,或者在節(jié)點(diǎn)重新加入后手動(dòng)設(shè)置跨越現(xiàn)有池和新的池之間的路由。這一部分非常依賴你用的網(wǎng)絡(luò)插件,沒法給出通用命令。但通用思路是:保證網(wǎng)絡(luò)插件認(rèn)為這個(gè)節(jié)點(diǎn)是一個(gè)全新的、沒有歷史包袱的節(jié)點(diǎn)。如果集群規(guī)模不大,還有一種不走kubeadm reset的做法:手動(dòng)改Node的spec.podCIDR字段,然后讓kubelet重新初始化網(wǎng)絡(luò)。這個(gè)方法理論上省事,但實(shí)際操作中踩坑無數(shù),原因是kubelet初始化時(shí)的很多網(wǎng)絡(luò)判斷邏輯是基于節(jié)點(diǎn)已有的子網(wǎng)配置來的,你強(qiáng)行改了字段但不清理舊網(wǎng)絡(luò)接口和路由表,大概率起不來。除非你非常了解你的網(wǎng)絡(luò)插件和kubelet的網(wǎng)絡(luò)初始化邏輯,否則我強(qiáng)烈不推薦手動(dòng)改字段,老老實(shí)實(shí)走驅(qū)逐、重置、重新加入的流程更安全。重新加入節(jié)點(diǎn)之后,立刻用kubectl get node node-name -o jsonpath{.spec.podCIDR}去檢查新子網(wǎng),確認(rèn)是新網(wǎng)段。然后檢查節(jié)點(diǎn)上的Pod是不是都從新子網(wǎng)里拿到的IP,可以用kubectl get pods -A -o wide | grep node-name確認(rèn)。3.5 網(wǎng)絡(luò)插件的同步調(diào)整網(wǎng)絡(luò)插件層的調(diào)整是整個(gè)操作里最容易被忽視、后果卻最嚴(yán)重的部分。先說Flannel的情況。Flannel的配置是存在ConfigMap里的,而且實(shí)際生效的配置在etcd里。如果你用的是kubeadm自帶的Flannel方案,網(wǎng)絡(luò)配置在kube-flannel-cfg這個(gè)ConfigMap里,但真正驅(qū)動(dòng)flanneld的網(wǎng)絡(luò)配置是存在etcd里的一份JSON配置。最穩(wěn)妥的操作是:先把ConfigMap里的Network字段改成新網(wǎng)段,再刪除Flannel的DaemonSet Pod,讓所有節(jié)點(diǎn)的flanneld用新配置重啟一遍。但這還不夠,Flannel會(huì)在每個(gè)節(jié)點(diǎn)上創(chuàng)建cni0網(wǎng)橋和flannel.1隧道接口,這些老接口如果不清理,新配置起來時(shí)可能會(huì)判斷“接口已存在”而跳過重新配置,結(jié)果就是新Pod拿到新網(wǎng)段的IP,但流量完全不通。Calico的情況稍微復(fù)雜一點(diǎn)。Calico用IPPool CRD定義IP池,如果Pod CIDR改了,需要?jiǎng)?chuàng)建對(duì)應(yīng)新網(wǎng)段的IPPool,并且要處理IPAM的地址分配序列。在節(jié)點(diǎn)重新加入集群之前,需要先配置好新網(wǎng)段的IPPool,否則calico-ipam給節(jié)點(diǎn)上的Pod分配IP時(shí)會(huì)發(fā)現(xiàn)沒有對(duì)應(yīng)的池可用。Cilium也比較類似,它不一定用CRD管理網(wǎng)絡(luò)范圍,有些場(chǎng)景直接讀kube-controller-manager的--cluster-cidr來綁定規(guī)則。這種情況下,只要控制面的配置改對(duì)了,kube-proxy也改對(duì)了,網(wǎng)絡(luò)插件會(huì)自動(dòng)基于新CIDR工作。但如果你在Cilium里顯式配置過cluster-pool-ipv4-cidr,就必須同步修改。這里給一個(gè)通用的判斷思路:所有網(wǎng)絡(luò)插件本質(zhì)上都在回答“集群的Pod網(wǎng)段范圍是多少”和“某個(gè)節(jié)點(diǎn)負(fù)責(zé)哪個(gè)子網(wǎng)”這兩個(gè)問題。你的調(diào)優(yōu)目標(biāo)就是讓網(wǎng)絡(luò)插件對(duì)這兩個(gè)問題的回答,和Kubernetes控制面的回答保持一致。不一致的表現(xiàn)通常很簡單直接:Pod一直處于ContainerCreating,報(bào)錯(cuò)信息指向網(wǎng)絡(luò)配置沖突。3.6 kube-proxy與各節(jié)點(diǎn)參數(shù)的同步處理kube-proxy的運(yùn)行模式通常不影響修改后的行為,它的配置是動(dòng)態(tài)監(jiān)聽Service和Endpoint,基于apiserver的數(shù)據(jù)生成轉(zhuǎn)發(fā)規(guī)則。理論上,只要控制面的Service CIDR改了,kube-proxy會(huì)自動(dòng)適配新規(guī)則。但是這里有潛在問題:kube-proxy在啟動(dòng)時(shí)通過--cluster-cidr參數(shù)判斷是否需要開啟--masquerade-all等特性時(shí)用的網(wǎng)段還是舊值。所以我在操作中的做法是:改完控制面之后,順手把每個(gè)節(jié)點(diǎn)的kube-proxy配置文件里的CIDR字段同步改掉。kube-proxy的配置默認(rèn)在kube-system名字空間下的kube-proxy這個(gè)ConfigMap里,里面有個(gè)clusterCIDR字段,把它改成新的Pod CIDR即可。改了ConfigMap后,重啟所有節(jié)點(diǎn)的kube-proxy Pod,讓它們重新加載配置。這一步不做的后果是:節(jié)點(diǎn)上kube-proxy還是用舊網(wǎng)段作為判斷流量是否需要做NAT的基準(zhǔn),新網(wǎng)段的Pod流量可能會(huì)出現(xiàn)源IP被錯(cuò)誤處理的狀況,表現(xiàn)為跨節(jié)點(diǎn)訪問Service正常,但Pod訪問外部網(wǎng)絡(luò)時(shí)源IP不對(duì),導(dǎo)致很多第三方服務(wù)的回調(diào)、日志、狀態(tài)判斷全部出錯(cuò)。3.7 集群內(nèi)應(yīng)用服務(wù)的最終驗(yàn)證組件和節(jié)點(diǎn)都處理完之后,不代表就完事了。驗(yàn)證環(huán)節(jié)是整個(gè)流程里最后一道保險(xiǎn)。我的驗(yàn)證清單大概是這樣:先驗(yàn)證基礎(chǔ)網(wǎng)絡(luò):在兩個(gè)不同的節(jié)點(diǎn)上分別創(chuàng)建兩個(gè)測(cè)試Pod,互相ping對(duì)方的Pod IP,確認(rèn)跨節(jié)點(diǎn)Pod通信正常。再驗(yàn)證Service訪問:部署一個(gè)簡單的測(cè)試應(yīng)用和Service,在集群內(nèi)使用kubectl run創(chuàng)建一個(gè)臨時(shí)的curl Pod,curl測(cè)試Service的ClusterIP加端口,確認(rèn)Service轉(zhuǎn)發(fā)正常,CoreDNS域名解析正常。接著驗(yàn)證外部訪問:如果集群里有Ingress或者LoadBalancer類型的Service,必須逐個(gè)驗(yàn)證。NodePort類型的Service也要測(cè)試,因?yàn)镹odePort的端口范圍仍然需要和Service的ClusterIP通過kube-proxy規(guī)則配合,這里出問題影響面比較大。然后要驗(yàn)證有狀態(tài)應(yīng)用:如果你的集群里有StatefulSet,它有穩(wěn)定的網(wǎng)絡(luò)標(biāo)識(shí)和存儲(chǔ)卷,重建后要確認(rèn)PVC綁定正常、數(shù)據(jù)完整性沒有受到損害。這一步容易出現(xiàn)各種存儲(chǔ)層的問題。最后驗(yàn)證監(jiān)控和日志,這個(gè)很多人會(huì)忘記。監(jiān)控Agent(比如node-exporter的DaemonSet)訪問apiserver的方式、日志采集Agent的端點(diǎn)配置,這些不會(huì)因?yàn)镃IDR變化自動(dòng)更新,如果它們的配置里寫死了舊IP,會(huì)一直報(bào)錯(cuò)。我見過某次操作之后監(jiān)控?cái)?shù)據(jù)完全中斷的情況,原因就是Prometheus的配置文件里寫死了一個(gè)舊網(wǎng)段的Service ClusterIP。4. 實(shí)際操作過程中的免坑指南4.1 執(zhí)行流程的時(shí)間表與回滾方案整個(gè)過程的時(shí)間節(jié)奏,按我做過一次的規(guī)模(30節(jié)點(diǎn)、Pod上千、Service幾百)來算:控制面修改與驗(yàn)證約40分鐘,存量Service重建約30分鐘,節(jié)點(diǎn)逐個(gè)遷移約2.5小時(shí)(每個(gè)節(jié)點(diǎn)約5到8分鐘),網(wǎng)絡(luò)插件與kube-proxy調(diào)整約30分鐘,最終驗(yàn)證約30分鐘??傆?jì)4小時(shí)左右,這已經(jīng)是比較理想的情況。如果中間出現(xiàn)意外,比如節(jié)點(diǎn)驅(qū)逐卡住、網(wǎng)絡(luò)插件狀態(tài)清理不干凈,時(shí)間會(huì)翻倍。所以維護(hù)窗口至少準(zhǔn)備6個(gè)小時(shí),并且要有一個(gè)明確的回滾機(jī)制?;貪L的前提就是etcd快照。什么情況下要回滾?我自己的判斷標(biāo)準(zhǔn)是:apiserver或controller-manager重啟后一直不健康,且15分鐘內(nèi)無法解決;或者前幾個(gè)節(jié)點(diǎn)驅(qū)逐后新子網(wǎng)分配異常,Pod創(chuàng)建不起來,說明網(wǎng)絡(luò)插件控制面和節(jié)點(diǎn)對(duì)齊的過程存在根本性缺陷;或者發(fā)生了數(shù)據(jù)面網(wǎng)絡(luò)大面積中斷,導(dǎo)致核心業(yè)務(wù)長時(shí)間不可用?;貪L操作本身不復(fù)雜:停掉kubelet,恢復(fù)etcd快照,再把控制面組件配置恢復(fù)原樣,所有節(jié)點(diǎn)上的kubelet網(wǎng)絡(luò)接口全部清理后重啟kubelet。但回滾也不便宜,它基本等于一次集群重啟,所以這個(gè)決策要果斷,不要猶豫。改了CIDR最怕的就是“再試著調(diào)調(diào)”,這和在高速公路上邊開車邊修方向盤沒區(qū)別。4.2 我踩過的幾個(gè)經(jīng)典坑第一個(gè)坑是Drain節(jié)點(diǎn)時(shí),有Pod卡在Terminating。原因通常是這個(gè)Pod的終止依賴某個(gè)已刪除的Service或者PVC,驅(qū)逐過程一直握手失敗。解決辦法是檢查這個(gè)Pod的事件,找到依賴關(guān)系,把依賴問題處理完后重新驅(qū)逐。不要一開始就--force,強(qiáng)制刪除Pod可能讓業(yè)務(wù)徹底中斷。第二個(gè)坑是節(jié)點(diǎn)重新加入后,kubelet反復(fù)重啟。原因通常是kubeadm reset之后,節(jié)點(diǎn)上留有舊的CA證書或kubelet配置,導(dǎo)致新的kubeadm join生成的證書和apiserver不匹配。解決辦法是在重置后清理干凈/etc/kubernetes/目錄、/var/lib/kubelet/目錄,必要時(shí)也把/etc/cni/net.d/目錄下的網(wǎng)絡(luò)插件配置一起清掉再重新加入。第三個(gè)坑是網(wǎng)絡(luò)插件的IPv4Pool殘留。我在處理一個(gè)Calico集群時(shí)就遇到這個(gè),新節(jié)點(diǎn)重新加入集群后,節(jié)點(diǎn)上的Pod報(bào)Calico IPAM: no IPs available的錯(cuò)誤。查下來是Calico的block還在被舊節(jié)點(diǎn)信息引用,舊節(jié)點(diǎn)信息沒有清理干凈。解決方法是刪除Calico的IPAM數(shù)據(jù)中對(duì)該節(jié)點(diǎn)的引用,或者用calicoctl把對(duì)應(yīng)的IPPool和block一并刪除再重新放。第四個(gè)坑比較隱蔽:部分應(yīng)用Pod里寫死了舊網(wǎng)段的IP。比如某個(gè)中間件的配置里指定了舊網(wǎng)段的數(shù)據(jù)庫Pod IP,節(jié)點(diǎn)驅(qū)逐重建后,數(shù)據(jù)庫的Pod拿到了新IP,但應(yīng)用的配置還指向舊IP,應(yīng)用自然連不上數(shù)據(jù)庫。這個(gè)只能在遷移前就做排查,把所有應(yīng)用配置里的硬編碼IP找出來,在維護(hù)窗口開始前就發(fā)公告讓相關(guān)應(yīng)用Owner們處理好自動(dòng)重連邏輯。4.3 什么時(shí)候應(yīng)該放棄在線修改最后一定要說清楚一個(gè)現(xiàn)實(shí):如果集群里有下面這幾個(gè)條件,不太建議用在線修改的方案。集群里有大量依賴固定IP訪問的應(yīng)用,并且這些應(yīng)用沒有配置中心化管理的配置;集群里存在比較多的StatefulSet且每個(gè)Pod的PVC沒有做異地備份;網(wǎng)絡(luò)插件版本的定制化程度很高,修改和調(diào)試成本難以預(yù)估;或者集群規(guī)模巨大節(jié)點(diǎn)的數(shù)量超過50個(gè)。在這些情況下,我個(gè)人的傾向是明確告訴團(tuán)隊(duì):重建集群,做應(yīng)用遷移。時(shí)間成本不一定更高,穩(wěn)定性卻高出很多。在線改CIDR真正合適的前提是:應(yīng)用無狀態(tài)化程度高、網(wǎng)絡(luò)配置全部走Service和DNS的抽象層、網(wǎng)絡(luò)插件是常見的標(biāo)準(zhǔn)組件、團(tuán)隊(duì)手里有完整的配置管理能力。這四個(gè)條件缺一個(gè),風(fēng)險(xiǎn)都會(huì)讓操作收益變得非常不值得。5. 操作后的長期影響與收尾工作操作完成且業(yè)務(wù)驗(yàn)證無異常之后,還有幾個(gè)長期項(xiàng)需要做。第一,把所有集群的CIDR規(guī)劃文檔同步更新,避免后續(xù)建設(shè)者不知道新網(wǎng)段規(guī)劃。第二,將所有組件的配置參數(shù)檢查一遍,確保沒有遺漏的舊網(wǎng)段引用。第三,把這次操作的復(fù)盤記錄寫好,把所有踩過的坑和對(duì)應(yīng)解法整理成文檔,方便未來有人遇到同樣的問題時(shí)有據(jù)可查。此外,把etcd的新快照再備份一份,確保當(dāng)前狀態(tài)有一個(gè)安全備份點(diǎn)。這一步很多人做完操作之后會(huì)忽略,結(jié)果下次出問題時(shí)發(fā)現(xiàn)備份的還是改CIDR之前的狀態(tài),恢復(fù)反而一個(gè)大回退。最后再發(fā)一個(gè)有價(jià)值的經(jīng)驗(yàn):不管哪個(gè)組件出了問題,排查的第一命令永遠(yuǎn)是journalctl -u kubelet -f或者查看對(duì)應(yīng)靜態(tài)Pod的日志,而不是到處猜。網(wǎng)絡(luò)問題排查的第一命令永遠(yuǎn)是ip route、ip addr和iptables -t nat -L -n,把實(shí)際路由和規(guī)則先看一遍,再去看配置。大多數(shù)“配置沒問題”的網(wǎng)絡(luò)故障,本質(zhì)上都是實(shí)際生效的東西和配置里寫的東西不一致而已。改CIDR這件事,風(fēng)險(xiǎn)高但路徑清晰。做好每一步的確認(rèn),控制好節(jié)奏,列清楚回滾方案,應(yīng)對(duì)好細(xì)節(jié)問題,是可以在不重建集群的前提下完成的。但作為運(yùn)維,真正重要的不是“能不能改”,而是“值不值得改”,以及“如果真的改掛了,能不能在一小時(shí)以內(nèi)恢復(fù)”。把這兩個(gè)問題想清楚了,再動(dòng)手,你的勝算就大很多。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
97久久超碰| 九色视频这里只有精品| 亚洲亚洲人成综合网络| 秋霞AV淫| 66精品成人免费网站在线观看| 欧美色图天堂网色| 五月天色色色网| 五月婷婷激情| 五月婷婷六月丁香综合| 先锋av性爱成人电影| 91日日日| 丁香熟女乱| 色色色99| 婷婷综合色色| 色色色婷| 狠狠操狠狠插| www.com五月天| www,8050,午夜三级| 性做爰1一7伦| 久久九九色| 五月丁香亚洲综合| 婷婷色情五月| 激情黄色小说五月天| 99A级片| 亚洲国产精品二二三三区| 成人在线日韩欧美| 5五月综合网亚洲| 五月天免费色| 免费黄色视频网址| 亚洲欧美综合7777色婷婷| 婷婷五月,综合伊人| 99热国产精品| www.日韩国产| 国产免费AV网站| 天天插,天天射| 丁香九月久久| 九九热九九| 婷婷五月天小说网| 五月天婷婷丁香六月| 99r这里只有精品哦| 五月丁香婷婷老司机| 无码少妇高潮喷水A片免费| 色婷久久| 99九九综合久久九九| 这里只有精彩亚洲视频推荐| 丁香婷婷精品视频| 色色综合日韩| 亚洲女婷婷五月基地综合久久久| 夜夜操少妇| 怕怕視頻| 久久9视频欧美| 亚洲AV无码成人精品区电影网| 欧美婷婷色| 婷婷五月天网| 丁香五月婷婷欧美性爱| 欧美三级视频| 97在线/日本| 伊人婷婷99热精品| 性爱七区| 久草五月婷婷| 精品无码av丁香五月激情| 久久久久久9| 9人人操人人看| 99资源在线视频| 五月丁香大相交| 97碰成超视频免费视频| www.91九色| www.综合久久.com| 狠狠操狠狠爱| 99热在线观看| 丁香六月啪啪| 丁香五月婷婷社区| 看逼中文字幕| 婷婷色五月丁香六月欧美啪| 精品网站99| 久99| 欧美欧盟性爱网| 天天色综和网| 高清无码中文字幕aVDV| 狠狠色综合网| 99碰碰| 色情综合| 97五月婷| 色激情五月| 成片免费观看大全| WWW.久久久久久久| 久热这里有精品视频| 丁香5月综合啪啪| 99热在线里有精品| 丁香成人五月天| 久色网址| 91综合视频丁香| 婷婷激情五月天小说| 亚洲AV第二区国产精品| 狠狠五月丁香色婷| 狠狠干在线| 日韩久久色| 人妻操逼视频| 亚洲综合色婷婷文学| 色五月婷婷五月天激情综合| 国产精品噜噜在线视频| 亚洲性视频| 另类视屏| 五月综合在线婷婷图片| 97超碰在线免费观看| 激情五月综合网| 9精品久久999| www.婷婷| 99网| 久久久99精品免费观看| 丁香婷婷色九月| 国产中文亚洲欧美日韩性交| 五月婷婷真爱激情网| 狠狠丁香| 久久国产AV| 99热新网址| 日本在线视频手机播放五月婷| 99热精地址| 久久婷婷色综合| 国产小精品| Aaa久久| 丁香六月激情四射| 99成人精品| 久久伦乱| 欧美三级级99久久| 天天操天天谢| 丁香激情网| 第四色色色色色丁香五月天| 欧洲亚洲免费视频区| 婷婷五月天激情综合深爱激情| 五月婷婷丁香瑟瑟视频| CHINESE熟女老女人HD视频| 99操免费视频| 色狠久| 久久久久久久人妻| 狠狠爱综合网| 色色五月天网站| 久久A极片| 91碰在线| 欧美色宗和激情| 丁香五月婷婷色综合| 综合色五月| 天天日日爽| 99亚洲精品| 五月婷婷九九热| 五月天激情AAAA| 激情五月婷婷网| 狠狠色噜噜狠狠狠777奇米| 在线成人网址| 色5月婷婷色| 婷婷色色网站| 丁香五月六月激情| 综合六月久久| 伊人在线婷婷草| 九九碰九九爱97| AV网在线观看| 五月亚洲| 伊人久热91| 这里只有精品久| 九九精品热| 婷婷五月天六点丁香五月| 亚洲成人色五月婷婷综合| 色婷婷综合久久久久| 九月av在线| ss五月天激情| 疯狂做受XXXX高潮A片| 色色色色五月天| 99亚洲视频| 91久久网站| 婷婷五月天xxx| 五月天婷婷视频小说| 色五月丁香A欧美com| 婷婷五月天免费小说| 日本色99| 亭亭丁香aV| pom538精品视频| 欧美超碰亚洲| 日夜夜久久| 一起草AV入口| 丁香六月婷婷综合在线| 超碰在线播放免费观看| 成人在线99| 色婷婷综合在线| 久久性爱视频这里只有精品 | 51国精产品自偷自偷综合| 4399人妻无码久久久| 少妇激情五月天| 超碰在线资源| 激情五月丁香社区| 午夜九九九九九九九九九九九九九| 这里只有精品99视频| 丁香六月久久| 亚州激情在线视频| 教师性爱毛片| 久久99热精品a片在线观看| 嫩草AV久久伊人妇女超级A| 狠狠 婷婷| 亚洲妇女熟BBW| 天天综合图片| 天堂网色色| 久热亚洲| 91久久久久久| 黄网在线免费| 天天操夜夜操| 中文网AV| 七七色综合| 人人爱人人草| 人妻中文在线| 久在热99| 日本久久天堂| 日本成人小说婷婷六月| 东北黄色一级| 五月婷丁香| 日本va视频| www99xxxx五月丁| 五月伊人网| Av狠狠色丁香婷| 日日噜噜夜夜狠狠久久丁香五月| 99在线热视频| 丁香五月aV| 五月婷婷激情久久| 欧美成人AAA片一区国产精品| 99视频精品全部免费观看| 色婷婷aV四虎| 九九色影视| 成人婷婷桔色| 六月婷婷久久| 日本eVa一区=区视频| 色色哒五月婷婷六月丁香| 久99久视频免费观看| 成人丁香色| eeuus五月婷| 免费在线观看av网站| 超碰97免费在线| www.av视频xx999.com| 国产婷婷婷| 久热播这里只有精品| 九热久| 久久思思热| 亚洲夜夜操| 精品久热| av最新在线| 五月婷婷啪啪| 婷婷五月天堂| 色婷婷五月天激情在线观看| 日日干日日s| 久久婷婷丁香视频网| 伊人五月婷婷| 激情图片婷婷| 久久亚洲婷婷综合色五月| 九九九九无码| 婷婷婷婷午夜| 色婷婷久久| 五月天婷婷无码| 激情美女五月天| 人人干女人| 777米奇影视第四色| 涩涩涩.com| 六月丁香婷| 久久久国产精品黄毛片| 99亚州综合精品成人网| 亚洲无码11| 激情网开心网| 五月婷婷这里都是精品| 猫咪伊人久久| 丁香五月天激情四射网| Av在线资源| 少妇被下春药玩弄A片| 日本久久人人| 91九色中文字幕女在线观看| 91成人性爱视频| 精品色色网| 99亚洲精美视频在线观看| 婷婷在线网| 另类天堂| 手机旧版看人妻1025| 深爱激情九九五月天 | 另类图片色五月| 久9热插入| 99操99| 天天色官网| 久久九九99| 色婷婷五月丁香色| 操草草草| 成人网站高清无码| 亚洲偷| 无码色| 日日日日日| 色五开心五月五月深深爱| 国产精品噜噜在线视频| 深爱五月综合网| 天天看A片| 九月色婷婷婷| 激情五月婷婷她| 五月丁香婷婷狠狠操| 成人做爰高潮A片免费视频| www.五月天婷婷| 婷婷久久网| 五月天婷婷操逼视频| 五月天婷婷综合免费| 丁香99| 丁香婷婷综合激情五月色| 丁香五月婷久久| 亚洲人妻五月丁香婷婷| 激情五月天激情综合网| 亚洲五月天狠狠| 天天橾日日橾夜夜橾17| 婷婷色色欧美| 婷婷激情社区| 亭亭社区五月天| 久99久热只有精品国产99| 97色伦另类图片小说视频| 丁香婷停五月激情综合深爱| 婷婷五月天综合色| 人妻少妇色综合| 婷婷大乡焦噜噜| 久大香蕉| 九九色逼| 五月丁香| 91碰碰碰久久久久| 久99久精品视频| 97天堂| 日本激情ⅩXX免费视频| 六月婷婷狠狠做| 人人人操97| 六月丁香激情网| 久久综合五月天| 色五月成人| 91视频精品99| 97色在线| 欧美色色色色色色色色| 丁香五月激情婷婷| 激情激情激情网| 色五月丁香婷婷在线观看| 丁香六月婷婷久久综合| 婷婷五月av| 婷婷影视久久| 7超碰自拍| 这里只有精9| 俺去啦综合网| 99热综合| 久人人操| 丁香五月综合久久八| 激情婷婷五月色| 伊人五月天在线| 日本久久精品| 欧美,日韩成人在线| 丁香六月婷| 精品婷婷五| 九九久久视频| 色情五月综合婷婷| 美女xx不卡| 婷婷五月天中文字幕.| www.minyis.com【JT】国内CDN落地页保证转化QQ2101460746 | 色五月激情基地| 丁香六月婷婷久久综合| 国产偷人爽久久久久久老妇APP| 婷婷激情五月天激情小说| 91viP在线看| 日韩久久这里只有精品| 婷婷五月色播放| 婷婷五月综合丁香久久| 色色影院aaaav| 人人干人人看| 超碰亚洲欧美| 色综合丁香| 99热这里只有精品官网| 99在线精品视频| 久久九九99桃花视频| 免費亭亭成人| 99熟女| 丝雨一区二区| 色五月av伊人| 色99视频| 色色色婷婷五月天| 五月天婷婷久久视频| 久久久18| 久久九九综合| 99精品性爱| www.五月婷婷| 激情九色| 婷婷五月天开心网| www.色色色com| 天天爽在线视频| 激情五月天婷婷在线网址发给我| 超碰亚洲欧美| 2025最新亚洲激情在线| 天天天天天天操| 99re热在线视频观看| 思思色综合网站| 亚洲操b| 亚洲色色五月天| 丁香六月婷婷综合在线| AⅤ网站在线看| 九九热视频精品2| 色婷五月天| 九九九AAA热视频| 黄色99视频| 91久久精品无码一区二区三区| 色婷婷狠狠禁久久| 婷婷丁香综合成人| 五月丁香综缴情性爱| sS丁香五月婷婷| 久久性爱视频| 91精品国产91久久久久青草| 泰州成人视频| 中文字幕成人影视| 人人人舔人人人操人人人摸人人人97| 久久艹 五月天| 久久在这里有精品| 婷婷丁香社区| 天天撸夜夜爽| 丁香五月花影院| 亚洲XX日本| 伊人婷婷激情| 第九色区av天堂| 夜夜夜天天操| 五月婷婷色| 五月天天天操天天爽夜夜操| 五月激情综合网| 99在线精品观看99| 激情丁香九九五月综合网| 2015WWW永久免费观看播放| 噜噜五月天综合| 97AV人人插人人操| 五月婷婷深深爱| 丁香六月激情国产| 天天日夜夜爽| 亚洲、欧美、国产另类笫二区| 五月天婷婷綜合院| www色色色com| 做爰丰满少妇1313| 五月丁香六月婷婷的女人| 久久婷婷五月综合色区| 人人操AV| 狠狠干狠狠色| 国产精品扒开腿做爽爽爽A片唱戏| 可以免费看av网站| 久久久精品免费啪啪国| 九九热最新地址| 伊人五月婷婷国产视频| 日本精品99网站| 婷婷色导航| 五月激情站| 丁香婷婷五月激情综合| 色婷婷色综合久久精品V| 色婷婷激情五月天| 91精品在线看| 天天综合天综合久久网| 玖玖爱综合网| 狠狠狠狠狠草| 婷婷六月激情| 超碰人人摸人人操| 大香蕉综合| 丁香成人五月天| 免费无码毛片一区二区A片| 另类色视频| 久99999热视频在线观看免费| 五月丁香婷婷伊人| 超级碰碰视频无码| 国产亚洲99久久精品| 亚州色色色| 天天爽天天爽天天爽天天爽天天爽| 国产日韩精品SUV| 天天综合网网欲色| www.婷婷| 色婷婷狠狠禁久久| 99re热视频这里只精品| 这里只有精品免费视频在线观看| 欧美三日本三级少妇三99| 九九碰九九爱97| 激情婷婷网| 51成人| 少妇人妻偷人精品无码视频新浪| 99性爱视频| 人妻狠狠操| av在线免费播放观看| 亚洲精品激情| 97资源碰碰| 婷婷五月天福利| 99爱视频在线| 狠狠擼综合| 亚洲色婷婷五月天| 九九成人电影婷婷| 激情五月影院| 婷婷成人五月天成人文学| 开心深爱五月天| 综合婷| 99综合视频| 久久久久人妻网址| 中文字幕簧片| 亚洲综合激情五月久久| 日韩视频女神99| 香蕉AV福利精品导航| 俺也去在线视频| 超碰在线91| 婷婷伊人综合| 亚洲精品无人区| 久久久久久综合88| 播播网色播播| 狠狠xx| 青青草婷婷综合五月| 免费AAAAA网| 超碰在线免费9| 97超碰色| tingtingcaobi| 伊人激情AV一区二区三区| 69精品人人人人| 丁香五月成人| 婷婷的色色五月天| 99re这里只有| 亚洲婷婷五月天激情| 激情五月婷婷色播网| 五月视频日本免费观看| 广东99色在线| 婷婷五月天成人娱乐| 色婷婷久久综合| xxxx久| 五月丁香六月婷| 亚洲欧美一区二区三区四区爱爱动图| 思思精品久久艹| 开心婷婷五月花| 99热久久这里只有精品| 五月丁香拍拍激情综合| 色五月天天| 五月婷婷综合色啪| 久久996re热这里只有精品无码| 日本女va| 婷婷色播综合五月| 五月天婷婷丁香视频| 综合色天天| www.国产亚洲69ty.久久久久久久久久久久| 操91| 婷婷五六日| 日本狠狠爽| 婷婷丁香六月影视| 热的无码综合视频| 婷婷丁香五月高清| 玖玖五月丁香| 99热伊人| 最近韩国日本免费高清观看| 国产婷伊人| 婷婷狠狠综合网入口| 久久R激情| 97人人妻人人艹| 五月婷久久综合| 91精品视频男人的天堂| 伊人www22综合色| 九月丁香婷婷综合| 九九视频这里是精品五月| 五月丁香婷婷五月色| 五月婷深深爱激情网| 婷婷五月天男人影院色色网| 99精品综合| 丁香六月啪啪啪| 色婷婷激情| 欧美日韩精品人妻狠狠躁免费视频 | 六月婷婷视频| 97丁香五月| 深爱五月天| 色婷婷色99国产综合精品| 狠狠的日| 中文超碰视在线| 综合玖玖偷拍| 五月欧美色播| 九九精品视频在线6| 另类小说色婷婷| 99精品久久| 免费观看全黄做爰的视频| 思思热99er| 国产熟女大叫受不了| 亚洲激情丁香五月天色| 欧美成人五月天| 91黄址| 国产真人做爰视频免费| 色综合偷拍| 综合天天综合| 中国激情网| 另类图片色五月| 五月婷婷 欧美| 五月丁香婷爱在线| 亚洲中文字幕网| 五月丁香久久激情综合| www九九热| 婷婷五月天激情小说网站| 天天综合五月天| 中国丰满熟女A片免费观| 久久五月婷综合网| 色色影院aaaav| 天天插综合| 亚洲国产精品VA在线看黑人| 欧美久久久久久久久中文字幕| 九色PORNY9l原创自拍| 激情色情五月天| 91色久| 婷婷综合国产| 立川无码av| 五月丁香激情综合| 五月丁香久久久| 超碰91在线| 五月丁香六月婷婷视频| 欧美搡BBBBB摔BBBBB| 中文字幕日韩成人| 六月丁香色婷婷| 亚洲人妻av| 一本色道久久88加勒比—| 欧美综合婷婷网| 婷婷久久五月| 91chinese 在线| 九九热视频免费的| 精品久热| 丁香六月啪| 色婷婷婷婷| 黄色片久久| 丁香5月激情网| 播播网色播播| 色yeye欧美| 久久精品小视频| 俺去也综合| 熟女网站久久| 久久538| 热99玖玖99玖玖99九九| 亚洲激情五月婷婷日日| 开心激情五月天网| 九九九日本熟女| 九九在线精点品| 伊人99久久| 久久婷婷六月综合资源| 色墦五月丁香| 这里只有精品视频视频在线观看| 九久9精品| 日本人人干| 久久六月综合| 香蕉五月婷婷| 操操日韩| 婷婷淫淫狠狠六月| 第1影院之五月婷婷| 天天天天天天天操| 99色在线观看视频者| 狠狠色丁香婷婷基地| 五月丁香激情啪啪| 开心 五月 综合| 大香蕉啪啪啪| 午夜婷婷丁香| 色婷视频| 热99精品视频观看| 国外亚洲成AV人片在线观看 | 久操无码| 久操大香蕉| 欧美三级欧美一级| 99热99色| 开心五月婷婷| 婷婷五月AA五月在线| 欧美日韩成人| 五月婷婷成人w| 99国产精品久久久久久久久久久| 五月婷婷六月爱| 草草夜夜操| 狠狠狠狠狠操| 国产人人操| 五月天亚洲综合网| 午夜爱爱网站| 色综合色色| 婷婷基地成人五月天| 久99热| 婷婷综合成人五月天| 超碰狠狠干99| 天天久| 玖玖婷婷综合| 久久久久9| 激情小说五月天中文字幕| 欧美成人AAA片一区国产精品| 五月丁香亚洲五月| 9色在线视频精品观看| 天天拍天天操| 婷婷99狠狠躁天天躁| 激情第四色| 婷婷香五月| 天久久久久| 99热这里只有精品16| 五月婷婷少妇之| 99久久五月婷婷| 伊人网碰碰| 狠狠色婷婷在线| 色色色五月天婷婷| 五月婷婷六月丁香玖玖玫瑰91| 久久综合中文| 五月天色小说| 丁香六月婷婷久久综合| 九九综合视频在线观看| 99久热视频在线| 99ri视频在线播放| 精品无码色| 97se在线视频| 色欲色香综合网| A A色色| 六月丁香婷婷综合在线| 久久最新色色色| 一本到不卡高清DVD| 99欧州偷拍视频| 亚洲色欲欧美一区二区三区| 九月av在线| 色色色色网| 九九免费精品| 综合激情五月四射婷婷| 婷婷六月丁综合| 色婷婷小说| 这里只有精彩亚洲视频推荐| 久久婷婷热| 99综合97| 色色国产| 婷婷五月天成人网| 丁香五月骚喷水视频| 久9热视频| 亚洲日本韩国| 91精品无码| www.色擼擼.com| 午夜婷婷丁香| 色综合偷拍| 香蕉人妻AV久久久久天天| 开心激情站| 能看的AV网站| 久久香蕉网| 老师把我爽高潮了免费A片| 99热色精品| 九艹在线| 天天做天天摸| 丁香六月视频| 婷婷五月天在线看| 黄色一级影片| 日韩成人无码片| 精品一二三区久久AAA片| 久久9精品视频| 色婷婷久久综合丁香五月| 99re思思| 婷婷激情性爱| 激情婷婷九月| 91猫咪国产在线播放| 专区无日本视频高清8| 婷婷中文无码| 狠狠人人婷婷| 五月天社区狠狠| 久久久久综合激动五月天| 色五月色五天色情网| 自拍视频99| 五月丁香久久激情网| 成年人看Va免费视频| 欧美日韩999| 亚洲中文丁香| 91在线操逼视频| 丁香香蕉婷婷| 我要色综合五月婷婷| 久久激情五月婷婷| 欧美日韩国产一二区| 亚洲人成网亚洲欧洲无码久久| 婷婷五月花丁香| 极品少妇XXXX精品少妇偷拍| 日本4399天堂中出| 天天肏视频| 九九久久网| 国产在线aaa片一区二区99| 91大神操美女| 涩涩涩五月天| 九九色婷婷五月天| 六月丁香视频网站| 伊人狠狠丁香婷婷综合尤物| 狠狠色中色| 五月激情丁香五月宗合| 亚洲欧美婷婷五月色综合| 一区二区三区四区牛| 丁香色啪综合| 婷婷五月天小说| 亚洲免费观看高清完整版AV线| 久久这里有精品在线观看| 五月丁香激情综合| 久久伊人婷婷| 99操免费视频| 91seAV| 日韩六六久久电影| 超碰久热| 婷婷色网| 永久免费视频| 99色日本| 色综合色色色| 婷婷五月丁香99| 秋霞电影理论| 国产精品久久久久久久久久| 亭亭玉立国色天香| 国产成人网| 99热99精品| 丁香婷婷六月男男| OUMEIRIHANCHENGREN| 这里只有精品在线看| 亚洲乱码日产精品BD| 久热这里这里有精品| 激情色色色| 综合激情五月丁香| 欧美日综合| AV在线免费播放| 99九九在线精品热动漫| 综合色网站| 丁香五月天婷婷中文字幕| 99在线爽| 丁香桃色网| 精品导航在线x不卡| 五月丁查人人| 亚洲天堂玖玖| 另类小说激情五月天| 亚洲成人综合网在线免费观看| 色婷婷激情五月天在线观看| 九色99视频| 婷婷五亚洲| 久久久久九九九九视屏小说88| 这里只有精彩视| 丁香五月天堂亚洲社区| 五月婷婷婷婷婷| AV片在线观看| 99re思思热久久| 久久五月情| www.夜夜操.com| 大香蕉五月| 婷婷六月激情| 91丨九色丨东北熟女| 人人干av| 婷婷美女精品视频| 无码91中文字幕| 婷婷激情啪啪| 欧美碰碰碰| 激情婷婷五月天| 九九精品综合| 网站免费一站二站| 停停色综合伊人| 五月天开心色色网| 99热免| 日本丁香久在线| 久久99精品视频| 综合激情啪啪| 99久久精品免费精品国产_国产精品久久久久久_国产在线|日韩_久久国产精品电影 | 五月天激情视频| 午夜九九九九九九九九九九九九九| 97干免费视频| 丁香亭亭久久| 最新无毒无码AV| 色吧五月婷婷| 色婷婷久久天天性爱| 做爱夜夜干天天操| 99国产在线精品视频| 天天爽免费视频| 色婷婷久久综| 亚洲午夜av| 五月天婷婷青青草| 91人人操人人看| 天天干 夜夜爽| 五月社区婷婷激情| 色婷婷啪啪| 丁香色五月 97干| 五月 丁香 欧美| 91久久九九| 综合网色| 天天日,夜夜爽| 91xxxx九色| 激情综合网五月| 五月天激情网页| 97欧美在线| 久久香蕉影院| 狠狠色综合网站久久久久| 大香蕉五月天婷婷丁香91| 婷婷五月天基地| 99热这里只有精品国产首页| 丁香五月首页| 免费视频在线观看的网站| 综合网五月| 99惹在线精品免费观看| 91日本在线| 日本片日本片祼观看网站在线看中文版网页在线看 | 天天综合色丁香| 就爱日五月天| 久久综合性| 婷婷丁香五月欧美人| 久9热视频| 免费无码毛片一区二区A片| 日本五月天婷婷丁香| 久久天天天| 99热97美女| 九九婷婷网五月天| 情婷婷五月天| 超碰狠狠操| 日韩久久日| 天天干天天干天天干天天干天天干| 婷婷五月天美女视频| 九九热欧美| 91五月花丁香| 久久丁香五月天| 五月伊人婷婷| 深爱丁香网| 婷婷五月色惰| 中文字幕有多少字| 五月色网| 女高怪谈在线观看| 91操色| 九九色大香蕉| 热久久999| 色五月丁香网| 999热这里只有精品| 色综合爱综合| 丁香六月久久| www网站在线观看| 久久婷综合| 五月丁香婷婷视频| 99热这里只有精品50| 日韩成人精品中文字幕| www五月天com| 婷婷五月天99综合网站| 五月婷婷六月丁香综合在线| 久久婷婷五月天蜜桃| 六月丁香婷婷网| 丁香色色网| 婷婷五月a| 97人妻超级碰碰碰碰碰| 婷婷激情小说| 亚洲AV网站在线观看| 欧美爆乳一区二区三区| 久久er九九| 99啪啪视频| 久久婷婷东京热| 亚洲av综合在线| JAPANRCEP老熟妇乱子伦视频 | 9久久精品| 天天澡天天狠天天天做| 狠狠色婷婷六月激情网| 国产在线6| 超碰九色| 久久久99婷婷久久久久久| 丁香五月婷婷www..com| 中文字幕乱码亚洲精品一区| 99久久这里只有精品| 九九色综合网| 日日干日日| 亭亭五月色男人| 天天成人丁香美女AV| 婷婷狠狠久久| 国产亚洲色婷婷99精品| 大香蕉精品视频| 991精品在线视频| 99久久亚洲国产| 99热黄| 999热视频精品99免费在线| 亚洲精品久久久久久久久久吃药| 五月婷婷,六月丁香| 在线视频另类| 99啪99| 99色综合| 日日夜夜天天| 99热只有| 久久人妻视频| 六月丁香五月婷婷| 天天综合网站| 五月激情站| 日欧大屏操| 丁香六月五月天| 久久免费婷婷视频| 人妻久久久久久久久久久| 天天日天天干天天插天天射| 一本伊人色婷| 成人色色视频| 99热这里只有精品18| 激情五月狠狠| 毛片色五月| 午夜丁香婷婷| 五月丁香影院| 五月丁香久人妻中文| 精品成人在线观看| 中文字幕在线播放视频| 噜噜五月天综合| 丁香六月婷婷综合| 丁香五月天啪啪| 99在线精品免费视频| 激情内射人妻1区2区3区| 97人妻超级碰碰碰碰碰| 九九九九热99超碰| www.cao.com久久| 色婷婷影音| 久热超碰91| 91精品婷婷国产综合久久| 99热精品在线播放| 第2色五月婷| 天色综合网站| 人人爽亚洲| 五月天开心婷婷激情网站 | 婷婷九月综合| 狠狠大香婷婷爱| 亚洲综合色婷| 婷婷五月天国产性感美女演员久久久久| 热99.com婷婷| 色婷亚洲| 国产激情AV| 九九sese| 另类小说五月天激情| 色狠狠综合入口| 99操免费视频| 操一操干一干| 成人AV在线中文版| 97国产精品女人碰碰| 99在线资源| 天天 青草 制服丝袜 在线| 五月花婷婷最新| 《蜘蛛女》梁铮1995| 五月天操逼网| 色婷婷亚洲婷婷在线观看| 成人五月天丁香| 色五月大香蕉| 色五月天 丁香| 婷婷五月激情的图片| 亭亭玉立国色天香| 久热a| 五月天婷婷丁香| 91综合在线| 久久久久亚洲AV综合| 五月丁香趴趴| 丁香丁婷五月激情| 天天成人综合视频| 日韩在线观看亚洲| 大香蕉久久| 日韩操啪| 亚洲婷婷五月天在线激情综合网| 丁香婷婷啪啪啪| 狠狠干在线| 超碰碰碰碰| 欧美69色| 五月色婷婷亚洲 | 风流少妇A片一区二区蜜桃| 婷婷五月在线| 久操操| 九九无码视屏| 久操人妻| 九九精品9| 深夜男女福利刺激影院一区完整| 久久人妻情侣| 日本一级特黄大片AAAAA级| 久草热久草在线视频| 色99无码| mmm1717.6dbm人人爱人人操| 婷香五月激情视频| 色色婷婷五月| 日本99视频精品免费播放| VA国产在线综合网站| 色色亚洲视频| 中文字幕按摩做爰| 五月丁香婷婷激情影院欧美| 婷婷热婷婷色| 天天肏天天肏天天肏| 久久综合久色欧美综合狠狠| 丁香婷婷色九月| 色婷婷五月天堂资源| 99热这里都是精品| 婷婷六月香| 五月丁色AV| 五月丁香亭亭| 9色91视频| 91天天操天天干天天射| 婷婷丁香人妻天天| www.99视频| 69久久99精品久久久久| 99精品在线下载| 99热在这里只有精品| 婷婷五月丁香综合桃花色网| 5月婷婷6月丁香aV| 丁香婷婷基地| 99ri视频在线观看| 五月天婷婷色播| 99热伊人| 久久久久久久久久久月丁| 欧洲亚洲欧洲99久久| 亚洲日日操| 婷婷六月综合基地| 色五月丁香在线| 99综合网| 久久在这里99| 综合色五月| 狠狠狠夜夜夜| 久久婷婷影院| 九九综合伊人| 婷婷五月丁香六月| 久久婷婷免费| 亚洲精品操一操、噜一噜、摸一摸、爽| 国产精品日日躁夜夜躁| 好大好粗嗯啊-一级黄色大片免费观看-成人AV | 91久久| 亚洲婷婷欧美婷婷| 9色资源在线| 激情五月婷婷网在线观看| 成人在线日韩| 日本黄色在线观看| 色五XX| 色青青电影色五月| 五月六月丁香婷婷在线观看| 欧美日韩999| 91九色视频在线观看| WWW五月| AV色色天堂中文| 天天粽合合合合| 久久婷婷影院| 色婷婷WWW| 少妇高潮一区二区三区99欧美| 人妻激情视频| 色五月AV| 婷婷色一二三区波多野结衣| 九九无码视屏| 99人人爽| 热久久国产视频| 中文字幕丰满孑伦无码专区| 26UUU成人网| 六月婷婷综合| 热的五码久久精品| 丁香婷婷深情五月亚洲| 九九色影院| 久99久视频| 欧美色色色色色色色| 99热新网址| 97人妻碰碰碰久久香蕉| 高清无码网址| 秋霞AV美国| 人人草人人舔| www、丁香五月天| 久9热视频| 丁香狠狠色婷婷| 五月丁香啪综合| 亚洲无线视频| 色综合色五月| 久热9| 亚洲色网络| 婷婷五月天堂网| 96丁香六月婷婷蜜桃综合久久| 久久五月天激情美女| 五月叮香啪| 五月婷婷与六月丁香图片激情| 综合色播| 欧美丁香六月在线观看视频| 丰满老熟妇BBBBB搡BBB | 免费看欧美成人A片无码| 伊人日日干| 色五月婷婷成人| 开心五月深爱五月丁香五月激情五月| 丁香五月亚洲综合| 丁香久久| 夜夜久久综合网 | 99精品网| 丁香五月激情欧欧美| 99精彩视频网站在线| 午夜激情五月| 青青草原爱爱网| www.婷婷.com| 色五月激情综合网| 久久女婷| 99在线国| 丁香久久九九99| 日韩综合久久| 丁香五月六月久久综合 | 久久成人天| 久久婷婷五| 亚洲免费99| 婷婷开心深爱五月天| 亚洲国产精品VA在线看黑人| 五月丁香六月婷婷在线播放| 任我肏视频精品| 婷婷色五月开心五月| 日本一级一级一级一级| 专区无日本视频高清8| 丁香五月婷婷俺也要去| 九色激情网| 天天精品视频免费观看| 精品人妻久久久| 人操人| 日韩婷婷| 丁香五月亚洲无码| 丁香六月欧美| 婷婷中文在线| 激情伊人五月婷婷久久| 99操网站| 色色免费网站| 狠狠色狠狠操| 黄桃AV无码免费一区二区三区| 天天操夜夜夜拍拍拍| 婷婷五月超碰| 婷婷99狠狠躁天天| 人人干天天操五月丁香| 久久久五月天婷婷成人网| 婷婷五月天综合网| 婷婷五月天视频小说| 久艹久| 岛国AV网| 亚洲精品九九| 99久久婷| 丁香五月天精品| 996精品热视频| 久久久人妻| 99性色| 丁香五月天无码AV| 五月丁香六月停停停| 九九RE视频在线精品| 翔田千里无码| 棕合影院色色| 无码少妇高潮喷水A片免费| 人妻久久久| 五月婷婷色男女| 四季AV综合网| 国产精品99久久久久久久女警| 橾逼网| 丁香五月在线伊人| 毛片蕉地一二| 97色婷| 婷婷综合五月天| 婷婷另类开心| 大香蕉人在线65| 丁香五月五月婷婷欧美大香蕉| 91狠狠色丁香| 五月综合亚洲婷婷| 99九九玖玖| 激情九月丁香婷婷| 婷婷五月丁香基地| 天天婷婷色六月| 色狠狠激情五月| 婷婷欧美激情| 香蕉97碰碰碰欧美| 色色色五月婷婷| 91精品综合久久久久久五月丁香 | 婷婷另类小说| 狠狠操狠狠操| 狠狠色婷婷丁香六月| 26uuu丁香婷婷五月| 国产毛片操B| 另类图片五月天| www.9797国产| 日本成人小说婷婷六月| 噜噜狠狠| 9999热在线免费观看| 亚洲免费综合一区| 九九热在线精品视频| 五月激情综合网| 日韩综合大黄| 婷婷色女| 色你久久| 香蕉色色网| 三年高清大片免费观看国语| 色五月天激情| 丁香五月天啪啪| 五月欧美色色五月| 五月天另类小说亚洲| 激情六月天婷婷| 壅壅儕家a| 91无码色色| 26uuu欧美| 亚洲不卡| 亚洲激情久久| 99在线精品视频免费观看20| 五月婷婷久久综合| 日本色频| 91视频一起草| 99偷拍视频在线日本| 91碰免费视频| 国产亚洲成AV人片在线观黄桃| 五月天激情小说| 日本色99| 成人短视频在线免费观看| 亚洲99热| 丁香五月婷婷在线视频|