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

GitLab CICD與Kubernetes實踐·部署Flask Web服務

系統 Linux
通過Gitlab CI完成Flask web Service服務代碼風格檢查、單元測試、打包、發布到k8s環境里面,同時我們會在.gitlab-ci.yml文件中配置基于分支branch和tag的匹配執行相應的操作任務。

[[413159]]

服務背景

通過Gitlab CI完成Flask web Service服務代碼風格檢查、單元測試、打包、發布到k8s環境里面,同時我們會在.gitlab-ci.yml文件中配置基于分支branch和tag的匹配執行相應的操作任務。Flask web Service是一個帶有web登錄界面的測試代碼服務,服務運行的端口為5000,下面是該服務構建Docker鏡像的Dockerfile

  1. FROM python:3.4 
  2.  
  3. COPY . /skeleton 
  4. WORKDIR /skeleton 
  5. RUN pip install -r requirements.txt -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com # 配置pip源,加速下載 
  6. EXPOSE 5000 
  7. ENTRYPOINT ["sh""scripts/dev.sh"

定義.gitlab-ci.yml

然后為項目準備.gitlab-ci.yml文件,這個文件稍微有點長,可以通過👉遠程調用模板庫的方式優化配置,此處我們不在多說:

  1. stages: # 此處分為五個階段,按順序執行對應的環節 
  2.   - style 
  3.   - test 
  4.   - release 
  5.   - review 
  6.   - deploy 
  7.  
  8. pep8: # pep8是自定義命名的jobs 
  9.   image: python:2.7 # 指定下面script塊的指令在哪個鏡像運行的容器環境內運行 
  10.   stage: style # 聲明該pep8的job是屬于哪個stage階段運行 
  11.   script: # 該階段執行的操作,其實就像在terminal里面執行命令一樣。 
  12.     - pip install -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com tox 
  13.     - tox -e pep8 # 使用tox命令進行pep8代碼格式檢查規范性檢查,配置文件為當前項目下的tox.ini 
  14.  
  15. unittest-py2.7: 
  16.   image: python:2.7 
  17.   stage: test 
  18.   script: 
  19.     - pip install -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com tox 
  20.     - tox -e py27 # 指定使用py27虛擬環境 
  21.  
  22. unittest-py3.4: 
  23.   image: python:3.4 
  24.   stage: test 
  25.   script: 
  26.     - pip install -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com tox 
  27.     - tox -e py34 # 指定使用py34虛擬環境 
  28.  
  29. buildimage: 
  30.   image: docker:latest # 該環節需要構建鏡像,需要docker二進制命令,所以指定一個docker鏡像 
  31.   variables: # 給buildimage這個job傳遞的變量 
  32.     DOCKER_DRIVER: overlay 
  33.     DOCKER_HOST: tcp://localhost:2375 # 與service指定容器通信 
  34.   services: 
  35.     - name: docker:17.03-dind 
  36.       command: 
  37.           - "--registry-mirror=https://*****.mirror.aliyuncs.com" # 配置鏡像加速,當登錄私有鏡像倉庫的時候,如果倉庫的證書不受信任,可以在下方添加`--insecure-registry=*****`選項 
  38.   stage: release 
  39.   script: 
  40.     - docker login -u "${CI_REGISTRY_USER}" -p "${CI_REGISTRY_PASSWORD}" ${CI_REGISTRY_REPO_URL} # 登錄私有或者共有鏡像倉庫 
  41.     - docker build -t "${CI_REGISTRY_IMAGE}:latest" -f ./Dockerfile . # 構建鏡像 
  42.     - docker tag "${CI_REGISTRY_IMAGE}:latest" "${CI_REGISTRY_REPO_URL}/${CI_REGISTRY_NAMESPACE}/${CI_REGISTRY_IMAGE}:${CI_COMMIT_REF_NAME}" # 給鏡像打個推送到鏡像倉庫的地址 
  43.     - test ! -z "${CI_COMMIT_TAG}" && docker push "${CI_REGISTRY_REPO_URL}/${CI_REGISTRY_NAMESPACE}/${CI_REGISTRY_IMAGE}:latest" # 判斷CI_COMMIT_TAG是否存在 
  44.     - docker push "${CI_REGISTRY_REPO_URL}/${CI_REGISTRY_NAMESPACE}/${CI_REGISTRY_IMAGE}:${CI_COMMIT_REF_NAME}" # 推送到鏡像倉庫 
  45.  
  46. deploy_review: 
  47.   image: bitnami/kubectl # 該環節需要創建k8s資源,需要kubectl二進制命令 
  48.   stage: review 
  49.   only
  50.     - branches # 該stage直對分支有效 
  51.   except
  52.     - tags # 創建tags該stage不被執行 
  53.   environment: # 定義jobs將被部署在的環境,如果沒有將會被指定,keyword(name,url,kubernetes...) 
  54.     name: dev 
  55.     url: https://dev-gitlab-k8s-demo.*******.cn-beijing.alicontainer.com 
  56.     on_stop: stop_review # 定義stop的時候執行的jobs 
  57.   script: 
  58.     - kubectl version 
  59.     - cd manifests/ 
  60.     - sed -i "s/__CI_ENVIRONMENT_SLUG__/${CI_ENVIRONMENT_SLUG}/" deployment.yaml ingress.yaml service.yaml 
  61.     - sed -i "s/__VERSION__/${CI_COMMIT_REF_NAME}/" deployment.yaml ingress.yaml service.yaml 
  62.     - | 
  63.       if kubectl apply -f deployment.yaml | grep -q unchanged; then 
  64.           echo "=> Patching deployment to force image update." 
  65.           kubectl patch -f deployment.yaml -p "{\"spec\":{\"template\":{\"metadata\":{\"annotations\":{\"ci-last-updated\":\"$(date +'%s')\"}}}}}" 
  66.       else 
  67.           echo "=> Deployment apply has changed the object, no need to force image update." 
  68.       fi 
  69.     - kubectl apply -f service.yaml || true 
  70.     - kubectl apply -f ingress.yaml 
  71.     - kubectl rollout status -f deployment.yaml 
  72.     - kubectl get all,ing -n devops 
  73.   when: manual 
  74.  
  75. stop_review: 
  76.   image: bitnami/kubectl 
  77.   stage: review 
  78.   variables: 
  79.     GIT_STRATEGY: none # 聲明此jobs不會再做代碼的check out 
  80.   when: manual # 手動觸發是否繼續執行 
  81.   only
  82.     - branches 
  83.   except
  84.     - master # 除了master分支與tags的變化 
  85.     - tags 
  86.   environment: 
  87.     name: dev 
  88.     action: stop 
  89.   script: 
  90.     - kubectl version 
  91.     - kubectl delete ing -l ref=${CI_ENVIRONMENT_SLUG} 
  92.     - kubectl delete all -l ref=${CI_ENVIRONMENT_SLUG} 
  93.  
  94. deploy: 
  95.   image: bitnami/kubectl 
  96.   stage: deploy 
  97.   environment: 
  98.     name: live 
  99.     url: https://${$CI_ENVIRONMENT_SLUG}.****.cn-beijing.alicontainer.com # 服務的訪問域名 
  100.   only
  101.     - tags 
  102.   when: manual 
  103.   script: 
  104.     - kubectl version 
  105.     - cd manifests/ 
  106.     - sed -i "s/__CI_ENVIRONMENT_SLUG__/${CI_ENVIRONMENT_SLUG}/" deployment.yaml ingress.yaml service.yaml 
  107.     - sed -i "s/__VERSION__/${CI_COMMIT_REF_NAME}/" deployment.yaml ingress.yaml service.yaml 
  108.     - kubectl apply -f deployment.yaml service.yaml ingress.yaml 
  109.     - kubectl rollout status -f deployment.yaml 
  110.     - kubectl get all,ing -l ref=${CI_ENVIRONMENT_SLUG} 

上面便是運行Flask web service的Gitlab持續構建持續部署的配置文件,配置文件中主要是.gitlab-ci.yaml的語法[1]到諸多的配置環境變量[2],需要仔細的閱讀和掌握才能很好的玩轉CI.

K8s資源對象聲明

正如上面看到的,k8s的資源定義文件在項目.gitlab-ci.yml同級目錄manifests內

  1. 🐳 👉 ls 
  2. README.md       deployment.yaml ingress.yaml    service.yaml 

服務部署的配置文件deployment.yaml

  1. --- 
  2. apiVersion: apps/v1 
  3. kind: Deployment 
  4. metadata: 
  5.   name: gitlab-k8s-demo-__CI_ENVIRONMENT_SLUG__ 
  6.   namespace: devops 
  7.   labels: 
  8.     app: gitlab-k8s-demo 
  9.     ref: __CI_ENVIRONMENT_SLUG__ 
  10.     track: stable 
  11. spec: 
  12.   replicas: 2 
  13.   selector: 
  14.     matchLabels: 
  15.       app: gitlab-k8s-demo 
  16.       ref: __CI_ENVIRONMENT_SLUG__ 
  17.   template: 
  18.     metadata: 
  19.       labels: 
  20.         app: gitlab-k8s-demo 
  21.         ref: __CI_ENVIRONMENT_SLUG__ 
  22.         track: stable 
  23.     spec: 
  24.       imagePullSecrets: 
  25.         - name: myregistry 
  26.       containers: 
  27.       - name: app 
  28.         image: registry.cn-beijing.aliyuncs.com/*****/gitlab-ci-flaskapp-test:__VERSION__ # 前面是鏡像的地址 
  29.         imagePullPolicy: Always 
  30.         ports: 
  31.         - name: web 
  32.           protocol: TCP 
  33.           containerPort: 5000 # flask web service暴露的端口 
  34.         livenessProbe: 
  35.           httpGet: 
  36.             path: / 
  37.             port: 5000 
  38.           initialDelaySeconds: 3 
  39.           timeoutSeconds: 2 
  40.         readinessProbe: 
  41.           httpGet: 
  42.             path: / 
  43.             port: 5000 
  44.           initialDelaySeconds: 3 
  45.           timeoutSeconds: 2 

Flask web service暴露的svc資源對象聲明:

  1. apiVersion: v1 
  2. kind: Service 
  3. metadata: 
  4.   name: gitlab-k8s-demo-__CI_ENVIRONMENT_SLUG__ 
  5.   namespace: devops 
  6.   labels: 
  7.     app: gitlab-k8s-demo 
  8.     ref: __CI_ENVIRONMENT_SLUG__ 
  9.   annotations: 
  10.     prometheus.io/scrape: "true" 
  11.     prometheus.io/port: "5000" 
  12.     prometheus.io/scheme: "http" 
  13.     prometheus.io/path: "/" 
  14. spec: 
  15.   type: ClusterIP 
  16.   ports: 
  17.     - name: http-metrics 
  18.       port: 5000 
  19.       protocol: TCP 
  20.   selector: 
  21.     app: gitlab-k8s-demo 
  22.     ref: __CI_ENVIRONMENT_SLUG__ 

Flask web service暴露的外網訪問的資源對象ingress聲明:

  1. --- 
  2. apiVersion: extensions/v1beta1 
  3. kind: Ingress 
  4. metadata: 
  5.   name: gitlab-k8s-demo-__CI_ENVIRONMENT_SLUG__ 
  6.   namespace: devops 
  7.   labels: 
  8.     app: gitlab-k8s-demo 
  9.     ref: __CI_ENVIRONMENT_SLUG__ 
  10.   annotations: 
  11.     nginx.ingress.kubernetes.io/service-weight: '' 
  12. spec: 
  13.   rules: 
  14.   - host: __CI_ENVIRONMENT_SLUG__-gitlab-k8s-demo.****.cn-beijing.alicontainer.com 
  15.     http: 
  16.       paths: 
  17.       - path: / 
  18.         backend: 
  19.           serviceName: gitlab-k8s-demo-__CI_ENVIRONMENT_SLUG__ 
  20.           servicePort: 5000 

配置Runner環境變量

上面的.gitlab-ci.yml中引用的變量就是從這里配置的,變量分為項目變量,gitlab group級別的,具體按需使用

Gitlab平臺上配置Runner環境變量

配置完成之后就可以使用了。

查看效果

master分支變化

將代碼推送到master分支,gitlab會自動的創建一個pipeline交由gitlab runner,當master分支發生變化時,CI的效果圖如下:

master分支變化時Gitlab CI Pipeline

切換到一個新的分支上feature-01上看下CI會執行那些jobs,如下圖,可以在.gitlab-ci.yaml中通過only/except按需定義

其他分支變化時Gitlab CI Pipeline

其他分支

在Review環節需要手動的觸發,當結果沒有問題之后,就可以手動觸發stop_review刪除部署測試服務

其他分支變化時包含deploy_review與stop_review

deploy_review

deploy_review任務執行日志

stop_review

然后我們手動的觸發stop_review刪除剛才部署的已經沒用的測試環境

stop_review執行日志

創建Tags

  1. git tag v2.0 
  2. 🐳 👉 git push origin --tags                 
  3. Total 0 (delta 0), reused 0 (delta 0), pack-reused 0 
  4. To http://code.*******.cn-beijing.alicontainer.com/root/flask-ci-demo.git 
  5.  * [new tag]         v2.0 -> v2.0 

當推送一個新的tag到gitlab之后,就會觸發一個pipeline,匹配到那個tag的jobs

創建Tags后觸發的Gitlab CI Pipeline

這說明是一個比較穩定的可以上線的版本了,

穩定版本Tags后上線日志

查看一下創建的服務

查看服務的運行狀態

然后我們訪問一下服務,查看是否可以正常使用

Flask web服務登錄后的界面

可以正常登錄并且顯示如下表示服務運行成功了,測試到這里,基本上通過實踐操作說清楚.gitlab-ci.yml里面配置的各項指令含義以及通過Gitlab CI pipeline進行持續集成、持續部署、持續交付等實踐。如果有什么不清楚的,大家可以留言,我們一起交流學習。

參考資料

[1]gitlab-ci reference: https://docs.gitlab.com/ee/ci/yaml/README.html

[2]runner variables: https://docs.gitlab.com/ee/ci/variables/README.html

 

責任編輯:姜華 來源: 云原生生態圈
相關推薦

2011-06-02 10:25:10

Web服務器部署

2022-10-17 10:35:34

DevOpsCICD

2023-02-10 10:54:48

DevOpsCICD

2022-05-26 15:02:35

Docker容器云原生

2019-08-09 10:58:48

2022-05-11 08:45:49

VaultGitlab加密

2023-09-05 08:21:07

項目CICD場景

2022-10-19 13:11:35

2019-05-14 13:59:52

Flask服務器部署

2024-05-30 14:18:04

2022-07-13 15:43:02

Docker后端api

2021-12-14 06:59:39

微服務Kubernetes架構

2012-12-24 09:55:15

JavaJava WebJava優化

2021-07-07 10:21:26

技術

2020-03-16 08:48:18

Kubernetes容器云原生

2018-07-18 09:45:09

云服務Kubernetes實踐

2018-10-17 10:49:49

Kubernetes存儲處理

2025-06-09 07:30:00

Kubernetes節點自動伸縮集群

2025-03-07 10:23:46

2019-07-30 10:33:01

點贊
收藏

51CTO技術棧公眾號

日韩欧美99| 国产精品久久久久久久久久久久| 中文字幕第六页| 激情aⅴ欧美一区二区欲海潮| 久久亚洲欧美国产精品乐播| 国产精品久久久久久久av电影| 5566中文字幕| 欧美freesex8一10精品| 欧美日韩国产123区| 青青青免费在线| 婷婷免费在线视频| 不卡区在线中文字幕| 国产精品久久久久久网站 | 久久久国际精品| 成人免费视频在线观看超级碰| 日韩精品视频免费看| 国产精品国产一区| 亚洲欧美色婷婷| 亚洲女则毛耸耸bbw| 97欧美成人| 欧美日韩一区二区三区在线免费观看| 六月婷婷激情网| 999国产在线视频| 91麻豆文化传媒在线观看| 91黄色国产视频| 一卡二卡三卡在线观看| 久久久久国产精品一区二区| 久久久久久一区二区三区| 亚洲一二三四五六区| 另类在线视频| 日韩欧美国产成人一区二区| 成人综合久久网| 精品网站在线| 在线免费观看视频一区| 欧美三级在线观看视频| 福利在线导航136| 有坂深雪av一区二区精品| 亚洲一区bb| 888av在线| 国产精品女同一区二区三区| 欧美一级二级三级| 你懂的视频在线播放| 99re66热这里只有精品3直播| www久久99| 亚洲精品国产suv一区| 狠狠色综合色综合网络| 国产一区私人高清影院| 又骚又黄的视频| 另类调教123区 | 久久韩剧网电视剧| 影音先锋男人看片资源| 欧美国产一级| 日韩中文理论片| 老熟妇高潮一区二区三区| 999国产精品999久久久久久| 中文字幕亚洲一区| 亚洲国产精品一区二区久久hs| 欧美电影《轻佻寡妇》| 日韩在线视频观看正片免费网站| 国产精品麻豆免费版现看视频| 日韩成人精品一区二区| www.xxxx精品| 久久久久久天堂| 亚洲精品精选| 日韩免费在线视频| 中文字幕你懂的| 久久www免费人成看片高清| 国产综合色香蕉精品| 国产女人18毛片18精品| 国产不卡视频一区| 九色91在线视频| 国产1区2区3区在线| 国产精品激情偷乱一区二区∴| 五月天男人天堂| 国产美女一区视频| 色综合久久中文字幕综合网| 欧美成人黄色网址| 91麻豆精品国产91久久久更新资源速度超快| 欧美精品国产精品| 中文字幕永久免费| 久9久9色综合| 久久中文字幕在线| 日本在线观看视频网站| 日本不卡不码高清免费观看| 91在线观看免费高清完整版在线观看| 国模私拍视频在线| 欧美激情一二三区| 日本成人在线不卡| 性欧美xxx69hd高清| 欧美三级乱人伦电影| 色哟哟网站在线观看| 亚洲日本三级| 不卡av电影院| 日韩精品一区不卡| 国产福利一区二区三区视频| 欧美色欧美亚洲另类七区| 免费大片在线观看www| 精品久久久久久国产91| 欧美成人黄色网址| 奇米影视777在线欧美电影观看| 亚洲图片欧美午夜| 久久久一二三区| 奇米精品一区二区三区在线观看一| 91牛牛免费视频| 每日更新av在线播放| 一区二区在线观看av| 九九九在线观看视频| 亚洲欧美日本国产| 日韩在线视频观看正片免费网站| 免费观看一区二区三区毛片| 国内精品国产三级国产a久久| 麻豆传媒一区二区| 日韩特级毛片| 777奇米四色成人影色区| 9.1成人看片| 欧美日韩免费观看一区=区三区| 日本一区二区三区四区视频| 蜜桃av鲁一鲁一鲁一鲁俄罗斯的| 中文字幕亚洲不卡| 999精品网站| 久久a爱视频| 久久97久久97精品免视看| 中文字幕视频二区| 久久美女艺术照精彩视频福利播放 | 亚洲麻豆一区二区三区| 亚洲一区色图| 国产日韩欧美另类| aⅴ在线视频男人的天堂| 欧美日韩国产一中文字不卡 | www国产成人免费观看视频 深夜成人网| 中文字幕成人一区| 久草综合在线| 中文字幕亚洲精品| 伊人精品一区二区三区| 国产性做久久久久久| www.com毛片| 欧美日日夜夜| 91国产高清在线| 日韩一级中文字幕| 亚洲一区二区3| 亚洲成人激情小说| 午夜精品久久| 成人午夜电影在线播放| 永久免费网站在线| 精品久久久网站| 久久久久人妻一区精品色欧美| 国产一区二区三区久久久| 欧美日韩亚洲国产成人| 亚洲高清国产拍精品26u| 日韩一区二区在线视频| 国产又粗又猛又爽又黄91| 亚洲图片欧美激情| 亚洲女人在线观看| 精品动漫一区| 久久99国产精品99久久| 一级毛片久久久| 一二美女精品欧洲| 亚洲天堂中文字幕在线| 亚洲色图视频网| 337p日本欧洲亚洲大胆张筱雨| 欧美特黄视频| 久久精品中文字幕一区二区三区 | 日韩色在线观看| 欧美日韩在线视频免费播放| 国产99久久精品| 妺妺窝人体色www在线小说| 精品中文字幕一区二区三区av| 国产成人小视频在线观看| 阿v免费在线观看| 欧美丰满一区二区免费视频| 久热精品在线观看| www成人在线观看| 一级黄色特级片| 你懂的亚洲视频| 精品国产免费一区二区三区 | 欧美在线观看一区二区| 9.1片黄在线观看| 国产乱码一区二区三区| 2018国产在线| 欧美限制电影| 99高清视频有精品视频| 欧美舌奴丨vk视频| 欧美成人亚洲成人日韩成人| 天堂在线中文网| 欧美揉bbbbb揉bbbbb| 精品99在线观看| 国产色产综合色产在线视频| www.日本久久| 国产精品一二| 99中文字幕在线观看| 日韩丝袜视频| 91免费看国产| 日韩一区二区三区免费| 欧美国产日韩视频| 成人18在线| 精品不卡在线视频| 91麻豆成人精品国产| 精品久久久久久久大神国产| 天天色天天综合| 26uuu另类欧美亚洲曰本| 久久精品无码一区二区三区毛片| 久久人人精品| 每日在线观看av| 欧美一区二区| 在线看无码的免费网站| 伊人久久大香线蕉无限次| 97人摸人人澡人人人超一碰| 亚洲电影有码| 2019中文字幕在线免费观看| 性欧美ⅴideo另类hd| 色噜噜国产精品视频一区二区| 天天干在线观看| 日韩你懂的电影在线观看| 中文字幕日日夜夜| 一本高清dvd不卡在线观看| 久久久久久久国产精品毛片| 国产精品毛片大码女人| av男人的天堂av| 99r精品视频| 性活交片大全免费看| 久久97超碰国产精品超碰| 国产精品无码av无码| 亚洲精品护士| 无码粉嫩虎白一线天在线观看| 66视频精品| 中文字幕中文字幕在线中心一区| 欧美综合在线视频观看| 欧洲亚洲一区二区三区四区五区| 欧美影院天天5g天天爽| 国产伦理久久久| youjizzjizz亚洲| 99久久自偷自偷国产精品不卡| 亚洲精品自拍| 成人午夜在线视频一区| 国外成人福利视频| 国产精品一区久久| yiren22亚洲综合| 国产精品极品尤物在线观看| 欧美成人h版| 国产精品999| 日本一道高清亚洲日美韩| 国产精品免费久久久久久| 精品裸体bbb| 国产精品久久久一区| 美女色狠狠久久| 国产精品久久久久久久久久ktv| 日本精品另类| 国产有码在线一区二区视频| 欧美aaaaaa| 成人信息集中地欧美| 欧美a在线观看| 国产精品一 二 三| 卡一精品卡二卡三网站乱码| 久草热久草热线频97精品| 亚洲人成网站77777在线观看| 日本一区视频在线| 色喇叭免费久久综合网| 波多野结衣三级在线| 亚洲精品成人无限看| 人妻av无码专区| aa亚洲婷婷| 美女一区二区三区视频| 国内精品伊人久久久久影院对白| 中文字幕第三区| 国产一区二区久久| 在线看黄色的网站| 久久亚洲精华国产精华液| 亚洲精品国产精品国自产网站| 国产精品萝li| 九九视频在线观看| 黑人巨大精品欧美一区二区三区 | 亚洲美女尤物影院| 国产精品久久久久久久午夜| 清纯唯美激情亚洲| 久久综合一区二区三区| 日韩av专区| 一卡二卡三卡视频| 日韩二区在线观看| 91亚洲一区二区| 久久午夜电影网| 农村老熟妇乱子伦视频| 亚洲一区二区三区美女| 中文字幕免费高清网站| 制服视频三区第一页精品| 色哟哟国产精品色哟哟| 日韩亚洲第一页| h片在线观看下载| 国产精品久久久久免费a∨大胸| 日韩精品视频中文字幕| 欧美日韩国产高清视频| 中文字幕日韩一区二区不卡| www.玖玖玖| 国产成人在线视频网站| 久久午夜福利电影| 亚洲一区二区三区自拍| 中文字幕在线观看1| 亚洲国产一区二区三区四区| 97超碰人人在线| 性欧美视频videos6一9| 国产精品va视频| 欧美一区二区高清在线观看| 在线观看一区| 日韩精品视频网址| 国产亚洲欧美色| 国产在线观看免费视频今夜| 欧美群妇大交群中文字幕| 男女污视频在线观看| 性色av一区二区三区免费| 成人av在线播放| 欧洲精品在线一区| 国产欧美三级| 国产国语老龄妇女a片| 一区二区中文视频| 波多野结衣人妻| 亚洲精品狠狠操| 国产桃色电影在线播放| 亚洲xxxxx性| 欧美hd在线| 国产三级国产精品国产专区50| 久久丝袜美腿综合| 激情五月色婷婷| 欧美mv和日韩mv的网站| 黄色的网站在线观看| 国产乱肥老妇国产一区二 | 国产精品**亚洲精品| 亚洲一区二区在| 日韩av不卡一区二区| 精品人妻无码一区二区三区换脸| 精品久久久久久久久久久久| 亚洲欧美高清视频| 久久91亚洲精品中文字幕奶水 | 国产综合欧美在线看| 欧美精品三区| 久草免费资源站| 亚洲h在线观看| 免费观看的毛片| 久久久久久成人精品| 亚洲高清999| 免费的一级黄色片| 成人午夜电影小说| 久久免费播放视频| 久久久久久久久久久久久国产| 三区四区电影在线观看| 日本精品免费观看| 亚洲欧美tv| www日韩视频| 欧美激情综合五月色丁香| 97人妻一区二区精品视频| 亚洲区在线播放| 日韩一区二区三区在线免费观看| 青青草原亚洲| 欧美aⅴ一区二区三区视频| 免费一级黄色录像| 欧美色图在线观看| 午夜在线视频| 成人免费视频网| 欧美日本一区二区视频在线观看 | 欧美成人a交片免费看| 欧美一区二区在线视频观看| 日韩电影一区二区三区| 国产在视频线精品视频| 4hu四虎永久在线影院成人| 中文在线观看免费| 国产精品一区二区三区观看| 在线亚洲伦理| 久久久久久久久福利| 制服丝袜国产精品| 成人爽a毛片免费啪啪动漫| 久久国产精品免费一区| 青青草视频一区| 69xx绿帽三人行| 日韩精品日韩在线观看| 欧美成人xxxx| 99久久久精品视频| 2022国产精品视频| 国产精品久久久国产盗摄| 久久久久久久久久久人体| 亚洲人挤奶视频| 三区视频在线观看| 天天影视网天天综合色在线播放| 成人在线免费公开观看视频| 91蜜桃网站免费观看| 国产农村妇女精品一二区| 国产91在线播放九色| 欧美va日韩va| 成人在线观看免费播放| 激情五月六月婷婷| 国产亚洲精品中文字幕| h片在线免费看| 国产精品999| 亚洲欧洲一区| 国产91在线播放九色| 日韩精品在线免费| 精品99re| 婷婷丁香激情网| 精品久久久一区| 三级网站视频在在线播放| 亚洲精品国产精品国自产| 波多野结衣中文字幕一区二区三区| 中文字幕a级片|