精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

通過(guò)Jenkins構(gòu)建CI/CD實(shí)現(xiàn)全鏈路灰度

開(kāi)發(fā) 架構(gòu)
在微服務(wù)治理架構(gòu)中,全鏈路灰度功能能提供虛擬泳道,極大的方便了測(cè)試、發(fā)布時(shí)的快速驗(yàn)證,能夠幫助 DevOPs 提升線上穩(wěn)定性。

作者 | 卜比

本文介紹通過(guò) Jenkins 構(gòu)建流水線的方式實(shí)現(xiàn)全鏈路灰度功能。

在發(fā)布過(guò)程中,為了整體穩(wěn)定性,我們總是希望能夠用小部分特定流量來(lái)驗(yàn)證下新發(fā)布應(yīng)用是否正常。即使新版本有問(wèn)題,也能及時(shí)發(fā)現(xiàn),控制影響面,保障了整體的穩(wěn)定性。

1.整體架構(gòu)

我們以如下 Demo 為例:

圖片

為了保證穩(wěn)定,我們約定如下上線流程:圖片

其中,在灰度驗(yàn)證中,有幾種不同的策略:

  • 直接使用線上小部分流量來(lái)測(cè)試(按照百分比放量)
  • 從線上按照特定規(guī)則選擇流量(比如特定的 header、特定的 cookie 等)
  • 在客戶端或?yàn)g覽器上標(biāo)識(shí)出流量是否灰度(比如通過(guò) header 傳遞)

2.部署應(yīng)用&創(chuàng)建泳道

按照參考文檔部署應(yīng)用后,我們首先要區(qū)分線上流量和灰度流量。創(chuàng)建泳道組,將整個(gè)鏈路涉及到的應(yīng)用全選:

圖片

然后創(chuàng)建泳道組,將符合規(guī)則的應(yīng)用劃入 gray 泳道:

圖片

注:沒(méi)有匹配的流量,會(huì)走到基線環(huán)境,也就是沒(méi)有打標(biāo)的應(yīng)用節(jié)點(diǎn)上。

配置完成后,訪問(wèn)網(wǎng)關(guān),如果不符合灰度規(guī)則,走基線環(huán)境:

圖片

如何符合灰度規(guī)則,走灰度環(huán)境:

圖片

3.配置 Jenkins 流水線

本文實(shí)踐需要將源碼打包后執(zhí)行鏡像推送,請(qǐng)確保 Jenkins 有權(quán)限推送到鏡像倉(cāng)庫(kù)中。具體操作,請(qǐng)參見(jiàn)使用 kaniko 構(gòu)建和推送容器鏡像。

在 Jenkins 命名空間下使用生成的 config.json 文件創(chuàng)建名為 jenkins-docker-cfg 的 Secret。

kubectl create secret generic jenkins-docker-cfg -n jenkins --from-file=/root/.docker/config.json

(1)在 Jenkins 中創(chuàng)建全鏈路灰度發(fā)布流水線

基于 Jenkins 實(shí)現(xiàn)自動(dòng)化發(fā)布的流水線,通過(guò)該流水線可以使應(yīng)用發(fā)布具備可灰度、可觀測(cè)、可回滾的安全生產(chǎn)三板斧能力。

  • 在 Jenkins 控制臺(tái)左側(cè)導(dǎo)航欄單擊新建任務(wù)。
  • 輸入任務(wù)名稱(chēng),選擇流水線,然后單擊確定。
  • 在頂部菜單欄單擊流水線頁(yè)簽,在流水線區(qū)域配置相關(guān)參數(shù)選擇,輸入腳本路徑,然后單擊保存。

圖片

定義:選擇 Pipeline script from SCM。

SCM:選擇 Git。

Repository URL:輸入 Git 倉(cāng)庫(kù)的 URL。

腳本路徑:輸入 Jenkinsfile。

您可以參考以下的文件填寫(xiě)好指定的參數(shù),當(dāng)然您也可以根據(jù)需求編寫(xiě) Jenkinsfile ,并上傳至 Git 的指定路徑下(流水線中指定的腳本路徑)。

#!groovy
pipeline {
// 定義本次構(gòu)建使用哪個(gè)標(biāo)簽的構(gòu)建環(huán)境,本示例中為 “slave-pipeline”
agent{
node{
label 'slave-pipeline'
}
}
//常量參數(shù),初始確定后一般不需更改
environment{
IMAGE = sh(returnStdout: true,script: 'echo registry.$image_region.aliyuncs.com/$image_namespace/$image_reponame:$image_tag').trim()
BRANCH = sh(returnStdout: true,script: 'echo $branch').trim()
}
options {
//保持構(gòu)建的最大個(gè)數(shù)
buildDiscarder(logRotator(numToKeepStr: '10'))
}
parameters {
string(name: 'image_region', defaultValue: 'cn-shanghai')
string(name: 'image_namespace', defaultValue: 'yizhan')
string(name: 'image_reponame', defaultValue: 'spring-cloud-a')
string(name: 'image_tag', defaultValue: 'gray')
string(name: 'branch', defaultValue: 'master')
string(name: 'number_of_pods', defaultValue: '2')
}
//pipeline的各個(gè)階段場(chǎng)景
stages {
stage('代碼打包') {
steps{
container("maven") {
echo "鏡像構(gòu)建......"
sh "cd A && mvn clean package"
}
}
}
stage('鏡像構(gòu)建及發(fā)布'){
steps{
container("kaniko") {
sh "kaniko -f `pwd`/A/Dockerfile -c `pwd`/A --destination=${IMAGE} --skip-tls-verify"
}
}
}
stage('灰度部署') {
steps{
container('kubectl') {
echo "灰度部署......"
sh "cd A && sed -i -E \"s/${env.image_reponame}:.+/${env.image_reponame}:${env.image_tag}/\" A-gray-deployment.yaml"
sh "cd A && sed -i -E \"s/replicas:.+/replicas: ${env.number_of_pods}/\" A-gray-deployment.yaml"
sh "kubectl apply -f A/A-gray-deployment.yaml -n default"
}
}
}
stage('結(jié)束灰度') {
input {
message "請(qǐng)確認(rèn)是否全量發(fā)布"
ok "確認(rèn)"
parameters {
string(name: 'continue', defaultValue: 'true', description: 'true為全量發(fā)布,其他為回滾')
}
}
steps{
script {
env.continue = sh (script: 'echo ${continue}', returnStdout: true).trim()
if (env.continue.equals('true')) {
container('kubectl') {
echo "全量發(fā)布......"
sh "cd A && sed -i -E \"s/${env.image_reponame}:.+/${env.image_reponame}:${env.image_tag}/\" A-deployment.yaml"
sh "cd A && sed -i -E \"s/replicas:.+/replicas: ${env.number_of_pods}/\" A-deployment.yaml"
sh "kubectl apply -f A/A-deployment.yaml -n default"
}
} else {
echo '回滾'
}
container('kubectl') {
sh "kubectl delete -f A/A-gray-deployment.yaml -n default"
}
}
}
}
}
}

(2)構(gòu)建 Jenkins 流水線

  • 在 Jenkins 控制臺(tái)單擊流水線右側(cè)的圖標(biāo)。
  • 單擊流水線的開(kāi)始構(gòu)建。

說(shuō)明:第一次構(gòu)建因?yàn)樾枰獜?Git 倉(cāng)庫(kù)拉取配置并初始化流水線,所以可能會(huì)報(bào)錯(cuò),再次執(zhí)行 Build with Parameters,生成相關(guān)的參數(shù),填寫(xiě)相關(guān)的參數(shù),再次執(zhí)行構(gòu)建。

圖片

查看部署狀態(tài),代碼打包,鏡像構(gòu)建及發(fā)布,灰度部署階段都已經(jīng)完成,結(jié)束灰度階段等待確認(rèn)。

圖片

如果驗(yàn)證結(jié)果符合預(yù)期,則執(zhí)行全量發(fā)布,請(qǐng)參見(jiàn)后文的全量發(fā)布應(yīng)用。

如果驗(yàn)證結(jié)果不符合預(yù)期時(shí),則執(zhí)行回滾,請(qǐng)參見(jiàn)后文的回滾應(yīng)用。

(3)結(jié)果驗(yàn)證

  • 登錄容器服務(wù)控制臺(tái),在控制臺(tái)左側(cè)導(dǎo)航欄中,單擊集群。
  • 在集群列表頁(yè)面中,單擊目標(biāo)集群名稱(chēng)或者目標(biāo)集群右側(cè)操作列下的詳情。
  • 在集群管理頁(yè)面左側(cè)導(dǎo)航欄選擇工作負(fù)載 > 無(wú)狀態(tài)。
  • 在無(wú)狀態(tài)應(yīng)用列表頁(yè)面,spring-cloud-a-gray應(yīng)用已經(jīng)自動(dòng)創(chuàng)建,并且它的鏡像已經(jīng)替換為spring-cloud-a:gray版本。

圖片

  • 在集群管理頁(yè)面左側(cè)導(dǎo)航欄選擇網(wǎng)絡(luò) > 服務(wù),選擇設(shè)置的命名空間,單擊zuul-slb服務(wù)的外部端點(diǎn),查看真實(shí)的調(diào)用情況。

不帶灰度 Header 進(jìn)行調(diào)用,發(fā)現(xiàn)路由到 A 的正常節(jié)點(diǎn)。

Curl 命令:

curl http://182.92.XX.XX/A/a

執(zhí)行結(jié)果如下:

A[10.4.XX.XX] -> B[10.4.XX.XX] -> C[10.4.XX.XX]%

帶上符合條件的參數(shù)進(jìn)行訪問(wèn),路由到 A 的灰度節(jié)點(diǎn)中。

Curl 命令:

curl http://182.92.XX.XX/A/a?name=xiaoming

執(zhí)行結(jié)果如下:

Agray[10.4.XX.XX] -> B[10.4.XX.XX] -> C[10.4.XX.XX]%
  • 6. 登錄 MSE 治理中心控制臺(tái),在應(yīng)用詳情頁(yè)面,可以看到灰度流量已經(jīng)進(jìn)入到灰度的 Pod 中。

圖片

(4)全量發(fā)布應(yīng)用

結(jié)果驗(yàn)證通過(guò)之后,確認(rèn)全量發(fā)布。

  • 在 Jenkins 控制臺(tái)中,單擊目標(biāo)流水線名稱(chēng)。
  • 單擊需要全量發(fā)布的階段,在請(qǐng)確認(rèn)是否全量發(fā)布對(duì)話框中輸入 true,然后單擊確認(rèn)。

圖片

  • 在容器服務(wù)控制臺(tái),發(fā)現(xiàn) spring-cloud-a-gray 應(yīng)用已經(jīng)被刪除,并且 spring-cloud-a 應(yīng)用的鏡像已經(jīng)替換為 spring-cloud-a:gray 版本。

圖片

  • 在 MSE治理中心控制臺(tái),發(fā)現(xiàn)灰度流量已經(jīng)消失。

圖片

(5)回滾應(yīng)用

如果發(fā)現(xiàn)驗(yàn)證結(jié)果不符合預(yù)期時(shí),則回滾應(yīng)用。

  • 在 Jenkins 控制臺(tái)中,單擊目標(biāo)流水線名稱(chēng)。
  • 單擊需要全量發(fā)布的階段,在請(qǐng)確認(rèn)是否全量發(fā)布對(duì)話框中輸入 false,然后單擊確認(rèn)。

圖片

  • 在容器服務(wù)控制臺(tái),發(fā)現(xiàn) spring-cloud-a-gray 應(yīng)用已經(jīng)被刪除,并且 spring-cloud-a 應(yīng)用的鏡像仍然是老版本。

圖片

  • 在 MSE 治理中心控制臺(tái),發(fā)現(xiàn)灰度流量已經(jīng)消失。

圖片

4.總結(jié)

在微服務(wù)治理架構(gòu)中,全鏈路灰度功能能提供虛擬泳道,極大的方便了測(cè)試、發(fā)布時(shí)的快速驗(yàn)證,能夠幫助 DevOPs 提升線上穩(wěn)定性。阿里云微服務(wù)引擎(MSE)能夠給您帶來(lái)全生命周期的、全方位的微服務(wù)治理能力,保障您的線上穩(wěn)定性、提升開(kāi)發(fā)、運(yùn)維效率。相關(guān)鏈接:

參考文檔:https://github.com/aliyun/alibabacloud-microservice-demo/blob/master/mse-simple-demo/helm/mse-simple-demo/README.md

示例代碼倉(cāng)庫(kù)地址:https://gitee.com/mse-group/alibabacloud-microservice-demo/tree/master/mse-simple-demo

容器服務(wù)控制臺(tái):https://cs.console.aliyun.com/#/k8s/cluster/list

MSE治理中心控制臺(tái):https://mse.console.aliyun.com/#/overview?

使用 kaniko 構(gòu)建和推送容器鏡像:https://help.aliyun.com/document_detail/106712.htm?

責(zé)任編輯:武曉燕 來(lái)源: 阿里巴巴中間件
相關(guān)推薦

2024-01-05 00:29:36

全鏈路灰度發(fā)布云原生

2020-10-21 14:10:28

工具測(cè)試開(kāi)發(fā)

2024-05-20 11:23:18

2024-12-16 13:34:35

2019-11-07 09:00:39

Jenkins流水線開(kāi)源

2025-03-04 08:53:10

2023-11-21 09:35:49

全量部署微服務(wù)

2022-02-22 09:00:00

軟件開(kāi)發(fā)CI/CD 管道工具

2021-11-18 10:01:00

Istio 全鏈路灰度微服務(wù)框架

2023-02-19 15:28:39

CI/CD 管道集成開(kāi)發(fā)

2020-06-05 07:20:41

測(cè)試自動(dòng)化環(huán)境

2023-11-14 09:04:15

用戶節(jié)點(diǎn)不可用

2018-08-24 09:00:00

DevOps持續(xù)集成連續(xù)部署

2021-08-31 09:00:00

開(kāi)發(fā)Azure DevOp集成

2023-01-30 22:34:44

Node.js前端

2023-03-13 14:46:32

CI/CD工具軟件開(kāi)發(fā)

2020-10-12 07:00:00

JenkinsDevOps測(cè)試工具

2021-01-11 09:17:49

GitLabCIMonorepoDocker

2022-12-26 11:57:41

數(shù)據(jù)庫(kù)治理
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

欧美s码亚洲码精品m码| 尤物九九久久国产精品的特点 | 亚洲综合免费观看高清完整版在线 | 国产精品 欧美精品| 久久久久久久久久久成人| 少妇大叫太粗太大爽一区二区| 激情久久一区二区| 亚洲成人777| 亚洲一区美女| 秋霞av在线| 国产精品538一区二区在线| 欧美与欧洲交xxxx免费观看| 日本中文在线视频| 久久成人av| 精品国产亚洲一区二区三区在线观看| 天天碰免费视频| 丁香花在线电影| 国产精品盗摄一区二区三区| 久久大片网站| 不卡视频在线播放| 麻豆一区二区三区| 青草成人免费视频| 日本污视频在线观看| 天天久久综合| 中文字幕不卡av| 中文字幕丰满乱子伦无码专区| 欧美影院视频| 5858s免费视频成人| 日韩在线第三页| 午夜裸体女人视频网站在线观看| 一区二区三区欧美亚洲| 中国成人亚色综合网站| 黄色大片在线免费观看| 91啪九色porn原创视频在线观看| 亚洲影影院av| 国产口爆吞精一区二区| 麻豆久久久久久| 国产精品999999| 国产精品suv一区| 亚洲精品在线二区| 久久久久久国产三级电影| 人妻少妇精品一区二区三区| 婷婷亚洲图片| 久久久精品久久| 国产探花视频在线| 成人3d精品动漫精品一二三| 亚洲欧美日韩精品久久| 波多野结衣福利| 色橹橹欧美在线观看视频高清| 精品国产三级a在线观看| 古装做爰无遮挡三级聊斋艳谭| 97久久中文字幕| 欧美精品一二三四| 久久久久久综合网| 欧美日本三级| 日韩丝袜美女视频| 日本女人性视频| 中文字幕区一区二区三| 欧美成人高清电影在线| 妖精视频一区二区| 日本久久成人网| 亚洲毛片在线观看| 嘿嘿视频在线观看| 98精品视频| 欧美裸身视频免费观看| 国产高清在线免费观看| 欧美成人tv| 久久久久国产精品一区| 国产又色又爽又黄的| 亚洲欧美视频| 国产精品老女人精品视频| 在线播放亚洲精品| 国产99久久久精品| 精品毛片久久久久久| 你懂的在线观看视频网站| 国产亚洲精品久| 中文字幕欧美人与畜| 在线黄色网页| 欧美日韩中文在线| 国产色视频在线播放| 国产亚洲字幕| 精品视频中文字幕| 91香蕉一区二区三区在线观看| 欧美 日韩 国产 一区| 久久久免费观看| 欧美另类高清videos的特点| 韩国三级中文字幕hd久久精品| 成人欧美一区二区三区在线观看| 蜜桃视频在线播放| 18涩涩午夜精品.www| 欧美午夜性视频| 国产一区高清| 亚洲成人教育av| jizz18女人高潮| 亚洲国内欧美| 成人激情视频网| 日本人妖在线| 一区二区三区日本| 亚欧激情乱码久久久久久久久| 日韩一区二区三区在线看| 亚洲欧美日韩天堂一区二区| 国产波霸爆乳一区二区| 日韩精品电影一区亚洲| 肥熟一91porny丨九色丨| www.av在线播放| 亚洲电影第三页| 视频在线观看免费高清| 伦理一区二区三区| 欧美理论电影在线播放| 在线黄色av网站| 91麻豆福利精品推荐| 国产日韩第一页| 无人区在线高清完整免费版 一区二| 日韩欧美亚洲另类制服综合在线| 日本美女xxx| 亚洲一区中文| 国产精品一区视频| 国产美女av在线| 91成人网在线| 女尊高h男高潮呻吟| 国产中文一区| 91在线播放国产| 日本免费在线观看| 欧美在线|欧美| 干b视频在线观看| 亚洲一区免费| 精品国产乱码久久久久久久软件 | 国产不卡av在线免费观看| 亚洲精品国产一区二| 亚洲欧美色图小说| 亚洲免费成人在线视频| 日韩欧美1区| 国产精品露脸自拍| avav免费在线观看| 欧美性大战久久久久久久蜜臀| v8888av| 国产一级久久| 久久精品女人的天堂av| 国产在线精彩视频| 日韩电影免费观看中文字幕| 日韩欧美a级片| 成人av网站在线| 日本香蕉视频在线观看| www.成人网| 性色av香蕉一区二区| 黑人乱码一区二区三区av| 亚洲午夜久久久久久久久久久| 无码人妻一区二区三区在线视频| 亚洲一本二本| 99久久精品免费看国产四区| 日韩另类在线| 亚洲精品www久久久| 日韩乱码一区二区| 99精品久久久久久| 亚洲精品中文字幕无码蜜桃| 国产日韩欧美一区二区三区| 国产精品久久久久久久久久久久久久| 国产精品久久久久一区二区国产| 欧美性猛交一区二区三区精品| 我想看黄色大片| 激情欧美日韩一区二区| 日韩亚洲欧美一区二区| 成人三级毛片| 国产精品扒开腿做爽爽爽视频| 香蕉视频在线免费看| 日韩一级大片在线观看| 日韩黄色a级片| 国产午夜精品久久久久久免费视| 老司机午夜性大片| 亚洲一级一区| 欧美一区三区二区在线观看| 久久精品国产精品亚洲毛片| 色综合久综合久久综合久鬼88| 日本免费网站在线观看| 色国产综合视频| frxxee中国xxx麻豆hd| 国产69精品一区二区亚洲孕妇| a在线视频观看| 成人影院在线| 国产精品日韩欧美一区二区| 成人亚洲欧美| 美日韩在线视频| 午夜在线视频观看| 51久久夜色精品国产麻豆| 国产精品 欧美 日韩| 国产欧美日本一区视频| 免费黄视频在线观看| 久久一综合视频| 欧美做受777cos| 国产伦精品一区二区三区千人斩| 成人在线小视频| sm捆绑调教国产免费网站在线观看| 国产一区二区三区视频 | 亚洲伦理中文字幕| 国产后入清纯学生妹| 色婷婷激情一区二区三区| 青青青在线免费观看| 久久网站热最新地址| 手机看片国产精品| 日本伊人精品一区二区三区观看方式| 久久久无码中文字幕久...| 欧美男gay| 成人永久免费| 亚洲精品无播放器在线播放| 2019中文在线观看| 日韩少妇视频| 久久精彩免费视频| 黄色av免费在线观看| 精品久久久久av影院| 一级淫片免费看| 色久优优欧美色久优优| 久久久久噜噜噜亚洲熟女综合| 亚洲国产成人在线| aa一级黄色片| 不卡的看片网站| 超碰人人cao| 久久精品国产精品青草| 91视频免费版污| 久久久久久久波多野高潮日日| 韩日视频在线观看| 亚洲香蕉av| 懂色av一区二区三区四区五区| 国产亚洲欧美日韩在线观看一区二区| 成人在线看片| 视频免费一区二区| **亚洲第一综合导航网站| 97精品国产99久久久久久免费| 欧美一区三区三区高中清蜜桃| 国产桃色电影在线播放| 欧美国产日产韩国视频| 国产成人l区| 久久亚洲影音av资源网| 美女隐私在线观看| 日韩一区二区三区国产| 在线观看h片| 中文字幕久久久| 国产69精品久久app免费版| 亚洲色图美腿丝袜| 九色在线观看视频| 亚洲色图18p| 91激情在线| 中文字幕欧美国内| 免费大片黄在线观看视频网站| 爽爽爽爽爽爽爽成人免费观看| 在线观看二区| 久久亚洲国产精品| 污污的网站在线免费观看| 欧美激情高清视频| 1区2区3区在线| 97视频免费看| 校园春色亚洲| 国产精品极品尤物在线观看 | 欧美日韩一区二区三区不卡| 最新中文字幕免费| 欧美日韩一区二区电影| 国产成人三级一区二区在线观看一| 日韩手机在线导航| 亚洲欧洲视频在线观看| 国产午夜精品全部视频播放 | 中国色在线观看另类| 精品在线观看一区| 亚洲一区自拍偷拍| 欧美日韩乱国产| 欧美日韩一级视频| www.99视频| 日韩激情第一页| 国产精品二线| 欧美精品一区在线播放| freexxx性亚洲精品| 国产91精品网站| 国产精品美女久久久久| 久久av二区| 成人免费电影网址| 青青视频免费在线观看| 国产日韩1区| 黄大色黄女片18第一次| 国产精品香蕉一区二区三区| a天堂视频在线观看| 日本一区二区久久| 免费毛片在线播放免费| 91国在线观看| 性猛交富婆╳xxx乱大交天津| 亚洲精品成a人在线观看| 色视频在线免费观看| 欧美激情精品久久久久久黑人 | 日韩精品亚洲一区二区三区免费| 日韩va在线观看| 成人av在线网站| 人妻互换一区二区激情偷拍| 夜夜精品浪潮av一区二区三区| 天天干天天色综合| 欧美一区二区三区爱爱| 青青草视频免费在线观看| 久热99视频在线观看| 黄瓜视频成人app免费| 91视频99| 99热在线成人| 波多野结衣家庭教师视频| 韩国视频一区二区| 黄色片网站免费| 亚洲1区2区3区视频| 亚洲最新av网站| 亚洲欧美日韩一区在线| 国产www视频在线观看| 国产日韩欧美日韩大片| 亚洲小说图片视频| 无码专区aaaaaa免费视频| 国产综合色视频| 国产一二三av| 在线观看日韩精品| 五月婷婷免费视频| 欧美激情一区二区三区在线视频观看| 久久91超碰青草在哪里看| 欧美激情视频一区二区三区| 欧美色一级片| 三日本三级少妇三级99| 欧美激情一区二区三区全黄| 成人免费看片98欧美| 日韩精品一区二区三区中文不卡| 欧美激情黑人| 国产在线久久久| 日本欧美国产| 人妻丰满熟妇av无码区app| 97久久超碰精品国产| 精品少妇一二三区| 日韩一区二区三区免费看 | 中文字幕中文在线不卡住| 欧美成人一区二区三区四区| 日韩成人av网| 校园春色亚洲| 欧美日韩国产免费一区二区三区 | 欧美在线视频一二三| 国产毛片久久久| 欧美一级欧美一级| 成人动漫一区二区| 日韩精品国产一区二区| 精品欧美久久久| av日韩国产| 狠狠色噜噜狠狠色综合久| 亚洲久久视频| 欧美 日本 国产| 色婷婷香蕉在线一区二区| 日韩a在线观看| 国产z一区二区三区| 成人精品视频| www.这里只有精品| 亚洲天堂网中文字| av观看在线免费| 欧美激情日韩图片| 欧美a一欧美| 成年人免费在线播放| 国产精品网站一区| 在线观看视频二区| 欧美成年人视频网站| 日本一区二区乱| 成人av一级片| 国产欧美一区二区精品久导航| 中文字幕av无码一区二区三区| 久久久精品电影| 第四色中文综合网| 不卡影院一区二区| 中文字幕一区二区不卡| 国产人妻精品一区二区三| 国内精品一区二区三区四区| 日韩av系列| 日韩一区二区三区久久| 一区二区三区日韩在线观看| 无码国精品一区二区免费蜜桃| 日本午夜人人精品| 天天射综合网视频| 制服丝袜在线第一页| 91国偷自产一区二区三区观看| 欧美人xxx| 精品日产一区2区三区黄免费| 三级精品在线观看| 免费在线一级片| 亚洲男子天堂网| 国产精品日韩精品在线播放| 久久久亚洲国产精品| 国产亚洲一区二区三区| 国产日产亚洲系列最新| 2021久久精品国产99国产精品| 色综合天天综合网中文字幕| 国产ts在线观看| 欧美综合一区二区| 欧美24videosex性欧美| 日韩精品电影网站| 国产成人一区二区精品非洲| 国产综合精品视频| 久久精品中文字幕电影| 西野翔中文久久精品国产| 亚洲自拍第三页| 日韩欧美精品网站| 天天色天天射天天综合网| 日本在线观看一区二区三区| 国产成人啪午夜精品网站男同| 天天射天天干天天| 久久久亚洲国产| 97精品一区| 亚洲码无人客一区二区三区|