精品欧美一区二区三区在线观看 _久久久久国色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技術棧公眾號

久久久久久黄| 久久久精品区| 国产精品第四页| 成人写真福利网| 久久久久成人网站| 羞羞答答一区二区| 欧美视频在线观看一区二区| 日韩不卡视频一区二区| 天天操天天干天天舔| 人妖欧美一区二区| 欧美激情在线观看| jizz18女人高潮| 2020国产精品极品色在线观看| 色综合久久久久综合体桃花网| 影音先锋欧美资源| 水中色av综合| 国产一区三区三区| 国产91九色视频| 久久免费播放视频| 久久视频国产| 亚洲男人天堂网| 91欧美一区二区三区| 色综合桃花网| 亚洲综合激情小说| 偷拍视频一区二区| 香蕉视频国产在线| 国产一区二区看久久| 国产精品ⅴa在线观看h| 日本熟妇毛茸茸丰满| 国产一卡不卡| 欧美不卡视频一区| 亚洲欧洲日本精品| 国产精品av一区二区三区| 亚洲一区二区在线免费看| 日韩资源av在线| 少妇精品视频一区二区| 国产一区在线看| 国产精品女主播视频| 香蕉影院在线观看| 一本一本久久| 久久久久久久久久久av| 国产女人被狂躁到高潮小说| 大片网站久久| 国产亚洲视频在线| 欧美特黄一区二区三区| 久久影院资源站| 欧美tk—视频vk| 激情文学亚洲色图| 国产成+人+综合+亚洲欧美| 欧美视频国产精品| 美女日批免费视频| 在线观看男女av免费网址| 亚洲欧洲性图库| 天堂av一区二区| 黄色小视频在线观看| 99久久国产免费看| 国产精品自拍首页| 亚洲AV无码成人片在线观看 | www.com欧美| 激情都市一区二区| 亚洲影影院av| aaa国产视频| 国产美女久久久久| 91免费版黄色| 高潮毛片7777777毛片| 成人免费黄色大片| 国产精品久久久久久久久婷婷| 亚洲va欧美va| av一区二区三区在线| 精品无人区一区二区三区| 日韩精品一二| 亚洲国产精品成人久久综合一区| 天堂√在线观看一区二区| 91精彩视频在线播放| 欧美国产乱子伦| 亚洲午夜精品久久久中文影院av| 日本在线观看www| 亚洲欧美怡红院| 成人高清dvd| 538在线观看| 日韩欧美在线免费观看| 污污视频网站免费观看| 日本午夜免费一区二区| 欧美一区2区视频在线观看| www男人天堂| 小嫩嫩12欧美| 日韩中文字幕在线播放| 精品无码久久久久久久久| 国产欧美三级| 国产日韩av高清| 黑人精品一区二区三区| 久久久噜噜噜久噜久久综合| 一区二区免费电影| 免费男女羞羞的视频网站在线观看| 狠狠色狠狠色综合日日五| 亚洲欧美在线精品| 91九色鹿精品国产综合久久香蕉| 日韩精品亚洲精品| 成人免费毛片xxx| 亚洲一区不卡| 成人天堂噜噜噜| 天天av天天翘| 亚洲欧美日本在线| 中文字幕乱码人妻综合二区三区| 伊人久久综合网另类网站| 精品国产乱码久久久久久久| 9.1成人看片| 亚洲成av人电影| 欧美精品福利视频| 福利网址在线观看| 国产在线麻豆精品观看| 欧美人xxxxx| 3d玉蒲团在线观看| 欧洲一区在线观看| 韩国三级在线看| 日韩欧美一区免费| 日韩视频免费中文字幕| 日韩三级视频在线| 韩国一区二区在线观看| 久久久久久亚洲精品不卡4k岛国 | 久热精品视频在线观看| 亚洲欧美偷拍一区| 国产原创一区二区三区| 日韩精品大片| 国产福利在线免费观看| 欧美日韩三级在线| 国产一卡二卡三卡四卡| 亚洲一区二区| 国产精品视频一区国模私拍| 香蕉国产在线视频| 亚洲永久免费av| 中文字幕线观看| 精品久久久久久久久久久下田 | 人人澡人人澡人人看| 性欧美暴力猛交另类hd| 国产91一区二区三区| 日本综合在线| 色哟哟一区二区在线观看| 一级全黄裸体片| 性欧美欧美巨大69| 国产精品99久久久久久久久久久久| 国模人体一区二区| 亚洲欧洲www| 成人三级视频在线播放| 老牛精品亚洲成av人片| 欧美高清视频免费观看| 亚洲一区二区人妻| 国产日韩高清在线| 日韩欧美精品在线观看视频| 久久综合社区| 91干在线观看| 日本激情视频网站| 夜夜嗨av一区二区三区网页| 久久久久久久久久一区| 日韩伦理一区| 国产有码一区二区| 国产亚洲依依| 欧美日韩在线播| 少妇大叫太粗太大爽一区二区| 99精品视频免费全部在线| 精品国产日本| 中文在线最新版地址| 日韩成人黄色av| 久久国产精品系列| 久久影院午夜论| 欧美 国产 日本| 亚洲免费福利一区| 国产成人精品电影久久久| 色哟哟在线观看| 色综合中文字幕| 精品人妻中文无码av在线| 天堂va蜜桃一区二区三区| 蜜桃精品久久久久久久免费影院| 人成在线免费网站| 精品视频在线播放色网色视频| 日本少妇性生活| aa级大片欧美| 少妇黄色一级片| 一级欧洲+日本+国产 | av无码久久久久久不卡网站| 国产精品对白| 久久综合网hezyo| 人妻与黑人一区二区三区| 一本大道久久a久久综合| 丰腴饱满的极品熟妇| 久久机这里只有精品| 亚洲天堂av免费在线观看| 嫩呦国产一区二区三区av| 欧美激情网友自拍| 极品美乳网红视频免费在线观看| 欧美性xxxxx极品少妇| 久久国产免费观看| 91丨九色porny丨蝌蚪| 免费一区二区三区在线观看| 99热在线成人| 国产乱码一区| 成人黄色免费网站| 色综合久久久888| 国产三级视频在线看| 91精品黄色片免费大全| 91看片在线播放| 国产精品成人免费精品自在线观看| 性生活一级大片| 日日摸夜夜添夜夜添亚洲女人| 日韩免费福利电影在线观看| 欧美日韩一区二区三区| 精品国产91久久久| 7777精品伊人久久久大香线蕉最新版 | 日本一道本久久| 久久久久久国产免费a片| 欧美一级一区二区三区| 一区二区三区自拍视频| 久久99国产精品麻豆| 国产精品成人免费| 欧美日韩一区二区欧美激情 | 国产精品一区二区欧美| 欧美图片激情小说| 黑人巨大猛交丰满少妇| 99免费观看视频| 婷婷激情四射网| 国产精品成人aaaa在线| 日本熟妇毛耸耸xxxxxx| 国产免费无遮挡| 国产一区二区三区视频播放| 少妇久久久久久被弄高潮| 狠狠躁夜夜躁人人爽视频| 精品国产乱码一区二区三 | 亚洲欧美成人| 欧美va天堂| 久久精品国产77777蜜臀| 国产成人综合在线观看| 91视频在线观看免费| 亚洲高清不卡在线| 欧美一区二区三区四区久久| av午夜一区麻豆| 亚洲成av人片| 美女性感视频久久久| 日本一区二区三区在线视频| 极品白嫩少妇无套内谢| 久久精品国产成人av| 波多野结衣在线网站| 玖玖玖免费嫩草在线影院一区| 精品一区二区三区欧美| 欧美性色aⅴ视频一区日韩精品| 97视频网站入口| 国产欧美最新羞羞视频在线观看| 久久久精品高清| 亚洲成人第一网站| 在线免费看毛片| 人成网站在线观看| 51精品视频| 高潮按摩久久久久久av免费| 国产一区日韩欧美| 麻豆久久久久久久| 国产精品剧情在线亚洲| 日韩午夜在线观看视频| 日本久久中文字幕| 国产毛片久久久久久国产毛片| 五月天婷婷丁香网| 69久久精品| 91精品国产91久久综合| 欧美韩国日本综合| 亚洲欧美日韩综合| 99久久综合狠狠综合久久止| 91丨porny丨九色| 国产激情久久久久久熟女老人av| 九七影院97影院理论片久久 | 亚洲综合精品自拍| 欧美激情亚洲自拍| 成人免费视频91| 国产成人在线免费观看视频| 欧美xxx网站| 欧美黑人巨大videos精品| 六月天综合网| xnxx国产精品| 欧美一区二区三区视频免费播放| 久久综合国产精品台湾中文娱乐网| 成人av电影天堂| 欧美午夜性生活| 小泽玛利亚一区二区三区视频| 欧美尤物美女在线| 欧美日韩国产v| 欧美区一区二| 国产精品无圣光一区二区| 精品99999| 成人一区二区电影| 亚洲 激情 在线| 久久影视中文字幕| av影院在线| 日av在线不卡| 欧美成人一区二区三区| 91免费版黄色| av鲁丝一区鲁丝二区鲁丝三区| 免费动漫网站在线观看| 亚洲欧美色图| 色婷婷久久久综合中文字幕| 一区二区三欧美| 91精品91久久久中77777老牛| 91中文字幕在线视频| 亚洲盗摄视频| 国产精品久久久久7777按摩| 国产一区二区三区免费视频| av磁力番号网| 最近中文字幕av| 婷婷成人在线| 亚洲人成7777| 国产精品一区二区久久久久| www.555国产精品免费| 加勒比一区二区三区在线| 国产精品毛片一区二区在线看| 精品日韩美女的视频高清| 91国产在线播放| 五月综合色婷婷| 日韩免费小视频| 国产亚洲综合性久久久影院| 久久久久久com| 在线观看你懂的视频| 亚洲小说区图片| 大尺度一区二区| 欧美理论电影在线观看| 色黄视频免费看| 伊人22222| 99国产精品一区二区| 欧美精品久久天天躁| 亚洲欧美99| 91精品在线视频观看| 精品久久久亚洲| 欧美色男人天堂| 在线观看日韩片| 一区二区三区免费在线| 久久国产小视频| 欧美亚洲日本一区| 久久99影院| 小泽玛利亚一区二区三区视频| 中文字幕一区二区av | 欧美亚洲激情在线| 亚洲av综合一区二区| 18加网站在线| 成年人免费在线播放| 国产精品四虎| 亚洲国产精品第一区二区三区| 欧美肥妇毛茸茸| 成人精品久久久| 超碰人人干人人| 秋霞国产精品| 91麻豆国产福利精品| 国产精品久久一区| 小泽玛利亚一区| 久久精品xxxxx| 国产精品污网站| 成人在线播放av| 亚洲伊人成人网| 久久99国内| 日韩av一卡二卡| 久久人人爽人人片| 波多野结衣亚洲一二三| 亚洲一区二区三区国产| 午夜精品电影在线观看| 丰满肥臀噗嗤啊x99av| 国产乱码精品一品二品| 国产精品一区二区三区免费视频 | 欧美 亚洲 视频| 免费av在线| 中文字幕在线一区| 日韩亚洲不卡在线| 日本激情一区二区三区| 成人一级片网址| 91情侣在线视频| 国产又粗又大又爽视频| 另类调教123区| 92国产精品视频| a网站在线观看| 成人免费毛片a| 国产精品区一区| 国产 日韩 欧美 综合| 国产伦精品一区二区三区免费迷| 91社区国产高清| 国产成人三级在线观看视频| 精品一区二区三区在线观看国产 | 精品一区二区三孕妇视频| 伊人久久大香线蕉av不卡| 亚洲毛片一区二区| 亚洲色图欧美日韩| 久久视频在线观看| 国产一区二区免费| www.日本高清视频| 婷婷激情图片久久| 欧美富婆性猛交| 天码人妻一区二区三区在线看| 日韩电影免费在线看| 亚洲jizzjizz日本少妇| 色资源在线观看| 中文字幕一区免费在线观看| wwwjizzjizzcom| 在线视频cao| 日韩女优av电影在线观看| 中文字幕精品亚洲| 99热精品在线观看| 91免费在线视频| 日本a一级在线免费播放|