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

自動化運維平臺puppet的高級應用

運維 系統運維 自動化
到目前為止,資源申報、定義類、聲明類等所有功能都只能一個manifest文件中實現,但這卻非有效的基于puppet管理IT資源架構的方式。實踐中,一般需要把manifest文件分解成易于理解的結構……

[[117453]]

一、模板的應用

到目前為止,資源申報、定義類、聲明類等所有功能都只能一個manifest文件中實現,但這卻非有效的基于puppet管理IT資源架構的方式。實踐中,一般需要把manifest文件分解成易于理解的結構,例如將類文件、配置文件甚至包括后面講提到的模板文件等分類存放,并且通過某種機制在必要時將他們整合起來。這種機制即成為“模板”,它有助于結構化、層次化的方式使用puppet,而puppet則基于“模塊自動裝載器”完成模塊裝載

從另一個角度來說,模板實際上就是一個按約定的、預定義的機構存放了多個文件或子目錄的目錄,目錄里的這些文件或子目錄必須遵循其命名規范。puppet會按照這種規范在特定位置查找所需的模塊文件,不過,這些特定目錄頁可以通過puppet的配置參數modulepath定義

只要在某模塊中定于了一個類,就可以在任何manifest文件中使用它,puppet會自動去查找并裝載包含了這個類的定義的manifest文件任意使用它們。于是,基于模塊機制的puppet的主manifest文件就可以變得很小,也更易懂并能基于策略進行定制

模塊目錄的結構

在puppet中,模塊本身用一個目錄來表示,其需要存放于puppet的modulepath參數所定義的目錄中,如/etc/puppet/modules。模塊目錄名稱必須與模塊名稱相同,需要遵循特定的組織結構

  • MODULE NAME
  • manifests
  • init.pp
  • files
  • templates
  • lib
  • tests
  • spec

MODULE NAME:模塊名稱,也即模塊目錄名稱:模塊只能以小寫字母開頭,可以包含小寫字母、數字和下劃線,但不能使用“main”和“settings”作為模塊名

manifests目錄:包含當前模塊的所有manifest文件:每個manifest文件包含了一個類或一個定義的類型,此文件訪問路徑格式為“Modulename::[SubDirectoryName::]ManifestFileName”

init.pp:只能包含一個單獨的類定義,且類的名稱必須與模塊名稱相同

files目錄:包含了一組靜態的文件,這些文件可被站點下載使用:每個文件的訪問路徑都遵循puppet:///modules/MODELE_NAME/filename路徑格式

lib目錄:插件目錄,常用于自定義fact及自定義資源類型等

templates目錄:存儲了manifest用到的模板文件,其訪問路徑遵循template(‘ModulesName/TemplateName’)格式,后綴名應該為.erb,關于模板文件詳細信息,后文有介紹

tests目錄:當前模板的使用幫助或使用范例文件,類似如何聲明當前模板中的類及定義的類型等

spec目錄:類似于tests目錄的功能,只不過,其是為lib目錄定義的各插件提供使用范例的

  1. [root@node1 ~]# mkdir -p /etc/puppet/modules/nginx/{manifests,files,templates,lib}
  2. [root@node1 ~]# cd /etc/puppet/modules/nginx/
  3. [root@node1 nginx]# cd manifests/
  4. [root@node1 manifests]# vi init.pp
  5. class nginx {
  6. package {'nginx':
  7. ensure => installed,
  8. name => nginx,
  9. }
  10. }
  11. [root@node1 manifests]# vi web.pp
  12. class nginx::web inherits nginx {
  13. service {'nginx':
  14. ensure => true,
  15. enable => true,
  16. name => nginx,
  17. require => Package['nginx'],
  18. }
  19. file{'web.conf':
  20. ensure =>file,
  21. source => "puppet:///modules/nginx/web.conf",
  22. path => '/etc/nginx/nginx.conf',
  23. notify => Service['nginx'],
  24. require => Package['nginx']
  25. }
  26. }
  27. [root@node1 manifests]# puppet apply -e 'include nginx::web'
  28. notice: /Stage[main]/Nginx/Package[nginx]/ensure: created
  29. notice: /Stage[main]/Nginx::Web/File[web.conf]/content: content changed '{md5}d9dfc198c249bb4ac341198a752b9458' to '{md5}33d2119b71f717ef4b981e9364530a39'
  30. notice: /Stage[main]/Nginx::Web/Service[nginx]/ensure: ensure changed 'stopped' to 'running'
  31. notice: Finished catalog run in 8.07 seconds
  32. [root@node1 manifests]# grep work /etc/nginx/nginx.conf
  33. worker_processes 2;

準備nginx配置文件,并有意修改nginx的配置文件

  1. [root@node1 ~]# cp /etc/nginx/nginx.conf /etc/puppet/modules/nginx/files/web.conf
  2. [root@node1 ~]# grep worker_processes /etc/puppet/modules/nginx/files/web.conf
  3. worker_processes 2;

可以看到我們的配置執行成功

使用模板配置文件

語法:<%= Ruby Expression %>:替代為表達式的值,在使用表達式時應該使用@引用

<% ruby code %>:僅執行代碼,不做任何替換,常用于條件判斷或循環語句、設定變量以及在輸出之前對數據進行處理

<%# commit %>:注釋信息

<%%: 輸出<%

%%>:輸出%>

如上面的案例,在使用模板后

  1. [root@node1 manifests]# cp /etc/puppet/modules/nginx/files/web.conf /etc/puppet/modules/nginx/templates/conf.erb
  2. [root@node1 manifests]# grep work /etc/puppet/modules/nginx/templates/conf.erb
  3. worker_processes <%= @processorcount %>;
  4. 表示nginx的線程數按照cpu的個數來啟動
  5. 類應該改為如下所示
  6. class nginx::web inherits nginx {
  7. service {'nginx':
  8. ensure => true,
  9. enable => true,
  10. name => nginx,
  11. require => Package['nginx'],
  12. }
  13. file{'web.conf':
  14. ensure =>file,
  15. content =>template('nginx/conf.erb'),
  16. path => '/etc/nginx/nginx.conf',
  17. notify => Service['nginx'],
  18. require => Package['nginx']
  19. }
  20. }
  21. [root@node1 manifests]# puppet apply -e 'include nginx::web'
  22. notice: /Stage[main]/Nginx/Package[nginx]/ensure: created
  23. notice: /Stage[main]/Nginx::Web/Service[nginx]/ensure: ensure changed 'stopped' to 'running'
  24. notice: Finished catalog run in 8.25 seconds
  25. [root@node1 manifests]# grep work /etc/nginx/nginx.conf
  26. worker_processes 1;

#p#

二、master/agent

應用場景:

統一資源管理軟件

統一配置系統優化參數

定期檢測服務器是否運行

主機上的軟件配置合理的屬性

1.安裝

前提:配置實用epel的yum源,而后使用yum命令安裝即可

環境規劃

192.168.1.201 puppet-server端

192.168.1.202 puppet-agent端

安裝部署puppet服務器端

  1. [root@node1 manifests]# yum install puppet-server

安裝部署puppet客戶端

  1. [root@node2 ~]# yum install puppet -y

2.解析雙方主機

解析雙方主機,可以使用DNS和hosts文件,由于本處實驗的緣故,故使用的為/etc/hosts文件來解析雙方主機

建議的主機命名方式:

角色名-運營商-機房名-機器ip.域名

  1. [root@node1 manifests]# cat /etc/hosts
  2. 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
  3. ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
  4. 172.16.0.1 server.magelinux.com server
  5. 192.168.1.201 node1.wangfeng7399.com node1
  6. 192.168.1.202 node2.wangfeng7399.com node2
  7. 192.168.1.203 node3.wangfeng7399.com node3
  8. 192.168.1.204 node4.wangfeng7399.com node4

3.啟動

1)啟動puppet服務器端

收起啟動puppet守護進程時,其會自動進行運行環境的初始化,例如創建一個本地CA及服務器端相關的證書和密鑰等。初始化操作完成后,puppet就會監聽指定的套接字并等待客戶端的連接請求。默認情況下,其證書和密鑰等文件位于/var/lib/puppet/ssl目錄中

出于調試的目的,建議***啟動puppet服務進程可以以非守護進程方式進行,并讓其輸出詳細信息以便于觀察初始化過程,如下所示,其逐步展示了創建本地主叫向CA申請證書、獲得證書以及CA移除證書簽署請求的過程等,而后啟動服務進程并準備接受各agent端的連接請求

  1. [root@node1 manifests]# puppet master --no-daemonize --debug
  2. [root@node1 manifests]# puppet master --no-daemonize --debug
  3. debug: Failed to load library 'rubygems' for feature 'rubygems'
  4. debug: Puppet::Type::User::ProviderDirectoryservice: file /usr/bin/dscl does not exist
  5. debug: Puppet::Type::User::ProviderPw: file pw does not exist
  6. debug: Puppet::Type::User::ProviderUser_role_add: file roledel does not exist
  7. debug: Puppet::Type::User::ProviderLdap: true value when expecting false
  8. debug: /File[/var/lib/puppet/facts]: Autorequiring File[/var/lib/puppet]
  9. debug: /File[/var/lib/puppet/ssl/certs/ca.pem]: Autorequiring File[/var/lib/puppet/ssl/certs]
  10. debug: /File[/etc/puppet/manifests]: Autorequiring File[/etc/puppet]
  11. debug: /File[/var/lib/puppet/bucket]: Autorequiring File[/var/lib/puppet]
  12. debug: /File[/var/lib/puppet/ssl/private_keys/node1.wangfeng7399.com.pem]: Autorequiring File[/var/lib/puppet/ssl/private_keys]
  13. debug: /File[/var/lib/puppet/ssl/private_keys]: Autorequiring File[/var/lib/puppet/ssl]
  14. debug: /File[/var/lib/puppet/server_data]: Autorequiring File[/var/lib/puppet]
  15. debug: /File[/var/lib/puppet/rrd]: Autorequiring File[/var/lib/puppet]
  16. debug: /File[/etc/puppet/puppet.conf]: Autorequiring File[/etc/puppet]
  17. debug: /File[/var/lib/puppet/ssl/crl.pem]: Autorequiring File[/var/lib/puppet/ssl]
  18. debug: /File[/etc/puppet/auth.conf]: Autorequiring File[/etc/puppet]
  19. debug: /File[/var/lib/puppet/ssl/private]: Autorequiring File[/var/lib/puppet/ssl]
  20. debug: /File[/var/lib/puppet/ssl/public_keys/node1.wangfeng7399.com.pem]: Autorequiring File[/var/lib/puppet/ssl/public_keys]
  21. debug: /File[/etc/puppet/fileserver.conf]: Autorequiring File[/etc/puppet]
  22. debug: /File[/var/lib/puppet/ssl/certs/node1.wangfeng7399.com.pem]: Autorequiring File[/var/lib/puppet/ssl/certs]
  23. debug: /File[/var/lib/puppet/yaml]: Autorequiring File[/var/lib/puppet]
  24. debug: /File[/var/lib/puppet/state]: Autorequiring File[/var/lib/puppet]
  25. debug: /File[/var/lib/puppet/lib]: Autorequiring File[/var/lib/puppet]
  26. debug: /File[/var/lib/puppet/ssl]: Autorequiring File[/var/lib/puppet]
  27. debug: /File[/var/log/puppet/masterhttp.log]: Autorequiring File[/var/log/puppet]
  28. debug: /File[/var/lib/puppet/ssl/certificate_requests]: Autorequiring File[/var/lib/puppet/ssl]
  29. debug: /File[/var/lib/puppet/ssl/certs]: Autorequiring File[/var/lib/puppet/ssl]
  30. debug: /File[/var/lib/puppet/reports]: Autorequiring File[/var/lib/puppet]
  31. debug: /File[/var/lib/puppet/ssl/public_keys]: Autorequiring File[/var/lib/puppet/ssl]
  32. debug: /File[/var/lib/puppet/ssl/public_keys/node1.wangfeng7399.com.pem]/mode: mode changed '0640' to '0644'
  33. debug: /File[/var/lib/puppet/ssl/private_keys/node1.wangfeng7399.com.pem]/mode: mode changed '0640' to '0600'
  34. debug: /File[/var/lib/puppet/ssl/certs/node1.wangfeng7399.com.pem]/mode: mode changed '0640' to '0644'
  35. debug: Finishing transaction 70240930059560
  36. debug: /File[/var/lib/puppet/ssl/ca/serial]: Autorequiring File[/var/lib/puppet/ssl/ca]
  37. debug: /File[/var/lib/puppet/ssl/ca/inventory.txt]: Autorequiring File[/var/lib/puppet/ssl/ca]
  38. debug: /File[/var/lib/puppet/ssl/ca/private]: Autorequiring File[/var/lib/puppet/ssl/ca]
  39. debug: /File[/var/lib/puppet/ssl/ca/private/ca.pass]: Autorequiring File[/var/lib/puppet/ssl/ca/private]
  40. debug: /File[/var/lib/puppet/ssl/ca/signed]: Autorequiring File[/var/lib/puppet/ssl/ca]
  41. debug: /File[/var/lib/puppet/ssl/ca/requests]: Autorequiring File[/var/lib/puppet/ssl/ca]
  42. debug: /File[/var/lib/puppet/ssl/ca/ca_key.pem]: Autorequiring File[/var/lib/puppet/ssl/ca]
  43. debug: /File[/var/lib/puppet/ssl/ca/ca_pub.pem]: Autorequiring File[/var/lib/puppet/ssl/ca]
  44. debug: /File[/var/lib/puppet/ssl/ca/ca_crt.pem]: Autorequiring File[/var/lib/puppet/ssl/ca]
  45. debug: /File[/var/lib/puppet/ssl/ca/ca_crl.pem]: Autorequiring File[/var/lib/puppet/ssl/ca]
  46. debug: /File[/var/lib/puppet/ssl/ca/ca_crt.pem]/mode: mode changed '0640' to '0660'
  47. debug: /File[/var/lib/puppet/ssl/ca/ca_crl.pem]/mode: mode changed '0644' to '0664'
  48. debug: /File[/var/lib/puppet/ssl/ca/ca_key.pem]/mode: mode changed '0640' to '0660'
  49. debug: /File[/var/lib/puppet/ssl/ca/private/ca.pass]/mode: mode changed '0640' to '0660'
  50. debug: Finishing transaction 70240928434340
  51. debug: Using cached certificate for ca
  52. debug: Using cached certificate for ca
  53. debug: Using cached certificate for node1.wangfeng7399.com
  54. notice: Starting Puppet master version 2.7.25

使用puppet master --genconfig可以查看服務器端的配置信息,建議將其輸出到/etc/puppet/puppet.conf中

  1. [root@node1 ~]# puppet master --genconfig >> /etc/puppet/puppet.conf

注意:如果此前曾以其主機名或各種原因啟動過puppet客戶端過程并完成過初始化,其證書文件將無法符合本次啟動的需要:此時,需要先情況/var/lib/puppet/ssl目錄方可完成后續的初始化操作

如上述的測試啟動沒有問題,可終止當前的啟動后將其以守護進程方式啟動

  1. [root@node1 ~]# service puppetmaster start
  2. Starting puppetmaster: [ OK ]
  3. [root@node1 ~]# chkconfig puppetmaster on

2)啟動puppet客戶端

puppet agent在***啟動時,會想起指定的puppet server申請證書,并完成后續連接請求,同樣的理由,處于測試的目的,接入當前puppet集群中的***agent節點可以以非守護進程的方式運行,以觀察其初始化過程

  1. [root@node2 ~]# puppet agent --server=node1.wangfeng7399.com --no-daemonize --debug
  2. info: Creating a new SSL key for node2.wangfeng7399.com
  3. info: Caching certificate for ca
  4. info: Creating a new SSL certificate request for node2.wangfeng7399.com
  5. info: Certificate Request fingerprint (md5): BC:B2:36:9F:B5:78:CD:60:1E:72:9A:D5:88:DE:4B:57

此時,在puppet服務器端使用puppet cert命令管理客戶端的證書請求,其--list選項能夠查看等待簽署證書的客戶端列表,而--sign選項可用于為指定節點簽署證書,如果要一次性地多個節點證書申請進行簽署可以使用--all選項

  1. [root@node1 ~]# puppet cert --list
  2. "node2.wangfeng7399.com" (BC:B2:36:9F:B5:78:CD:60:1E:72:9A:D5:88:DE:4B:57)
  3. [root@node1 ~]# puppet cert --sign node2.wangfeng7399.com
  4. notice: Signed certificate request for node2.wangfeng7399.com
  5. notice: Removing file Puppet::SSL::CertificateRequest node2.wangfeng7399.com at '/var/lib/puppet/ssl/ca/requests/node2.wangfeng7399.com.pem'

一旦agent節點收到簽署過的證書,其將會顯示如下信息

  1. info: Caching certificate for node2.wangfeng7399.com
  2. notice: Starting Puppet client version 2.7.25

確保上述agent相關操作不存在問題后,便可以將--server選項指定的信息存儲與agent的配置文件中,并以服務的方式啟動puppet agent了。其配置文件為/etc/puppet/puppet.conf,配置完整既可以期待能夠puppet

  1. [root@node2 ~]# echo "server=node1.wangfeng7399.com" >> /etc/puppet/puppet.conf
  2. [root@node2 ~]# service puppet start
  3. Starting puppet: [ OK ]
  4. [root@node2 ~]# chkconfig puppet on

#p#

4.授權訪問

在puppet服務器端的/etc/puppet/manifests/中創建site.pp,在master/agent時,所有節點清單文件入口文件為site.pp

  1. node node2.wangfeng7399.com {
  2. incldue nginx::web
  3. }

建議:一類節點使用一個清單文件,所有清單文件都在site.pp中使用improt包含進來,清單文件修改后應重啟文件

5.自動簽發證書

可以設置master自動簽發所有的證書,我們只需要在/etc/puppet目錄下創建autosign.conf文件即可

  1. [root@node1 ~]# echo "*.wangfeng7399.com" > /etc/puppet/autosign.conf

這樣就會對所有來自magedu.conf的機器的請求自動簽署證書

6.puppet kick功能實現

puppet客戶端默認每30分鐘很服務器通訊一次,但是有時,我們希望服務器能夠給客戶端緊急推送一些人物,于是就有了puppet kick(puppet 2.6以前叫puppetrun)

1)編輯客戶端配置文件/etc/puppet/puppet.conf在[agent]端中添加如下

  1. root@node2 ~]# echo "listen=true" >> /etc/puppet/puppet.conf
  2. [root@node2 puppet]# ss -tnl
  3. State Recv-Q Send-Q Local Address:Port Peer Address:Port
  4. LISTEN 0 5 *:8139 *:*

2)在客戶端編輯或創建新文件/etc/puppet/namespaceauth.conf,包含下面內容

  1. [puppetrunner]
  2. allow *.wangfeng7399.com

3)在客戶端編輯文件auth.conf,添加如下內容

  1. path /run
  2. method save
  3. auth any
  4. allow *.wangfeng7399.com

4)推送方法,在服務器端運行命令

  1. [root@node1 puppet]# puppet kick -p 10 node2.wangfeng7399.com
  2. Triggering node2.wangfeng7399.com
  3. Getting status
  4. status is success
  5. node2.wangfeng7399.com finished with exit code 0
  6. Finished

查看node2

  1. [root@node2 puppet]# rpm -q nginx
  2. nginx-1.0.15-5.el6.x86_64
  3. [root@node2 puppet]# grep work /etc/nginx/nginx.conf
  4. worker_processes 1;

錯誤信息,慘痛的教訓,客戶端一致在報這個錯誤

  1. err: Could not retrieve catalog from remote server: SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed: [certificate is not yet valid for /CN=Puppet CA: node1.wangfeng7399.com]
  2. warning: Not using cache on failed catalog
  3. err: Could not retrieve catalog; skipping run
  4. debug: report supports formats: b64_zlib_yaml pson raw yaml; using pson
  5. err: Could not send report: SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed: [certificate is not yet valid for /CN=Puppet CA: node1.wangfeng7399.com]

解決方法:

兩臺服務器需要時間同步

7.安裝配置puppet-dashboard

1)安裝

  1. [root@node1 puppet]# rpm -ivh http://yum.puppetlabs.com/puppetlabs-release-el-6.noarch.rpm //安裝官方通過的yum倉庫
  2. [root@node1 puppet]# yum install puppet-dashboard -y
  3. [root@node1 puppet]# yum install mysql-server mysql -y

2)數據庫授權

  1. mysql> create database dashboard character set utf8;
  2. Query OK, 1 row affected (0.00 sec)
  3. mysql> grant all on dashboard.* to 'dbuser'@'192.168.1.%' identified by 'wangfeng7399';
  4. Query OK, 0 rows affected (0.00 sec)
  5. mysql> flush privileges;
  6. Query OK, 0 rows affected (0.00 sec)

3)修改配置文件,dashboard的配置文件為/usr/share/puppet-dashboard/config/database.yml,修改如下參數

  1. production:
  2. host:192.168.1.201
  3. database: dashboard
  4. username: dbuser
  5. password:wangfeng7399
  6. encoding: utf8
  7. adapter: mysql

為dashboard導入依賴的數據表

  1. [root@node1 config]# gem install rake
  2. [root@node1 puppet]# cd /usr/share/puppet-dashboard/config
  3. [root@node1 config]# rake gems::refresh_specs
  4. [root@node1 config]# rake RAILS_ENV=production db:migrate

啟動服務

  1. [root@node1 config]# service puppet-dashboard start
  2. Starting Puppet Dashboard: => Booting WEBrick
  3. => Rails 2.3.17 application starting on http://0.0.0.0:3000
  4. [ OK ]

4)配置puppet服務器和客戶端

服務器端配置

在puppetmaster的配置文件中添加如下內容

  1. reports = store, http
  2. reporturl = http://192.168.1.201:3000/reports/upload
  3. 在[master]中添加

客戶端配置

  1. report=true
  2. 在[agent]中添加

配置完成后重啟puppet

5)測試

wKiom1N3ymDjIlBlAAKgVwMFy8Y726.jpg

還可以在頁面中添加節點和類文件

終于完成了,一個時間不同步弄了2小時才找出錯誤

原文鏈接:http://wangfeng7399.blog.51cto.com/3518031/1413038

責任編輯:牛小雨 來源: 51CTO
相關推薦

2012-05-05 21:43:27

puppet自動化運維

2013-04-16 14:55:21

自動化運維Puppet實戰

2012-05-05 21:28:44

2012-05-05 21:22:40

2012-05-05 21:48:43

puppet自動化運維

2012-05-05 22:27:46

puppet自動化運維

2012-05-04 19:45:30

puppet自動化運維

2012-05-05 21:03:35

puppet自動化運維

2012-05-05 22:10:13

puppet自動化運維

2012-10-22 14:54:48

2014-08-04 10:10:35

IT運維自動化運維

2018-06-23 07:31:05

2017-10-13 13:14:35

互聯網

2012-11-16 09:16:26

自動化運維

2017-12-21 09:46:53

運維自動化技術

2012-11-20 17:22:57

2015-10-08 10:55:23

云服務自動化運維 ANSIBLE

2018-07-26 13:50:37

IT架構運維

2014-09-22 11:24:18

運維

2024-06-11 10:41:14

點贊
收藏

51CTO技術棧公眾號

日韩美女天天操| 97久久精品人人澡人人爽| 中文字幕精品在线视频| 国产免费观看高清视频| 头脑特工队2免费完整版在线观看| 在线不卡亚洲| 日韩精品www| 五月婷婷之综合激情| 欧美精品videos另类| 很污的网站在线观看| 日韩xxx高潮hd| 欧美五码在线| 国产精品拍天天在线| 国产欧美日韩精品专区| 久久人人爽人人爽人人| 成人羞羞视频在线看网址| 欧美成人a在线| 精品久久久噜噜噜噜久久图片| av香蕉成人| 国产午夜精品美女毛片视频| 国产精品国产精品国产专区不卡| 在线观看亚洲黄色| 一区福利视频| 久久精品国产亚洲| 国产人妻一区二区| 福利片一区二区| 91精品国产手机| 日日噜噜夜夜狠狠| 韩日精品一区二区| 精品成人av一区| 黄色影视在线观看| 亚洲视频tv| 国产无人区一区二区三区| 国产在线资源一区| 性生活视频软件| 激情综合色综合久久综合| 国产精品扒开腿做爽爽爽的视频| 日韩污视频在线观看| 欧美成人嫩草网站| 久久久精品在线观看| 亚欧精品视频一区二区三区| 久操国产精品| 精品夜色国产国偷在线| 中文成人无字幕乱码精品区| 亚洲综合影院| 日韩欧美aaaaaa| 国产成人强伦免费视频网站| 亚洲精品aaa| 欧美三区在线观看| 亚洲第一中文av| 国产成人精品123区免费视频| 欧美日韩激情视频8区| 成年女人18级毛片毛片免费| wwwww亚洲| 亚洲午夜久久久久久久久久久 | 亚洲一卡二卡在线观看| 日日骚欧美日韩| 国产精品h片在线播放| 亚洲va在线观看| 国产精品久久久久久久久久妞妞| 高清视频欧美一级| 青青草av在线播放| 天堂精品中文字幕在线| 国产a级全部精品| 国产精品免费无遮挡无码永久视频| 久久精品伊人| 国产精品久久久久久久9999| 最新国产中文字幕| 精品在线一区二区| 99精品国产高清在线观看| 国产日韩一级片| 成人综合在线观看| 久久国产精品 国产精品| 麻豆影视在线| 国产精品青草久久| 国产内射老熟女aaaa| av手机免费在线观看| 欧美丝袜一区二区| 九一精品在线观看| 2020国产精品小视频| 日韩一级完整毛片| 在线免费观看污视频| 亚洲精品白浆高清| www.欧美精品| 国产一级二级毛片| 日韩中文字幕1| 成人信息集中地欧美| 亚洲乱码国产乱码精品精软件| a在线欧美一区| 日韩av电影免费观看| av在线播放国产| 欧美性jizz18性欧美| 在线观看岛国av| y111111国产精品久久久| 日韩久久精品成人| 欧美激情图片小说| 国产日韩专区| 成人日韩在线电影| 日夜干在线视频| 中文字幕一区二区5566日韩| 日本在线xxx| jvid一区二区三区| 亚洲第一偷拍网| 老司机精品免费视频| 亚洲精品麻豆| 成人激情在线观看| 天堂av在线免费观看| 亚洲人亚洲人成电影网站色| 精品欧美一区免费观看α√| 国产精品99久久免费| 亚洲精品一区二区三区不| 希岛爱理中文字幕| 久久精品二区三区| 成人午夜电影在线播放| 中文日本在线观看| 精品国产老师黑色丝袜高跟鞋| 色www免费视频| 亚洲精品蜜桃乱晃| 欧美国产极速在线| 91高潮大合集爽到抽搐| 久久先锋资源网| 成人免费a级片| 欧美成人家庭影院| 亚洲网址你懂得| 香蕉视频一区二区| 国产真实乱对白精彩久久| 奇米888一区二区三区| а√天堂8资源中文在线| 6080yy午夜一二三区久久| 3d动漫精品啪啪一区二区下载| 亚洲天堂黄色| 999日本视频| 麻豆电影在线播放| 欧美亚州韩日在线看免费版国语版| 欧美一区二区免费在线观看| 欧美日韩精品| 91黄在线观看| 国产高清一区二区三区视频 | 国产视频手机在线| 国产精品电影一区二区| 亚洲精品一二三四五区| 亚洲欧洲免费| 日本午夜精品理论片a级appf发布| 男人天堂网在线视频| 亚洲一二三四在线观看| 91精品人妻一区二区三区四区| 亚洲国产不卡| 亚洲自拍高清视频网站| caopo在线| 欧美一级日韩一级| 精品一区在线观看视频| 国产精品综合二区| 热久久最新地址| 97青娱国产盛宴精品视频| 欧美大片免费观看在线观看网站推荐| 99久久精品免费看国产交换| 亚洲女人的天堂| 亚洲av无一区二区三区久久| 一区二区不卡| 99视频在线| 国产美女高潮在线观看| 亚洲精品国产精品自产a区红杏吧 亚洲精品国产精品乱码不99按摩 亚洲精品国产精品久久清纯直播 亚洲精品国产精品国自产在线 | 国产精品极品在线观看| 孩xxxx性bbbb欧美| 色吊丝在线永久观看最新版本| 欧美性猛交xxxx| 婷婷综合在线视频| 极品少妇xxxx精品少妇| 天堂8在线天堂资源bt| 欧美日韩大片免费观看| 国产a级全部精品| 日本中文字幕在线观看| 日韩精品中文字幕在线不卡尤物 | 韩国无码一区二区三区精品| 免费精品视频| 台湾成人av| 秋霞影院一区| 2019中文字幕在线观看| 番号集在线观看| 日韩一区二区电影在线| 久久久精品福利| 国产精品黄色在线观看| 欧美一级片在线免费观看| 一本一道久久综合狠狠老精东影业| 欧美日韩国产免费一区二区三区| 丁香婷婷久久| 久久久免费电影| 欧美二级三级| 国产亚洲精品久久飘花| 国产欧美精品xxxx另类| 99在线首页视频| 久久精彩视频| 日本xxxxx18| 超碰超碰在线观看| 91九色蝌蚪porny| 老司机成人免费视频| 亚洲天堂网视频| 国产精品怡红院| 国产香蕉久久| 欧美成人官网二区| 国产乱国产乱老熟| 亚洲人123区| av黄色免费网站| 国产一区二区三区在线观看免费视频 | 99re这里只有精品在线| 亚洲欧美视频一区| 91成人破解版| 成人激情免费网站| 日本77777| 老牛嫩草一区二区三区日本| 成年人深夜视频| 欧美r级电影| 蜜桃视频成人| 老汉色老汉首页av亚洲| 国产在线日韩在线| 女生影院久久| 97国产成人精品视频| 天堂va在线| 日韩中文字幕免费视频| 日本一级在线观看| 精品国产成人在线影院| 国产又爽又黄免费软件| 91福利国产成人精品照片| 日本中文字幕免费| 亚洲精品菠萝久久久久久久| 久久婷婷五月综合| 久久一留热品黄| 人妻av一区二区| 国产91精品一区二区麻豆网站| 色免费在线视频| 日韩激情av在线| 亚欧无线一线二线三线区别| 精品二区久久| 久久综合久久网| 欧美啪啪一区| www国产免费| 欧美黄在线观看| 操bbb操bbb| 亚洲精品中文字幕乱码| 亚洲一区二区三区乱码| 欧美伦理影院| 天堂av一区二区| 久久蜜桃av| 在线无限看免费粉色视频| 91久久夜色精品国产按摩| 亚洲一区二区在线看| 欧洲视频一区| 亚洲激情一区二区| 91视频精品| 日本特级黄色大片| 中文字幕午夜精品一区二区三区| 在线天堂一区av电影| 91综合在线| 樱空桃在线播放| 午夜精品av| 国产欧美日韩小视频| 夜夜嗨网站十八久久| 黄色动漫网站入口| 天堂蜜桃一区二区三区| 15—17女人毛片| 国产一区二区调教| 国产伦理在线观看| 97精品国产97久久久久久久久久久久| 国产视频久久久久久| 国产亚洲午夜高清国产拍精品| 阿v天堂2014| 国产精品国产三级国产普通话三级| 中文字幕乱码av| 一区二区三区日本| 亚洲精品www久久久久久| 欧美午夜影院在线视频| 最新中文字幕在线观看视频| 欧美日本在线一区| 亚洲免费国产视频| 亚洲欧美成人一区二区在线电影| 国产日产精品久久久久久婷婷| 色哟哟网站入口亚洲精品| 国产一二区在线| 性欧美暴力猛交69hd| 偷拍中文亚洲欧美动漫| 成人免费直播live| 欧美黑白配在线| 视频在线一区二区三区| 狠狠入ady亚洲精品| 已婚少妇美妙人妻系列| 国产一区二区三区精品欧美日韩一区二区三区| 人妻激情偷乱视频一区二区三区| 99久久er热在这里只有精品66| 中国女人特级毛片| 亚洲最大色网站| 亚洲国产成人精品女人久久| 欧美一区二区三区人| 无码精品黑人一区二区三区 | 最新国产在线拍揄自揄视频| 欧美性视频精品| 国产在线一区不卡| 欧美性天天影院| 在线看片不卡| 久久久国产欧美| 成人av在线电影| 精品国产精品国产精品| 色呦呦日韩精品| 黄频在线免费观看| 视频直播国产精品| 欧美男男tv网站在线播放| 91久久精品美女高潮| 精品在线播放| 免费特级黄色片| 激情成人综合网| 国产精品密蕾丝袜| 五月天激情小说综合| 国产精品主播一区二区| 亚洲色图17p| 欧美另类老肥妇| 国产精品手机在线| 久久久久久免费视频| 自拍偷拍 国产| aaa国产一区| 久热这里只有精品在线| 7777精品久久久大香线蕉| 国产小视频福利在线| 韩国精品美女www爽爽爽视频| 国产精品成人**免费视频| 日韩欧美手机在线| 亚洲在线日韩| 成年人的黄色片| 亚洲自拍偷拍网站| av中文字幕播放| 久久艳片www.17c.com| 成人1区2区| 日韩免费av电影| 久久香蕉精品| 国产精品毛片一区二区| 婷婷中文字幕综合| 日批视频在线播放| 久久久久久久国产精品视频| 青草伊人久久| 国产精品久久久影院| 国产一区二区中文字幕| 男人晚上看的视频| 欧美精品自拍偷拍| 婷婷成人激情| 成人自拍性视频| 天天做天天爱天天综合网| 欧美成人三级在线播放| 国产精品久久午夜| 97视频免费在线| 伦伦影院午夜日韩欧美限制| 日韩毛片网站| 亚洲小说欧美另类激情| 国产综合久久久久久鬼色| 搜索黄色一级片| 欧美一区二区福利视频| 在线观看电影av| 97国产超碰| 在线观看一区视频| 国产麻豆天美果冻无码视频 | 在线观看av日韩| 国产精品三级在线观看| 国产又粗又猛又色又| 久久精品国产一区二区电影| 国产在线不卡一区二区三区| 成人短视频在线观看免费| 成人一区二区三区视频| 91九色丨porny丨肉丝| 亚洲人成在线播放| 欧美黄页免费| 黄色片免费在线观看视频| 成人国产精品免费网站| 亚洲成熟少妇视频在线观看| 中文字幕av一区二区三区谷原希美| 日本黄色成人| 久久这里只有精品8| 久久综合资源网| 一区二区三区www污污污网站| 欧美成人免费全部| 欧美人与动xxxxz0oz| 香蕉视频禁止18| 一区二区三区在线观看网站| 神马午夜精品95| 国产精品久久久久久久久男| 国产精品久久久久久久免费观看| 久久久久无码国产精品一区李宗瑞| 欧美日韩色婷婷| 在线观看麻豆| 国产一区二区精品免费| 麻豆一区二区三| 日韩精品一区二区不卡| 国产亚洲一级高清| 77成人影视| 色噜噜狠狠一区二区| 亚洲一二三区在线观看| 国产系列在线观看| 成人做爰66片免费看网站| 首页综合国产亚洲丝袜| 久久无码精品丰满人妻| 亚洲香蕉伊综合在人在线视看| 青草伊人久久| 日日干夜夜操s8| 精品久久久久久久久久ntr影视|