久久亚洲成a人片熟女精品色一区二区三区|国产精品视频第一精品视频|av天堂热无码手机版|亚洲?v无码久久无遮挡|国产精品偷伦视频免费观看国产|麻豆国产自产精品丰满熟妇|av无码av不卡一区二区|久久亚洲精品中文字

ARTICLE DETAIL

資訊詳情

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

OpenShift CLI 完全指南:從 oc 與 kubectl 的關(guān)系到生產(chǎn)運(yùn)維實(shí)戰(zhàn)

OpenShift CLI 完全指南:從 oc 與 kubectl 的關(guān)系到生產(chǎn)運(yùn)維實(shí)戰(zhàn) 如果你是從 Kubernetes 社區(qū)轉(zhuǎn)到 OpenShift Container Platform 的第一次打開官方文檔大概率會看到一個高頻詞oc。我先說我的結(jié)論——oc不是kubectl的簡單改名它是 OpenShift Container Platform 面向使用者、開發(fā)者、運(yùn)維者統(tǒng)一暴露的命令行入口。這個工具值得你花一個下午認(rèn)真過一遍因?yàn)楹竺嫠腥粘2僮鲝牡卿浖?、?chuàng)建應(yīng)用、查看構(gòu)建、滾動發(fā)布到給用戶授權(quán)、節(jié)點(diǎn)維護(hù)幾乎都離不開它。我最早接手的一個集群環(huán)境比較特殊控制臺頁面有時因?yàn)榫W(wǎng)絡(luò)策略限制訪問不了但跳板機(jī)上只要配好了oc所有操作照常進(jìn)行。團(tuán)隊(duì)成員里有從kubectl轉(zhuǎn)過來的也有完全不懂 K8s 的通過oc反而更快上手了。這篇文章不打算寫成像文檔那樣逐條列命令而是按我實(shí)際使用的路徑來梳理先搞懂它和kubectl的關(guān)系再把環(huán)境準(zhǔn)備好接著跑通一個應(yīng)用上線的完整鏈路最后聊聊排障和運(yùn)維。這樣一套下來你至少能應(yīng)付 80% 的日常工作。1. 為什么 OpenShift 要單獨(dú)維護(hù)一把oc而不是直接用kubectl1.1 命令層面oc是kubectl的超集最直觀的理解方式是所有kubectl能做的事oc都能做。oc get pod、oc describe node、oc apply -f、oc logs這些命令的語法和輸出習(xí)慣和kubectl保持一致所以如果你已經(jīng)熟悉kubectl遷移成本幾乎為零。但oc不是只做了命令改名它額外擴(kuò)展了一批 OpenShift 特有資源的操作。比如oc get route查看路由規(guī)則oc get imagestream查看鏡像流oc get buildconfig查看構(gòu)建配置oc get deploymentconfig查看部署配置這些對象在標(biāo)準(zhǔn) K8s 里沒有對應(yīng)概念用kubectl查不到。剛轉(zhuǎn)換過來的同事最容易在這卡住明明oc get all里能看到一堆資源切回kubectl get all卻少了很多。不是集群出問題了而是kubectl根本不認(rèn)識這些擴(kuò)展 API 對象。1.2 對象層面OCP 在 K8s 之上多了一層應(yīng)用編排模型標(biāo)準(zhǔn) Kubernetes 的世界里應(yīng)用上線大概是這樣準(zhǔn)備鏡像 - 寫 Deployment YAML - 用 kubectl apply - 暴露 Service - 再搞 Ingress。這套流程沒問題但遇到源碼構(gòu)建、鏡像流跟蹤、自動觸發(fā)部署這類更貼近平臺的需求時就得自己組裝很多工具。OpenShift 把這套流程沉淀成了平臺原生的對象BuildConfig定義怎么從源碼或 Dockerfile 構(gòu)建出鏡像ImageStream相當(dāng)于一個鏡像倉庫的抽象層標(biāo)記某個鏡像的 tag 變化DeploymentConfig類似 Deployment但支持更豐富的部署策略和觸發(fā)器Route在 Ingress 之上封裝的 HTTP/HTTPS 路由對象配置更簡單oc把這些對象的操作都封裝進(jìn)了命令里。舉個例子你不用手動寫五個 YAML 再 Apply一個oc new-app就能把源碼地址、構(gòu)建策略、鏡像流、部署配置、服務(wù)暴露串聯(lián)起來。這種一條命令完成應(yīng)用上線的體驗(yàn)是kubectl給不了的。1.3 同一套 kubeconfig心智模型卻要切換oc底層用的是和kubectl一樣的 kubeconfig 文件認(rèn)證方式也兼容。你用oc login登錄后~/.kube/config會被更新之后kubectl也能用這份配置直接訪問集群的 K8s 原生資源。但注意這不代表兩者可以隨意混用。我見過有人把 Deployment 用kubectl建好后跑到 OpenShift 控制臺里發(fā)現(xiàn)它確實(shí)是已部署狀態(tài)但構(gòu)建歷史、鏡像流那一欄是空的。反過來用oc new-app建出來的 DeploymentConfigkubectl rollout status是看不懂的必須用oc rollout status。要我說日常順手用kubectl沒問題但凡是涉及 OpenShift 擴(kuò)展能力的操作養(yǎng)成先想一下這是不是 OCP 特有的功能是就用oc的習(xí)慣能省很多困惑。2. 環(huán)境準(zhǔn)備拿 CLI、登錄、項(xiàng)目切換這些基本功課2.1 從集群控制臺拿匹配版本的oc安裝oc最穩(wěn)妥的路徑不是從第三方網(wǎng)站隨便下載一個二進(jìn)制而是從你實(shí)際連接的集群控制臺頁面里拿。OpenShift 控制臺的右上角有一個命令行工具入口點(diǎn)開后能看到對應(yīng)這個集群版本的oc客戶端下載鏈接。為什么強(qiáng)調(diào)版本匹配因?yàn)榭蛻舳税姹咎禄蛱f都可能出現(xiàn) API 兼容問題。我就遇到過客戶端版本比集群新一個大版本的情況執(zhí)行某些命令直接報GroupVersionKind不匹配排查了半天最后發(fā)現(xiàn)是客戶端版本的問題。下載回來后是 tar.gz 壓縮包解壓后把oc可執(zhí)行文件放到 PATH 目錄里比如/usr/local/bin或者~/bin。驗(yàn)證是否可用oc version能看到類似于Client Version和Server Version兩行信息就說明客戶端能正常連接集群了。如果Server Version顯示不出來通常是你還沒登錄或者是網(wǎng)絡(luò)層面根本訪問不到集群的 API Server 地址。2.2 三種登錄方式用戶名密碼、token、service accountoc login是最常見的登錄入口適合交互式輸入用戶名密碼oc login https://api.example.openshift.com:6443 -u yourname -p yourpassword登錄成功后系統(tǒng)會提示你當(dāng)前所在的 project并把 context 信息寫入 kubeconfig。這種做法適合開發(fā)者在本地終端里用。如果你在用多因素認(rèn)證或者 SSO可能需要先通過瀏覽器拿 token 再粘貼回來。自動化腳本或 CI 環(huán)境里我更推薦直接用 token 登錄oc login --tokensha256~xxxxxxxx --serverhttps://api.example.openshift.com:6443Token 可以是你自己賬號的也可以是某個 ServiceAccount 的。用 ServiceAccount token 的好處是權(quán)限范圍明確便于審計而且不依賴某個人是否離職。但要注意別把 token 寫在腳本里直接提交到代碼倉庫我習(xí)慣用環(huán)境變量引用比如oc login --token$OC_TOKEN --server$OC_SERVER還有一種場景是集群剛裝完你需要用管理員賬號去初始化。這種可以直接用 kubeconfig 文件切換OpenShift 安裝生成的kubeadmin用戶配置文件通常在安裝目錄下把KUBECONFIG環(huán)境變量指過去即可export KUBECONFIG/path/to/kubeadmin.kubeconfig2.3 項(xiàng)目namespace的切換和身份確認(rèn)OpenShift 里的項(xiàng)目Project本質(zhì)上就是帶注解的 Namespace但它在用戶層面多了一點(diǎn)點(diǎn)隔離語義。用下面命令查看當(dāng)前項(xiàng)目oc project切換項(xiàng)目用oc project name新建項(xiàng)目用oc new-project name。注意oc new-project不僅會創(chuàng)建 Namespace還會自動幫你把當(dāng)前用戶綁定成該項(xiàng)目的管理員這個行為在標(biāo)準(zhǔn) K8s 里是沒有的。我在用這個命令時有個習(xí)慣每次登錄完先執(zhí)行一條oc whoami再執(zhí)行一條oc project。這不是多此一舉而是因?yàn)?OpenShift 環(huán)境里經(jīng)常要做身份切換有時候你以為自己在用管理員身份操作實(shí)際某個上下文中已經(jīng)切成了普通用戶不看這兩條命令直接部署很容易把應(yīng)用建到錯誤項(xiàng)目里或者因?yàn)闄?quán)限不足收到一串聽不懂的 403。3. 應(yīng)用上線主鏈路用oc new-app、start-build、rollout把業(yè)務(wù)跑起來3.1 推薦用oc new-app而不是手寫一堆 YAML 的場景我見過很多 K8s 背景的同行拿到 OpenShift 第一反應(yīng)是繼續(xù)寫 YAML然后oc apply -f。這沒有任何問題但如果你只是想把一個應(yīng)用快速跑起來特別是還在開發(fā)階段oc new-app的效率要高得多。oc new-app的基本邏輯是你給它一個源碼倉庫地址、一個鏡像名、或一組基礎(chǔ)鏡像它自動幫你生成對應(yīng)的 BuildConfig、DeploymentConfig、Service 等資源。舉個例子把一個 Node.js 源碼倉庫部署到集群oc new-app https://github.com/example/nodejs-demo.git --namenodejs-demo執(zhí)行完之后看輸出它會告訴你已經(jīng)創(chuàng)建了 imagestream、buildconfig、deploymentconfig、service 這些對象。然后你只需要手動創(chuàng)建一條 Route應(yīng)用就能用域名訪問了——當(dāng)然 Route 也可以讓oc new-app自動生成加上--as-deployment-config或指定--route相關(guān)參數(shù)即可。這個過程中 OpenShift 會先探測倉庫里的語言類型然后選擇對應(yīng)的 Source-to-ImageS2I構(gòu)建器。比如識別到 package.json 就用 Node.js 構(gòu)建器識別到 pom.xml 就用 Java 構(gòu)建器。如果倉庫結(jié)構(gòu)比較復(fù)雜可能探測不準(zhǔn)這時候你用--image參數(shù)明確指定鏡像反而更可靠oc new-app nodejs:20~https://github.com/example/nodejs-demo.git --namenodejs-demo注意nodejs:20是從 ImageStream 里引用的 tag~后面接源碼倉庫地址表示用這個基礎(chǔ)鏡像去構(gòu)建后面的源碼。3.2 構(gòu)建策略的選型S2I 還是 Dockerfileoc new-app默認(rèn)傾向使用 S2I 策略也就是把源碼注入基礎(chǔ)鏡像的固定目錄執(zhí)行構(gòu)建器腳本最后生成一個新的運(yùn)行時鏡像。這種方式對常見的 Node.js、Java、Python、Ruby 等語言很友好你不用維護(hù)自己的 Dockerfile平臺幫你處理依賴安裝和啟動命令。但遇到特殊需求比如要定制系統(tǒng)庫、要跑多階段構(gòu)建、要修改鏡像的非默認(rèn)啟動參數(shù)S2I 反而變得別扭。好在你可以在源碼倉庫根目錄放一個 Dockerfile然后顯式指定這次構(gòu)建走 Docker 策略oc new-app --strategydocker https://github.com/example/custom-runtime.git --namecustom-app或者先創(chuàng)建一個 BuildConfig再手動觸發(fā)。我個人的選型經(jīng)驗(yàn)是能用 S2I 就用 S2I特別是團(tuán)隊(duì)里沒有專人維護(hù)鏡像的場合一旦應(yīng)用對基礎(chǔ)環(huán)境有強(qiáng)定制要求果斷切 Docker 策略別勉強(qiáng)在 S2I 里塞各種 hack。S2I 最大的好處是構(gòu)建過程可重復(fù)、增量構(gòu)建快缺點(diǎn)是調(diào)試構(gòu)建器腳本的時候比較難受。Docker 策略則完全就是標(biāo)準(zhǔn)docker build的邏輯團(tuán)隊(duì)里懂的人更多。構(gòu)建開始后用oc logs -f實(shí)時看構(gòu)建日志oc logs -f bc/nodejs-demobc是 buildconfig 的簡寫。日志里能看到拉取基礎(chǔ)鏡像、注入源碼、執(zhí)行構(gòu)建步驟、推送鏡像到內(nèi)部倉庫的全過程。這一步是排查源碼依賴安裝問題的主要途徑比如 npm 私服地址配錯了、maven 倉庫連不通都會在這里暴露。構(gòu)建成功后鏡像會被推送到 OpenShift 內(nèi)部的 ImageStream 里。查看當(dāng)前鏡像流和 tagoc get imagestream oc describe imagestream nodejs-demo3.3 部署策略與版本回滾鏡像流更新后如果 DeploymentConfig 配置了 ImageChange 觸發(fā)器會自動發(fā)起一次新部署。查看部署狀態(tài)oc rollout status dc/nodejs-demo這里的dc是 deploymentconfig 的簡寫。OpenShift 支持兩種部署策略Rolling滾動更新和 Recreate先停舊再起新。默認(rèn)是 Rolling適合無狀態(tài)應(yīng)用Recreate 適合那些數(shù)據(jù)庫遷移類應(yīng)用舊版本必須完全退出才能啟動新版本避免同時存在新舊邏輯讀寫同一份數(shù)據(jù)。部署歷史保留多少份會影響你回滾時能選到哪個版本。查看歷史版本oc rollout history dc/nodejs-demo回滾到上一個版本oc rollout undo dc/nodejs-demo如果一切正常確認(rèn)當(dāng)前可用副本數(shù)oc get pods看到Running且 READY 列為1/1同時底下的oc rollout status輸出successfully rolled out這條鏈路就算跑通了。這里有個容易混淆的點(diǎn)如果你是用oc new-app自動生成的它是 DeploymentConfig如果你自己寫的 YAML 里用的是標(biāo)準(zhǔn) Deployment那回滾命令要換成kubectl rollout undo deployment/xxx。我在文中和團(tuán)隊(duì)講解時都會強(qiáng)調(diào)先確認(rèn)對象類型再選命令不要想當(dāng)然。3.4 把服務(wù)暴露成集群外可訪問的地址構(gòu)建和部署都完成后還需要解決外面怎么訪問的問題。OpenShift 使用 Route 對象對外暴露 HTTP/HTTPS 服務(wù)。最簡單的方式oc expose service/nodejs-demo它會自動用當(dāng)前項(xiàng)目名和應(yīng)用名生成一個默認(rèn)域名。查看生成的路由oc get route如果你想自定義域名路徑或者配置 TLS 證書可以導(dǎo)出現(xiàn)有對象再修改oc get route nodejs-demo -o yaml route.yaml然后把spec.host改成自己的域名需要 HTTPS 的話可以配置spec.tls.termination: edge、insecureEdgeTerminationPolicy: Redirect最后oc apply -f route.yaml如果域名不是集群默認(rèn)的泛域名記得去 DNS 側(cè)加一條解析記錄指向集群的入口點(diǎn)。這一步經(jīng)常被忽略導(dǎo)致 Route 建好了curl 卻一直超時。4. 故障排查鏈路從日志、事件到 debug 容器4.1 日志oc logs的正確打開方式應(yīng)用跑起來后看日志是日常操作里頻率最高的。最基礎(chǔ)的當(dāng)然是oc logs pod/nodejs-demo-1-abcd但很多時候 Pod 名字是自動生成的隨機(jī)后綴敲起來并不方便。你完全可以直接用資源名oc logs deploymentconfig/nodejs-demo或者直接用dc/前綴oc logs dc/nodejs-demo如果你確定目前在跑的只有一個 Pod這種寫法會直接給你日志輸出。Pod 內(nèi)有多個容器時必須用-c指定容器名oc logs pod/nodejs-demo-1-abcd -c my-container調(diào)試時搭配參數(shù)很有用。實(shí)時跟蹤日志用-f只看最近 200 行用--tail200只看最近 10 分鐘用--since10m。oc logs dc/nodejs-demo --tail200 -f有些啟動失敗的場景下Pod 反復(fù)重啟你看到的日志是上一個實(shí)例留下的殘留內(nèi)容。這時候加--previous參數(shù)能看到容器在崩潰前最后輸出oc logs pod/nodejs-demo-1-abcd --previous這個參數(shù)在排查CrashLoopBackOff時特別好使。4.2 事件與 describe快速定位 ImagePullBackOff / CrashLoopBackOffPod 起不來的時候oc get pods看到的通常是ImagePullBackOff、CrashLoopBackOff、Pending這類狀態(tài)。先看事件oc get events --sort-by.lastTimestamp | tail -20事件信息可能比較雜如果你心里已經(jīng)有明確的 Pod 名用oc describe更直接oc describe pod/nodejs-demo-1-abcd輸出里注意看兩個部分Events部分明確告訴你發(fā)生了什么。比如拉取鏡像失敗底下會寫Failed to pull image以及具體錯誤碼調(diào)度失敗會寫0/3 nodes are available。Conditions部分描述 Pod 當(dāng)前各條件的通過情況比如PodScheduled是否是 True。以ImagePullBackOff為例常見的根因是國內(nèi)環(huán)境拉取外部鏡像超時、鏡像 tag 寫錯、或者內(nèi)部鏡像倉庫沒有開放訪問。定位思路先看事件里的錯誤信息再查它實(shí)際拉取的鏡像地址是哪一行。如果用的是 S2I 構(gòu)建很可能是 BuildConfig 里配置的output.to指向了一個不存在的 ImageStreamTag。CrashLoopBackOff則意味著容器能啟動但馬上退出排查路徑通常是oc logs --previous看最后輸出 - 查看啟動命令和探針配置 - 驗(yàn)證依賴的服務(wù)是否就緒。我曾經(jīng)遇到過一次其實(shí)只是容器里的進(jìn)程綁定端口和 Service 暴露端口不一致日志里卻一直顯示莫名其妙的內(nèi)存錯誤這時候用oc debug進(jìn)去看實(shí)際情況就特別必要。4.3oc debug給故障 Pod 開一個同款副本oc debug是我排查問題時的王牌命令它和kubectl exec不太一樣。直接oc debug pod/xxx會創(chuàng)建一個和當(dāng)前 Pod 配置幾乎一樣的臨時副本但不會啟動原來的容器而是用調(diào)試鏡像啟動一個 shell。這樣做的好處是即使原容器已經(jīng)崩潰、無法exec進(jìn)去你依然可以進(jìn)到 Pod 的運(yùn)行時環(huán)境里檢查文件、進(jìn)程、網(wǎng)絡(luò)。oc debug pod/nodejs-demo-1-abcd進(jìn)去之后你會發(fā)現(xiàn)自己是通過一個 debug 容器在操作Pod 里的其他容器文件系統(tǒng)需要手動掛載路徑才能訪問。訪問節(jié)點(diǎn)文件系統(tǒng)時用chroot /host這個命令在排查節(jié)點(diǎn)級問題時非常有用比如檢查節(jié)點(diǎn)上的磁盤占用、清理殘留鏡像。有一個坑要提醒oc debug創(chuàng)建的調(diào)試 Pod 是會占用臨時資源的而且有些集群開啟了 Pod Security 策略可能導(dǎo)致 debug Pod 創(chuàng)建失敗。要記得用完刪掉別留下一堆調(diào)試用 Pod 占著調(diào)度資源。4.4 路由層跟進(jìn)的檢查順序?qū)ν庠L問不通時我習(xí)慣按順序排查Route 是否存在oc get route確認(rèn) Host、Path、Service 名、端口都正確。Endpoint 是否正常oc get endpoints確認(rèn) Service 后端 Pod 地址有值。如果 Endpoint 列表為空說明 Service 的 selector 和 Pod 標(biāo)簽不匹配。Router 是否運(yùn)行OpenShift 的入口流量默認(rèn)由 Ingress Operator 和 Router 處理。查看相關(guān) Podoc get pods -n openshift-ingress如果 Router Pod 異常外部流量自然進(jìn)不來。Router 日志里也經(jīng)常能翻到 TLS 證書失效、后端連接被拒這類的線索。 4.Service 是否工作如果 Pod 里能 curl 到 Service 域名說明鏈路內(nèi)部正常如果 Pod 里也 curl 不通那就是 Service 配置或 Pod 端口映射的問題。這套鏈路走下來大部分域名訪問不了的問題都能定位到具體環(huán)節(jié)。5. 運(yùn)維視角oc adm系列命令和權(quán)限管理的實(shí)操心法5.1 節(jié)點(diǎn)維護(hù)三部曲cordon、drain、uncordon如果你需要重啟某臺節(jié)點(diǎn)機(jī)器或者給節(jié)點(diǎn)打補(bǔ)丁千萬別直接關(guān)機(jī)。先把這個節(jié)點(diǎn)標(biāo)記為不可調(diào)度oc adm cordon node-namecordon 之后新調(diào)度的 Pod 不會跑到這個節(jié)點(diǎn)上但已經(jīng)在節(jié)點(diǎn)上運(yùn)行的 Pod 不會自動挪走。接下來執(zhí)行 drain把已有 Pod 遷移到其他節(jié)點(diǎn)oc adm drain node-name --ignore-daemonsets --delete-emptydir-data--ignore-daemonsets是必需的因?yàn)?DaemonSet 類 Pod 本來就應(yīng)該留在節(jié)點(diǎn)上--delete-emptydir-data要根據(jù)業(yè)務(wù)情況決定如果節(jié)點(diǎn)上用了 emptyDir 且有臨時數(shù)據(jù)刪除它就意味著清掉這些數(shù)據(jù)。維護(hù)完成后讓節(jié)點(diǎn)恢復(fù)調(diào)度oc adm uncordon node-name我還習(xí)慣在 drain 之前確認(rèn)一下節(jié)點(diǎn)上有哪些關(guān)鍵 Pod以及它們的 PDBPodDisruptionBudget狀態(tài)。沒有 PDB 的 Pod 在 drain 時會直接強(qiáng)制驅(qū)逐可能導(dǎo)致服務(wù)短暫不可用。有一個 PDB 保護(hù)的應(yīng)用drain 時會被優(yōu)雅地滾動遷移。5.2 常用權(quán)限操作add-role-to-user 與集群角色OpenShift 的 RBAC 和 K8s 一致但oc提供了一些更便捷的封裝命令。給某個用戶授予某個項(xiàng)目的 view 權(quán)限oc adm policy add-role-to-user view username -n project-name把用戶提升為項(xiàng)目管理員oc adm policy add-role-to-user admin username -n project-name如果需要集群級權(quán)限用oc adm policy add-cluster-role-to-user cluster-admin username這個命令給出的權(quán)限極大操作前一定確認(rèn)是你真正要授權(quán)的對象。我在生產(chǎn)環(huán)境里很少直接給 cluster-admin除非是平臺運(yùn)維團(tuán)隊(duì)的核心成員。平時給到特定 Namespace 的 admin 權(quán)限已經(jīng)覆蓋絕大多數(shù)需求。查看某用戶當(dāng)前權(quán)限oc policy can-i create deployment -n project-name --asusername這條命令在寫自動化權(quán)限審批流程時特別有用可以提前驗(yàn)證某用戶是否具備執(zhí)行某操作的資格。新版本的 OpenShift 里部分舊的oc adm policy命令會提示改用統(tǒng)一的 RBAC API 管理但老集群上這些命令依然能用。作為運(yùn)維兩套寫法都最好了解。5.3 巡檢與集群診斷oc adm must-gather、top集群出問題需要報工單或者給平臺團(tuán)隊(duì)提供現(xiàn)場數(shù)據(jù)時oc adm must-gather是標(biāo)準(zhǔn)的取證命令oc adm must-gather它會收集集群里的大量診斷信息包括事件、日志、資源定義、Operator 狀態(tài)等打包成一個壓縮目錄。這個命令執(zhí)行時間可能比較長數(shù)據(jù)量也大但它是排查集群級問題的關(guān)鍵材料。我每次執(zhí)行完會順手把產(chǎn)物目錄名改得帶有日期和集群標(biāo)識方便后續(xù)追溯??焖倏垂?jié)點(diǎn)和 Pod 的資源占用oc adm top nodes oc adm top pods -n project-nameoc adm top pods的結(jié)果依賴 metrics-server如果集群沒有安裝監(jiān)控棧可能為空。不過 OpenShift 通常默認(rèn)自帶監(jiān)控所以絕大多數(shù)環(huán)境都能正常出數(shù)據(jù)。日常巡檢腳本里我一般把這三樣組合起來oc get nodes看節(jié)點(diǎn)狀態(tài)、oc get clusteroperators看各組件健康、oc get co發(fā)現(xiàn)問題后再用 must-gather 深入。6. 忘不了的教訓(xùn)幾個讓老手也翻車的細(xì)節(jié)6.1new-app的語言探測有時過于自作主張oc new-app的自動探測很方便但它不是萬能的。有一次我給一個 Python 項(xiàng)目執(zhí)行oc new-app因?yàn)閭}庫里恰好還有一個不相關(guān)的pom.xml結(jié)果平臺把項(xiàng)目識別成了 Java構(gòu)建了半天依賴直接失敗。后來我都是先檢查倉庫根目錄確認(rèn)語言特征明確后再交給oc new-app處理。如果倉庫結(jié)構(gòu)本身就容易誤導(dǎo)探測干脆顯式指定--image或者--strategy別把選擇權(quán)完全交給自動探測。另一個相關(guān)問題是oc new-app如果給的不是源碼倉庫而是純鏡像名它會直接創(chuàng)建 DeploymentConfig 并啟動鏡像而不經(jīng)過構(gòu)建。這個行為有時候有驚喜快速部署一個現(xiàn)成鏡像但很多時候用戶本意是希望走構(gòu)建流程結(jié)果資源類型完全不同了。執(zhí)行完oc new-app后養(yǎng)成習(xí)慣看一眼輸出確認(rèn)有沒有出現(xiàn) buildconfig 對象。6.2 DeploymentConfig 和 Deployment 的 rollout 行為差異前面提到過一次這個坑值得再展開。OpenShift 里同時存在DeploymentConfig和Deployment兩種部署對象觸發(fā)更新和回滾的命令行為不完全一樣對 DeploymentConfig用oc rollout status dc/xxx、oc rollout undo dc/xxx對 Deployment用oc rollout status deployment/xxx或kubectl rollout status deployment/xxx如果搞混了最典型的報錯是Error from server (NotFound): deploymentconfigs.apps.openshift.io xxx not found。你明明知道資源存在命令卻找不到就是因?yàn)橘Y源類型寫錯了。用oc get all查看所有工作負(fù)載時注意區(qū)分deploymentconfig.apps.openshift.io和deployment.apps兩列。另外DeploymentConfig 的部署歷史默認(rèn)保留 10 個版本Deployment 的revisionHistoryLimit默認(rèn)也是 10。如果你期待回滾到很久以前的版本可能需要先調(diào)整保留數(shù)量否則歷史版本早被清理了。6.3 客戶端版本不匹配和 TLS 跳過的取舍我在前面提過從控制臺下載與集群版本匹配的oc。這里再補(bǔ)一個細(xì)節(jié)如果你連接的是一個版本比較舊的集群新版oc登錄時可能會提示配置了不兼容的 API 組或者一些命令報the server could not find the requested resource。這時候優(yōu)先考慮是不是版本匹配問題。TLS 證書方面很多測試環(huán)境沒有接入正式 CA用oc login時會提示證書不受信任。有些人習(xí)慣加--insecure-skip-tls-verifytrue跳過校驗(yàn)這確實(shí)能快速通過認(rèn)證但生產(chǎn)環(huán)境不建議這么做。證書校驗(yàn)失敗背后往往意味著中間人風(fēng)險或者集群入口證書配置有誤。正確的做法是把集群的 CA 證書下載到本地并配置到客戶端信任鏈里。如果只是臨時連測試環(huán)境跳過校驗(yàn)可以接受但要有意識確保這是短期的測試行為。我還踩過一次比較低級的坑登錄腳本里把--insecure-skip-tls-verifytrue寫死了后來這個腳本被復(fù)制到生產(chǎn)環(huán)境使用導(dǎo)致生產(chǎn)集群跳過證書校驗(yàn)了很長時間?,F(xiàn)在我的做法是這類開關(guān)參數(shù)通過環(huán)境變量單獨(dú)傳遞不同環(huán)境各寫各的配置絕不在腳本里寫死。6.4 我給團(tuán)隊(duì)沉淀的常用命令速查表最后把我平時最常用的命令整理成一張表內(nèi)容是根據(jù)我這邊的維護(hù)場景總結(jié)的你可以直接抄走放到團(tuán)隊(duì)文檔里。場景命令說明查看當(dāng)前用戶oc whoami確認(rèn)身份防止上下文切換錯亂查看當(dāng)前項(xiàng)目oc project確認(rèn)當(dāng)前所在 Namespace/Project切換項(xiàng)目oc project name切換后建議再跑一次oc whoami復(fù)核查看所有資源oc get all查看項(xiàng)目內(nèi)各類資源概覽查看 Pod 詳情oc describe pod/name事件和條件都在這里實(shí)時日志oc logs dc/name -f --tail100適合跟蹤部署過程查看崩潰前日志oc logs pod/name --previousCrashLoopBackOff 排查利器創(chuàng)建應(yīng)用oc new-app repo --nameapp自動生成構(gòu)建/部署/服務(wù)資源手動觸發(fā)構(gòu)建oc start-build bc/name重新執(zhí)行一次構(gòu)建流程查看構(gòu)建日志oc logs -f bc/name構(gòu)建失敗時必用查看部署狀態(tài)oc rollout status dc/name等待部署完成回滾部署oc rollout undo dc/name回滾到上一個可用版本暴露服務(wù)oc expose service/name創(chuàng)建默認(rèn) Route查看事件oc get events --sort-by.lastTimestamp全局事件排查進(jìn)入調(diào)試副本oc debug pod/name容器崩潰也能進(jìn)去查節(jié)點(diǎn)維護(hù)oc adm cordon/drain/uncordon node三步走別跳步驟用戶授權(quán)oc adm policy add-role-to-user role user -n project按最小權(quán)限給集群診斷收集oc adm must-gather提交平臺團(tuán)隊(duì)前先跑這個這張表沒有覆蓋所有命令但日常 90% 的操作都夠了。最后分享一個小習(xí)慣。我在本地的 shell 配置里放了幾個函數(shù)比如ocp-login-test、ocp-login-prod、ocp-desc分別用來切換不同環(huán)境的登錄和快速描述資源。這樣不僅避免重復(fù)敲一長串參數(shù)還能防止在測試環(huán)境配好的腳本不小心在生產(chǎn)環(huán)境執(zhí)行的問題。配置方式很簡單就是普通的 shell 函數(shù)加別名但用起來確實(shí)能減少很多低級失誤。不同團(tuán)隊(duì)管理規(guī)模不一樣你可以按自己的集群數(shù)量和環(huán)境命名習(xí)慣來做這層封裝。總的原則只有一個能讓命令少敲一半的封裝都值得做能把環(huán)境區(qū)分開的封裝必須做。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
国产欧美一区激情交| 亚州综合网| 欲香欲色综合天天伊人| 中文字幕后石码四区五区| 亚洲男人天堂手机版| 全球成人中文在线| 91亚洲狠狠色| 大香蕉免费中文| 极品出轨视频网站| 欧美激情总合网| 人妻少妇精品| 9久热这里只有精品| 亚洲欧美一区二区三区在钱蜜桃| 日韩一性一交一A片俄罗斯| 亚洲综合一| 国产精品久久久久久片| 影音先锋新男人| 人人搡人人肉久久精品| 欧美综合区| 亚洲加勒比久久日本道| 精品无码一区二区三区| 久久精品国产亚洲AV无码电影| 男人天堂网址| 中文字幕文字幕无码一区二区三区电影99| 国产精品熟女丝袜一区二区| 国产探花日韩援交| 美女91网址| 99RE在线视频精品,这里只有精品| 国产呦精品一区二区三区下载| 成人97人人超碰人人| 亚洲熟女人妻中文字幕一区二区 | 少妇干B| 97综合久第一页| caopeng97人妻| 婷婷丁香六月| 无码人妻一区二区三区色欲aⅴ| 日韩9999| 熟妇人妻一区二区三在线| 艳美熟妇先锋一二三区| 色欲日韩欧美在线一区| 日韩乱伦视频| 91麻豆天美国产欧美| 日日操丁香五月天| 偷拍精品一区二区三区| 蜜臀99久久精品| 极品色电影院| 欧美亚洲丝袜人妻制服中文99| 97综合久第一页| 哑洲在线| 欧美综合另类| 在线观看色视频| 睡产熟女乱伦| 欧美狠狠弄| 色婷久久| 国产福利第一视频| 激情深爱五月天| 一本一道vs波多野结衣| 东京日日夜夜| 99热精品在线| 91色综| 国产婷婷一区| 色爱综合网欧美| 美女主播色欲91抠b在线播放| 久久精品电影| 97在线观看免费| 久久精品成人| 人人操人人搞人人草| 久久大| 久久久久久亚洲中文| 牛牛AV人人夜夜澡人人爽| 人妻熟女一区二区在线视频| 伊香蕉综合久久久久久久噜噜噜| 日本在线不卡123| 日本美女性生活久久久久久久| 噜噜噜无码AV一级一级久久影院 | 欧美日韩国产精品久久色婷婷| 97天天插| 欧美亚洲特P| 精品少妇99| 国产隔壁老王影院在线| 中文字幕一区电影在线观看| 午夜男女爽爽爽在线视频| 久久9精品视频| 亚洲欧洲网站免费观看| 久久久中文版| 97亚洲在线| 久久久久九九九| 激情小说成人日本无码一| 日韩人妻资源在线看| 色综和网| 一区二区播放| 国产中文字幕曰本毛片| 男人天堂站| 欧美激情片一区二区| 情侣操 逼视频99| 亚洲日韩欧美一区二区| 色色毛片| 亚洲精品三区在线观看| 开心五月深爱五月| 欧美一品道| 日韩性爱小视频| 男人的天堂2010| 青青欧美| 91东京热男人的天堂| 91 刺激在线| 国产麻豆91欧美一区二区久久婷婷国产精品| 综合大香蕉美。| 超碰国产精品无码| 丝袜天堂| 久久线上视频免费看| 欧美色性爱| 毛片17S| 日本五十路在线| 欧美狠狠干| 欧美国产日韩清纯唯美| 99re这里只有精品9| 两性综合网| 日本不卡免费二区| 欧洲熟妇xxXx欧美老妇裸体| 精品少妇一区二区三区| 免费一级视频特黄色大片| 九月激情婷婷| 青娱乐 成人娱乐在线| 精品999一区二区| 91精品女厕偷拍视频| 综合激情97| 亚洲欧洲自拍图片专区满春格| 人妻啊啊人妻啊| 国产精品操| 丝袜狠狠草尤物人妻av91| 伊人九九| 91oumei| 美女黄色91| 日本淫乱女一区二区三区视频| 亚洲二区精品在线观看| 久久97视频| 5月婷婷6月六月丁香| 亚洲欧美校园| 97超级久久强资源| 人人妻人人爽人人精品| 伊人成人中文字幕久久网| AV天堂因数| 精品久久一区二区三区四区五区| 91青青草| 精品十八在线观看| 亚州综合AⅤ| 国人欧美精品一区二区| 亚洲日韩精品一区二区| 中文久久一区| 操人91| 久久久96| 我爱操| 91neishe| 伊人网综合在线视频| 熟女熟妇一区二区三区视频| 大香蕉十区| 1769一区二区| jazzjazz国产精品麻豆| 国产精品色约约| 狠狠 91| 国产一区二区在线播放量| 韩国国产欧美情侣视频在线| 国产一区二区三区视频在线看| av草草在线电影| 亚洲 综合 欧美| 日韩AV一起草| 免费观看国产不卡av| 天操天操夜操夜月月年年操操| 囯产精品一区二区三区线|亚洲人成无码网WWW动漫|国产精品免费一级... | 麻豆国产精品午夜视频| 国产欧美一区二区| 久久9视频| 日本一区二区中文字幕久久| 日韩黄片视频试看| 婷婷五月天激情四射| 亚洲成人妻日韩在线| 久久久久久亚洲精品不卡人乳 | 人妻天天操天天爽视频免费| 操一区| 亚洲成aⅴ人片不卡无码| 亚洲资源一区| 加勒比av网| 大香蕉 222| 免费人成?大片在线播放| 日韩免费簧片| 91亚洲影视| 在线中文AV| 色综合尤物| 免费观看国产小粉嫩喷水精品午| 精品一区二区三区国产| 九九热九九| 国产中文福利| 九九九九88| 亚洲九九夜夜| 九月色婷婷| 黑人精品成人一区二区三区| 逼操网站| 亚洲天堂AV在线播放| 中文字幕无码不卡啪啪| 亚洲清纯唯美| 久久成人午夜狠狠| 欧亚韩国999| 精品999日本| 狠狠搞 亚洲91| 偷拍亚洲高清图片| 久久av色| 亚洲97p| 欧美色图天堂网m| 日韩影片中文字幕一区二区三区| 五十路二区在线| 日日夜夜国产综合| www.99热在线只有精品| 97久久免费| 曰本熟女视频| 欧美日韩人妻婷婷一区| 久久禁| 美女上床网站| 日韩无码极品| 亚洲AV麻豆Aⅴ无码电影一| 午夜小电影在线插入淫高潮| 家庭乱伦国产| 日韩少妇一区二区三区| 亚洲熟女av日韩熟女| 色色综合网站| 亚洲色图超碰在线| 午夜精品久久久久久久99热影院| 亚州图片第一页| 蜜臀亚洲中文| 乱操9999| 黑人综合网| 精品国产三级av韩国在线| 四虎国产精品永久入口| av黄图片在线观看| 精品一区二区三区四区外站| 亚洲图片视频小说| 国产综合色精品在线观看| 国产成人拍国产亚洲精品| 蜜乳AV.COM| 国产精品探花视频| 夜夜夜久久| 日韩无码AB| 激情小说激情视频| 欧美一区二区三区不卡高清视频| 亚洲高清无码在线桃色| 中文字幕第页| 亚洲日本天堂| 91精品国产91久久青草| 国产成人无码啪| 欧美成人黄网色网站| 欧美性爱97超碰| 欧美暴力猛交| 亚洲97成人在线观看| 精品亚洲黄色片 国产精品导航一区二区| 在免费jIzzjIzz在线视频| 六九九九| 久偷拍欧美日韩三区| 日本ZZ高免费A级视频| 男女一进一出视频久久| 秋霞免费AV| 天天综合网国产| 四虎在线观看网站| 看全色黄大色大片免费视频| 成视频在线观看免费看| www.AV有限公司一区| 亚洲中文字幕av| 国产成人91一区二区三区| 偷窥自拍A片| 使劲用力艹少妇视频一区二区| 青青草在线视频播放器| 777AV电影| 日本人妻一区二区| 又大又大又大又粗爽高潮观看| 综合欧美激情网| 精品无码久久久| 丰满少妇精品一区二区| 国语精品内射在线观看| 99只有精品| 蜜臀久久99精品久久久电影| 日韩人妻操B| 亚洲 日本 不卡| 欧美人妻久久精品二区三区 | 密乳视频在线| 亚洲人妻一区二区三区| 日本不卡免费二区| 日本在线激情一区二区三区| 亚洲凸凹超碰成人| 欧美精品一区二区少妇免费A片 | 日韩性爱1级片视频| 亚码激情| 久久男人的天堂| 亚州欧美在线| 伊人五月天| 超碰吊日色| 国产精品免费美女视频| 我要色综合网站| 大香蕉丝袜一级片| 亚洲丝袜诱惑| 91亚洲不卡一区| 我想要 啊 啊 啊| 男人的天堂不卡一区二区| 欧美日综合| www久久久| 亚洲少妇综合| 成人欧美一区二区三区黑人一| 新91视频.cmp| 国产久久一区二区午夜| 超碰午夜| 一区二区三区蜜桃成人撸久久东京热 | 久久精品电影在线| 蜜臀久久99精品久久久老,,| 免费成人在线观看91| 青青草国产亚洲精品久久| 黑人免费福利视频| 啊啊啊啊在线观看网址| 亚洲一欧洲中文字幕在线| 啊啊啊啊啊,啊啊啊啊好舒服,操我舒服啊啊啊| 嫩草影院在线观看精品 | 黑人精品成人一区二区三区| 色与欲影视天天看综合网| 一起草AV| 17c在线成人免费A片观看| 黄资源| 99久久精品国产高潮| 久久风骚城市| 中文字幕乱码人妻一区二区三区,99精品| 人人操人人爽人人操人人| 热热热热日日漂亮永久永久国产日| 久久激情亚洲精品无码?V | 久久99国产综合精品女同| 在线观看不卡一区二区三区| 亚洲91综合| 亚洲精品一区中文字幕乱码| 欧美亚洲素人制服精品| 亚洲自拍小说| 人妻免费观看| 夜夜爽爽爽| 精品毛片av一区二区| 亚洲脚交| 青青草日本中文字幕| 五月天大香蕉| 中文字幕,人妻,日韩| 东北女人性交| 欧美亚洲日韩16色| 宗合情欲网| 亚洲高清无码AAA久久久精品| 91 丝袜在线播放| 亚洲人精品午夜不卡| 特污精品女优骚货黄色视频在线免费观看| 啊啊啊啊啊在线视频| 国内自拍 日韩激情 99| 黑人精品XXX一区一二区| 欧美肥臀在线| 久久久久ab| 婷婷色综合| 太久视频| 人妻 中文 日韩| 欧美翘臀视频网站一区二区三区| 久久久九精品| 91处女视频在线观看| 综合婷婷| 亚洲国产一区二区三区四区国产| 日韩人妻有码免费视频| 欧美精品成人一区二区在线观看| 天美av在线| 麻豆精品久久久久久久| 日韩BBN| 亚洲天堂人妻一区二区| 99欧美| 91强热人妻| 性videos欧美熟妇hdx| 久操B网| 国产一区二区三区影片| 做爱A级亚欧| 乱操乱伦AV| 日本操逼视频在线| 国产操逼网站亚洲一级黄色| 亚洲日韩国产精品| 欧美天天干| 97在线播放| 久久久一区二区| 精品96久久| 国产传媒1234区| 极品丝袜无码| 亚洲综合另类欧美久久久| 深爱五月天| 激情五月天插| 国产一级137片内射麻豆| 黄片www视频免费| 亚洲国产综合图区中文字幕| 国产精品九九九| 欧美色偷偷| 亚洲人成在线放东京热| 亚洲国产精品99久久久| 国产白嫩漂亮KTV在线| 欧美日韩操逼动图| 9久久精品| 亚洲综合在线视频| 亚洲国产剧情少妇激情| 久久深夜无码| 丰满人妻一区| 亚洲加勒比| 久久性爱视频99| 国产Av超碰| 国产日韩欧美亚洲精品95 | 啪啪视频mP4| 日本裸体久久色噜噜| 欧美性暴力猛交XXXX| 亚洲美女 晚间男人天堂 | 无码人妻一区二区三区色欲aⅴ| 国产精品99精品视频网站| 影音先锋乱伦资源| 黄网色一区二区三区四区精品| 日韩无码成人电影| 97亚洲性爱| 日韩操呦呦影院在线观看| 大香蕉92| 秋霞网无码| 日逼国产| 殴美性色a级欧美| 久久人爽| 男人的天堂va在线| 91精品女厕偷拍视频| 5278欧美一区二区三区| 久久欧美1卡2卡3| 九九热精彩视频| 亚洲色图日韩丝袜制服一区二区五月在线| 日本一级特级毛片视频| 成人性爱视频在线看| 综合婷婷| 男人的天堂在线| 78精品| 午夜AV人气不卡| 丁香六月婷婷久久综合| 二级毛片| 久久欲| 丝袜美腿诱惑亚洲欧美视频在线观看 | 欧美第一页| 久操97| 亚洲国产日韩欧美熟妇在线| 亚洲 欧美 另类 日韩 人妻一区 | 激情婷婷| 欧美日综合| 国产精品无码av在线| 蜜色网色哟哟| 欧美成人一区二区三区在线播放| 国产嫩草精品A88AV在线| 国产精品日日摸天天碰| 亚洲欧美日韩精品久| 色婷婷成人综合| 久久国产精品m码| 久久久成人国产精品无码| 啊灬快c我灬啊灬用力灬啊灬-国产精品性做久久久久久-成人AV | 成人区人妻精品一| 乱伦系列一区二区| 天天日美女的B| 日欧操屄| 熟女中出视频| 日本一区二区三区午夜观看| 成 人 影视 一区 二区 三区 四区| 欧美同性恋 的搜索结果 - 91n| 嗯啊视频免费在线观看| 青青草白白色| 黑人狂躁日本妞一区二区三区| 亚洲图片欧美91N| 怡红院成人视频| 日本女人操逼| 丰满人妻一区二区三区免费| 久热超碰| 蜜臀99久久| 情色AV电影| 欧美天天射| 伊人97超碰| 丰满人妻一区二区三区免费| 99热精品在线在线| 亚洲天天操| 刺激性视频黄页| 国产午夜精品在线观看| 精品十三区| 亚洲色图尤物视频| 欧美熟女丝袜| 在线v中文字幕一区二区三区| 天天操天天谢| 色婷婷导航| 亚洲欧美日韩不卡人妻| 97色冈| a亚洲欧美色欲| 东京成人一区| 四虎影院成年人片| 国产精品国产精品国产| 大香蕉99热| 99性爱在线观看| www.人人摸在线视频| 狠狠干,狠狠操| 日本阿v天堂在线观看| 国产亚卅97| 日人妻视频91| 99热| AV色图| 久久99操天天日| 翔田千里A片一区二区| 青青草手机在线免费观看| 亚洲成a人在线观看久| 国产午夜福利合集| 亚洲综合另类欧美久久久| 国产女人高潮嗷嗷嗷叫小说| 午夜经典| 综合天天网| 91|九色|国产熟女| 婷婷干黄色| 亚洲欧美激情小说| 日韩超碰精品综合| 碰超人人在线一区二区三区| 婷婷五月天成人网| 无码操逼网| 水滴偷拍| 久久超碰av在线| 国产久久一区二区午夜| 操逼逼福利视频| 午夜小电影在线插入淫高潮| 日韩BBN| 美女毛片999| 天天摸,夜夜摸| 亚洲成人美女无吗| 自拍偷拍草一草| 亚洲色图A| 久久超碰av在线| 欧美综合97www| 婷婷五月天久久久| 家庭乱伦性爱av| 人妻另类 专区 欧美 制服| 中文字幕av一区二区三区人妻少妇| 精品久久99| 亚洲av无码成人精品国产| 97在线精品观看视频| 校园春色亚洲| 哈哈操电影| 亚洲偷91色| SS久久| 久久综合中文国产| 91原创在线观看| 大香蕉伊人久久| 91成人在线免费视频| 黄片qw| av黄图片在线观看| 九九九九热| 少妇无码999| 欧洲色综合| 九九九九九九免费视频| 久久骚| 色悠久久久av| 蜜桃丰满熟妇av无码区不卡| 99久热精品99re6热| 亚洲天堂自拍| 男人的天堂欧美| 99热在线不卡| 国产成人主播| 久久久久久久久久久久九| 国产中文福利| 欧洲亚洲天堂精品| 四虎免费视频| 成人九九| 人妻一区二区三区熟女| 在线综合网| www久久国产精品| 激情小说日韩无码| 密乳AV免费观看| 国产不卡免费在线视频| 亚卅熟女乱色| 日韩精品国产精品五码一区二区| AV天天在线观看| 国产性刺激| silk lablo在线观看一区二区| 午夜福利在线合集| 欧美瑟综合| 日本色日夜干| 欧美不卡在线一区二区| 日韩探花精品在线视频| 大香蕉综合网| 射丝袜高跟鞋99| 福利一级版子| 九九九九亚洲| 亚洲成人黄色在线观看| 欧美日韩国产黄色片| 亚洲激情在线一区二区| 极品色社| 97精品中文字幕| 大香蕉懂9| 日韩成人私密一级精品av| 一级黄色视频网| 午夜男女爽爽爽在线视频| 亚洲高潮少妇| 国产精品一区二区后入| 久 久无码人妻AV| 色综合久久av| 激情网五月天| 26uuu成人影片| 亚洲97久久精品亚洲| 五月丁香色综合| 久久精品老司| 丰满人妻-区二区三区| 国产日韩欧美中文在线播放| 五月丁香啪啪网| 久久亚洲人妻| 2017天天插| 国产传媒操逼视频| 偷拍 亚洲| 日韩 女同 综合| 水多多映视AV| 久久久五月天| 91 综合 色| 操逼操逼操| 黄片www.| 91爱做| 欧美片第一页| 综合色久| 国产熟码AV| 最新日日夜夜天天干干| 天堂蜜桃无码视频一区二区| 好一吊区二区| 国产精品久久久久亚洲av| 婷婷国产精品九区| 九九九九AV| 手机看片1025| 亚洲 欧美 综合 91| 青青青国产手线观看视频2| 五月婷婷丁香六月| 爱丝福利| 香蕉人人操tv| 国产精品久久久999| 亚洲精品自拍| 久久女人视频| 17c嫩草51久久91嫩草| 五月综合视频| 麻豆AV一区二区天美传媒| 亚洲超碰AV| 97欧美久久久久久久| 免费一级特黄特色大片在线观看看 | 亚洲色图激情小说| 精品69网| 欧美另类色图片| 国产精品久久泡妞网站| 婷婷97| 午夜男人的天堂| 婷婷午夜| 欧美AB在线| 一二三四日本视频高清| 女性91网站| 亚洲国产欧美日韩精品一区二区三区,国产一区二区三区在线看片,欧美性猛交 XXX | 亚洲超碰在线| 精品国产乱码久久久| 日本九九九九| 蜜臀久久99精品久久久久久| 久久久草成人网站久久久草成人久久久草久久久 | 999日韩中文精品观看视频。| 亚洲色人阁| 伊人影院中文字幕| 人人弄人人摸| 成人黄页| 丁香婷婷啪啪| 97超碰超碰| 熟妇艹鸡八| 黄在线| 日本久久久久久久久久| 福利天天都操| 久久综合九九| 熟女乱3伦999| 风骚少妇视频中文字幕| 午夜免费福利视频一区| 精品69网| 啊啊啊啊操死我了| 欧美一区二区亚洲天堂| 野狼福利社区| 亚洲成人妻日韩在线| 亚洲操人| 欧美成人性爱视频在线播放| 黄日韩| 99热国产| 午夜视频黄| 极品一区二区三区免费| 综合色图,成人综合网| 国产精品麻豆免费视频| 骚日日av| 伊人久久大香蕉线AV五月天| 最新日韩黄片| 亚洲欧美日韩中文播放| 日韩精品大香蕉伊人在线| 大香蕉五月天婷婷| 亚洲成人在线高清| 亚洲骚逼少妇| 黑人精品久久97| 无码免费一区二区三区啪啪| 园内精品自拍视频在线播放| 91制服丝袜| 国产免费久久精品99re韩国| 狠狠综合| 日本操嫩b网| 午夜舔阴达高潮视频免费看| 午夜九九| 中文字幕女同在线| 东北夫妻性偷拍| 天天躁日日躁AAA片李宗瑞| 国产老太乱伦一区| 高颜值美女口爆高潮浪叫| 五十路熟女工口| 国产精品天美传媒| 久久久夜夜嗨免费视频| 亚洲色系另类精品国产| 九九九九精品九九九九| 高清无码学生妹高潮| 久久m| 97国伦国色| 婷婷五月花| 黄片在线免费在线观看| 黄色AAAAA欧美| 四虎国产精品永久在线囯在线| 老司机香蕉| 9ⅰ久久久天天| 亚洲色91C| 熟妇艹鸡八| 久草视频制服诱惑| 亚洲 欧美都市激情| 日韩在线观看中文字幕视频| 高清无码 国产精品| 亚洲精品国产无码高清| 人妻9117c| 国产白丝av| 亚洲se91| 久久色精品视频在线| 91色欧美| 五月天伊人网| 老熟妇91| 久久九色| 老女人综合网| 三上悠亚在线毛片91| 免费视频97| 97色综合中文网| 九久9精品| 亚洲精品九九九| 最近二区三区视频大全| 91天堂| 久久69| 日本孕妇一区二区视频操逼免费看 | 伊人国产成人av网站| 丰满人妻区一区二区三| 91天天| 国产成人亚洲精品无码最新在线| 日韩欧美大片免费高清啪啪| 国产中出内射一区二区| 久艾草在线精品视频在线观看| 国产成久久综合片| 黄色av网站在线播放| 欧美人与性动交a美精品| 乳欲人妻办公室奶水| 中文字幕亚韩| 操操碰| 97青青操视频| 精品久久久久久久久久久久| 裸体美女久久久| 天天综合网亚洲综合网| 亚洲女人91| 性夜影院爽黄A爽免费动漫| 女欧美一区二三区| 思思在线免费视频| 色五月激情网| 无码一区二区三区四区五区六区七区八区九区十区视频 | 强乱老妇中文字幕| 激情小说在线视频| 18禁中文字幕| 精品久热| 精品十三区| 九九久久国产精品怡红院| 99精品人妻| 日本三级小说中文字幕| 超碰地址97| 少妇贴图| 国产操逼视频在线观看| 偷窥自拍A片| 亚洲最大的黄色电影网站。| 智利AV在线网| 蜜桃狠狠色伊人亚洲综合网站| 亚欧性爱无码| 日韩欧美视频青青| 天天综合网~91综合网| 欧美少妇色图| 全球成人中文在线| 国产性感在线观看| 麻豆一区二区三区在线看| 干我久操| 正在播放:深夜激情大战,自带黑丝袜全力输出骚穴 | 91久热| 久久精品欧美一区二区三区不卡| 欧美99热| 天天内射| 久久成年片色大黄全免费网站| 亚洲最大AV网| 久久鲁夜| 91美女视频| www超碰| 91超碰在线播放| dy888午夜老子影视达达兔| 久久三| 综合网亚| 国产99热| 99视频自拍| 天天摸天天舔天天操| 97国产精品| 99精品网| 啊啊啊操死我了| 精品人妻中文字幕4399| 亚州成人A√| 久艹日日日| 深田咏美亚洲精品福利社| 日韩9999| 日韩精品在线放| 久久国产精品一级二级三级| 黄页网站成人免费| 近亲乱伦一区二区| 91国产美女丝袜足交精品视频| 男人的天堂 在线一区| 很很干很很操| 91精品久久久久| 中国亚洲呦女专区| 综合网亚洲1| 日韩成人精品视频自拍| 亚州日韩97| 国产精品女生av| 国产精品。| 久久久精品91八戒| 亚洲视频一二区| 爱妃国产亚洲视频中文字幕| 啊啊啊啊啊操我视频| 亚洲天堂男人天堂| 欧美夜夜狠| 性色A∨91| 内射白嫩美女| 在线αⅴ| 精品一区二区三区四区女| av一区二区三区四区| 屌妞视频久久久久久久久久久久| 黄色AV免费| 91爰爱欧美| 手机在线视频国内精品| 操少妞在线视频| 日韩去日本高清在| 巨乳特殊服务按摩| 久久精品小视频| 凹凸视频在线一区二区| 欧美狠狠鲁| 国产熟女完整版中字| 天天操狠狠日夜夜干超大胆开放com大香蕉视频在线观看 | 色网在线视频观看免费| 日本黄色天堂| 日本色婷婷| 毛片久久| 美女黄码视频午夜| 一级免费啪啪片| 97精品网| 97这里只精品| 91狠狠综合久久久| TS人妖另类精品视频系列| 97天天操天天干| 免费黄色A片| 超碰97亚洲| 狠狠躁天天躁日日躁| 欧美劲爆视频一区二区| 曰韩av中文字幕专区| 无码粉嫩白虎一线天b区| 九九无码久久精品视频| 影音先锋视频在线| 黑人性欧美| 日韩99神马视频播放| 欧美一区二区观看在线| 日韩9区| 一区二区三区色综合| 亚欧性爱在线无码| 色欲天天婬色婬香WWW夜色| 1.igao73.com 加入收藏 免费专区 国产精品 中文字幕 日韩精品 欧美精品 精彩 | 这里只有精品97| 大香蕉在线视频重口味毛片在线| 亚洲激情在线一区二区| 日韩免费中文字幕视频| 蜜乳av一区二区三区| 天美国产精品| 欧美精品久久久久久久久88| 狠狠爱综合网| 国产97在线播放| 青青操少妇| 精品久久久久久亚洲| 国产熟女完整版中字| 91bbb| 91在线一起| 97久久精品国产| 国产精品亚洲免费| 人人操人人干网页| 婬女免费一二三区A片| 久久性视频| 舔舔啊| 亚洲国产综合久久天堂| 国产精品久久久鸭无码的功能| 台湾一区国产高清在线| 四虎精品亚洲| 97超碰中文| 少妇与黑人高潮在线| 99热这里只有精| 日韩午夜精品一区二区三区电影| 国产精品一区二区手机看片| 欧美亚洲特P| 大但人体久久久久| 欧美日韩大陆黑人少妇99| 精品国产少妇高潮视频| 中文字幕一区二区三区视频播放| 在线观看免费视频国产| 午夜啪| 尤物网站91| 久久精品久久久久久久| 91痴汉| 欧美亚洲清纯| 激情综合网一盗摄| 黄色不卡视频| 一区 欧美 日韩 麻豆| 欧美黑人猛交春色影视大全| 欧美婷婷| 五月天激情综合网| www色色com| 国产18精品亚洲精品| 久久九九视频九九视频| 中国少妇XXXX做受| 亚洲日韩视频二区| 国产二区三区免费视频| 美女天天干| 日韩欧美亚洲自拍偷拍| 91啪啪| 天天日天天操天天射河南省| 神马久久久久久久| 91肉片| 欧美传媒| 中文字幕一二区二三区人妻专区| 国产第12页| 久操凹凸视频| a天堂视频| 日本精品高清一二区一本到| 欧美疯狂做爰xxxx| 婷婷大香蕉| 91麻豆天美国产欧美| 熟女丰满人妻一区| 婷婷伊人一区| 成人热久久精品| 亚州欧美一区| 欧美日日人人天天| 97视频在线观看免费高清| 亚洲图片第一页| 欧美成年人性爱视频免费观看| 久久精品 六十路 熟女 欧美| 岛国福利在线精品播放| 最新三级网址| 免费一级欧美片片线观看| 人妻AV在线| 伊人97色天使| 97视频900| 久久99干一本高清| 91视频综合网| 在线a v| 9久热| 好看的91视频| 婷婷九月丁香| V A在线| 日本操逼视频导航| 天天拍天天操| 亚洲国产精品久久久男人的天堂| 人人操人人精品影片| 91bbb| 可以在线观看AV的网站| 狠狠狠狠狠狠| 一区二区三区蜜桃成人撸久久东京热| 激情婷婷丁香| 中欧人妻丝袜中文字幕 | 亚洲成人免费在线| 色噜噜狠狠色综无码久久合欧美| 亚洲不卡三级手机播放| 404操逼福利视频| 国产亚洲一黄| 久久日本熟女精品一区| 久久国产精品一区二区| 收看日本人日bb| 91久久久久久| 色www精品视频在线观看| 少妇天堂| 国产精品极品美女视频| 韩国一区二区精品亚洲| 国产精品国产| 97无码视频在线播放| 精品久久人妻成人网| 97超碰逼| 1区2区3区视频| 福利在线黄片| av天天在线| 色综合加勒比| 91日本在线观看| 91N综合在线| 成人国产视频在线观看| 婷婷五月综合在线| 小骚逼被操的爽不爽| 蜜臀久久99精品久久久| 午夜色婷婷| 色九九综合AV| wwwxxx日本爽| 女同性恋一区二区三区精品视频| 精品人妻一区二区三区四区| 97人妻免费中文字幕| 精品人妻一区二区免费蜜桃| 久久啊啊啊| 99综合免费视频| 国产丝袜高跟美女av免费观看| 人人干黄色| 熟妇人妻一区二区 | 欧美夜夜狠| 熟女熟妇一区二区三四区| 色综合av男人天堂| 天天色怡春院| 性暴力欧美猛交在线直播| 久久色人体| 少妇无码999| 亚洲天堂久久| 中出91视频| 日本岛国黄色网址| 干美女人妻| 岛园激情| 一卡二卡在线播放| 人人扣人人操| 99在线精品观看视频中文 | 久久人妻无码毛片A片麻豆| 国产对白刺激视频| 夜夜福利| 在线观看岛国有码| 国产成人精品一区| 成人免费不卡在线视频| 久久成人网站| 免费毛片在线播放| 欧美色图片色哟哟| 99视频内射三四| 欧美色图综合网| 亚洲欧美一区二区三区在钱蜜桃| 九色黄站| 亚洲国产综合久久久性感熟妇| 东北少妇高潮zzzz| 国产盗摄美女如厕大神作品在线观看| 黄色片A级一区二区三区| 日韩中文字幕av在线播放| 欧美1区二区三区公司 | 久久一区二区三区入口| 色香网| 中文字幕日韩综合| 亚洲精品久久久久毛片A片拉屎| yirendaxiangjiashipin| 亚洲无码国产探花在线观看| 污污污8888| 久久香蕉综合一本到3atv| 正宗无毛一线天嫩逼| 狂操嫩妻视频一区二区三区| 午夜精品久久久| 亚洲视频一二区| 网页导航五月天免费一二三区| 日韩射图| 精品网站9999| 欧美综合娱乐久久| 玖玖无码超碰| 天天看天天综合成人网| 男人天堂黄片| 天天干人妻视频| 免費人妻夜夜爽天天爽爽一区| 日韩人妻一二三区视频| 欧美色老汉| 日韩一999精品| 最近2019中文字幕国语免费版| 蜜臀99精品国产高清在线观看| 香蕉一区二区三区在线视频| se01国产在线视频| 东京热,男人的天堂| 一区二区三区日韩欧美| 久久久久亚洲Aⅴ无码| 亚洲日韩天堂| 精品一二三区女同 | 久久精品国产欧美日韩亚洲欧美日韩中文久久国产一区 | 青青伊人这里只有精品| 少妇超碰在线| 一本大道不卡一二三区| 亚洲黄色AV电影| 香蕉久久精品| 六月丁香五月婷婷| 无码最新| 思思热一热婷婷热一热| 夜夜操狠狠操| 岛国毛片手机在线观看| 免费观看一区| 国产女主播视频在线观看| 九久9热| 激情五月丁香五月| 中文字幕国产| 亚洲天天综合| 加勒比无码毛片| 熟妇人妻一区二区三在线| 蜜桃色色网站视频三区| 综合久久六月久久婷婷| 国产欧美在线观看免费观看| 欧美韩日精品99综合| 东北女人操比视频| 国产精品国产自产拍高清AV| 亚洲高清无码免费观看视频| 欧美精品一区二区少妇免费A片| 亚州性9| 91大香蕉伊人| 亚洲综合贴图91| 18岁禁 茉莉成人久久| 蜜臀久久一区二区| 超碰人人超在线观看| 综合 欧美 亚洲 日本| 午夜国产综合视频在线观看 | 水野优香在线观看| A片三级无码| 亚洲啪啪视频一区二区| 成人免费毛片| 视频一区二区免费在线| 少妇蹲下露出大唇5| 日本在线15p| 热久久无毒不卡| 91伊人久久在线| 国产精品久久久九九九| 亚洲欧美setu| 躁躁日曰躁2020| 日韩99神马视频片| 中美日韩毛片| 国产专区路线| 亚洲男人的天堂V| 91 丝袜在线| 色哟哟国产精品免费网址| 91人人爽人人爽人人人,gav福利视频导航,日韩欧美亚洲国产字幕四区 | 国产一区二区a毛片| 91人妻最真实刺激绿帽| 国产精品久久久久久久久久梁医生| 中文字幕丰满子伦无码专区在线视频最新 | 在线免费观看高清无码视频| 91色综合| 精品无码久久久久久久杏吧| 26uuu欧美| 人人操人人射人人干| 60秒免费小视频| 久久国语| 久久久成人精品| 麻豆区久久久久亚| 亚洲好色人妻| 亚洲综合在线91| 久九色| 国产免费黄色一级大片| 欧美色www亚洲国产阿娇要播| 国产精品久久久久久久无码AV| 欧美黄色手机在线观看| 嫩草美女久久| 不卡一区二区日本视频| 免费a在线播放v| 超碰人人妻|