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

使用 Ansible 的第一天

運維 系統運維
一名系統管理員分享了如何使用 Ansible 在網絡中配置計算機并把其帶入實際工作的信息和建議。

[[380384]]

一名系統管理員分享了如何使用 Ansible 在網絡中配置計算機并把其帶入實際工作的信息和建議。

無論是第一次還是第五十次,啟動并運行一臺新的物理或虛擬計算機都非常耗時,而且需要大量的工作。多年來,我一直使用我創建的一系列腳本和 RPM 來安裝所需的軟件包,并為我喜歡的工具配置各種選項。這種方法效果很好,簡化了我的工作,而且還減少了在鍵盤上輸入命令的時間。

我一直在尋找更好的工作方式。近幾年來,我一直在聽到并且讀到有關 Ansible 的信息,它是一個自動配置和管理系統的強大工具。Ansible 允許系統管理員在一個或多個劇本playbook中為每個主機指定一個特定狀態,然后執行各種必要的任務,使主機進入該狀態。這包括安裝或刪除各種資源,例如 RPM 或 Apt 軟件包、配置文件和其它文件、用戶、組等等。

因為一些瑣事,我推遲了很長一段時間學習如何使用它。直到最近,我遇到了一個我認為 Ansible 可以輕松解決的問題。

這篇文章并不會完整地告訴你如何入門 Ansible,相反,它只是對我遇到的問題和我在一些隱秘的地方發現的信息的做了一些記錄。我在各種在線討論和問答小組中找到的有關 Ansible 的許多信息都是錯誤的。錯誤范圍包括明顯的老舊信息(沒有任何日期或來源的跡象),還有一些是完全錯誤的信息。

本文所介紹的內容是有用的,盡管可能還有其它方法可以完成相同的事情,但我使用的是 Ansible 2.9.13 和 Python 3.8.5。

我的問題

我所有的最佳學習經歷都始于我需要解決的問題,這次也不例外。

我一直在做一個小項目,修改 Midnight Commander 文件管理器的配置文件,并將它們推送到我網絡上的各種系統中進行測試。盡管我有一個腳本可以自動執行這個操作,但它仍然需要使用命令行循環來提供我想要推送新代碼的系統名稱。我對配置文件進行了大量的更改,這使我必須頻繁推送新的配置文件。但是,就在我以為我的新配置剛剛好時,我發現了一個問題,所以我需要在修復后再進行一次推送。

這種環境使得很難跟蹤哪些系統有新文件,哪些沒有。我還有幾個主機需要區別對待。我對 Ansible 的一點了解表明,它可能能夠滿足我的全部或大部分工作。

開始

我讀過許多有關 Ansible 的好文章和書籍,但從來沒有在“我必須現在就把這個做好!”的情況下讀過。而現在 —— 好吧,就是現在!

在重讀這些文檔時,我發現它們主要是在討論如何從 GitHub 開始安裝并使用 Ansible,這很酷。但是我真的只是想盡快開始,所以我使用 DNF 和 Fedora 倉庫中的版本在我的 Fedora 工作站上安裝了它,非常簡單。

但是后來我開始尋找文件位置,并嘗試確定需要修改哪些配置文件、將我的劇本保存在什么位置,甚至一個劇本怎么寫以及它的作用,我腦海中有一大堆(到目前為止)懸而未決的問題。

因此,不不需要進一步描述我的困難的情況下,以下是我發現的東西以及促使我繼續前進的東西。

配置

Ansible 的配置文件保存在 /etc/ansible 中,這很有道理,因為 /etc/ 是系統程序應該保存配置文件的地方。我需要使用的兩個文件是 ansible.cfg 和 hosts

ansible.cfg

在進行了從文檔和線上找到的一些實踐練習之后,我遇到了一些有關棄用某些較舊的 Python 文件的警告信息。因此,我在 ansible.cfg 中將 deprecation_warnings 設置為 false,這樣那些憤怒的紅色警告消息就不會出現了:

  1. deprecation_warnings = False

這些警告很重要,所以我稍后將重新回顧它們,并弄清楚我需要做什么。但是現在,它們不會再擾亂屏幕,也不會讓我混淆實際上需要關注的錯誤。

hosts 文件

與 /etc/hosts 文件不同,hosts 文件也被稱為清單inventory文件,它列出了網絡上的主機。此文件允許將主機分組到相關集合中,例如“servers”、“workstations”和任何你所需的名稱。這個文件包含幫助和大量示例,所以我在這里就不詳細介紹了。但是,有些事情你必須知道。

主機也可以列在組之外,但是組對于識別具有一個或多個共同特征的主機很有幫助。組使用 INI 格式,所以服務器組看起來像這樣:

  1. [servers]
  2. server1
  3. server2
  4. ......

這個文件中必須有一個主機名,這樣 Ansible 才能對它進行操作。即使有些子命令允許指定主機名,但除非主機名在 hosts 文件中,否則命令會失敗。一個主機也可以放在多個組中。因此,除了 [servers] 組之外,server1 也可能是 [webservers] 組的成員,還可以是 [ubuntu] 組的成員,這樣以區別于 Fedora 服務器。

Ansible 很智能。如果 all 參數用作主機名,Ansible 會掃描 hosts 文件并在它列出的所有主機上執行定義的任務。Ansible 只會嘗試在每個主機上工作一次,不管它出現在多少個組中。這也意味著不需要定義 all 組,因為 Ansible 可以確定文件中的所有主機名,并創建自己唯一的主機名列表。

另一件需要注意的事情是單個主機的多個條目。我在 DNS 文件中使用 CNAME 記錄來創建別名,這些別名指向某些主機的 A 記錄,這樣,我可以將一個主機稱為 host1 或 h1 或 myhost。如果你在 hosts 文件中為同一主機指定多個主機名,則 Ansible 將嘗試在所有這些主機名上執行其任務,它無法知道它們指向同一主機。好消息是,這并不會影響整體結果;它只是多花了一點時間,因為 Ansible 會在次要主機名上工作,它會確定所有操作均已執行。

Ansible 實情

我閱讀過 Ansible 的大多數材料都談到了 Ansible 實情facts,它是與遠程系統相關的數據,包括操作系統、IP 地址、文件系統等等。這些信息可以通過其它方式獲得,如 lshwdmidecode 或 /proc 文件系統等。但是 Ansible 會生成一個包含此信息的 JSON 文件。每次 Ansible 運行時,它都會生成這些實情數據。在這個數據流中,有大量的信息,都是以鍵值對形式出現的:<"variable-name": "value">。所有這些變量都可以在 Ansible 劇本中使用,理解大量可用信息的最好方法是實際顯示一下:

  1. # ansible -m setup <hostname> | less

明白了嗎?你想知道的有關主機硬件和 Linux 發行版的所有內容都在這里,它們都可以在劇本中使用。我還沒有達到需要使用這些變量的地步,但是我相信在接下來的幾天中會用到。

模塊

上面的 ansible 命令使用 -m 選項來指定 setup 模塊。Ansible 已經內置了許多模塊,所以你對這些模塊不需要使用 -m。也可以安裝許多下載的模塊,但是內置模塊可以完成我目前項目所需的一切。

劇本

劇本playbook幾乎可以放在任何地方。因為我需要以 root 身份運行,所以我將它放在了 /root/ansible 下。當我運行 Ansible 時,只要這個目錄是當前的工作目錄(PWD),它就可以找到我的劇本。Ansible 還有一個選項,用于在運行時指定不同的劇本和位置。

劇本可以包含注釋,但是我看到的文章或書籍很少提及此。但作為一個相信記錄一切的系統管理員,我發現使用注釋很有幫助。這并不是說在注釋中做和任務名稱同樣的事情,而是要確定任務組的目的,并確保我以某種方式或順序記錄我做這些事情的原因。當我可能忘記最初的想法時,這可以幫助以后解決調試問題。

劇本只是定義主機所需狀態的任務集合。在劇本的開頭指定主機名或清單組,并定義 Ansible 將在其上運行劇本的主機。

以下是我的一個劇本示例:

  1. ################################################################################
  2. # This Ansible playbook updates Midnight commander configuration files.        #
  3. ################################################################################
  4. - name: Update midnight commander configuration files
  5.   hosts: all
  6.  
  7.   tasks:
  8.   - name: ensure midnight commander is the latest version
  9.     dnf:
  10.       name: mc
  11.       state: present
  12.  
  13.   - name: create ~/.config/mc directory for root
  14.     file:
  15.       path: /root/.config/mc
  16.       state: directory
  17.       mode: 0755
  18.       owner: root
  19.       group: root
  20.  
  21.   - name: create ~/.config/mc directory for dboth
  22.     file:
  23.       path: /home/dboth/.config/mc
  24.       state: directory
  25.       mode: 0755
  26.       owner: dboth
  27.       group: dboth
  28.  
  29.   - name: copy latest personal skin
  30.     copy:
  31.       src: /root/ansible/UpdateMC/files/MidnightCommander/DavidsGoTar.ini
  32.       dest: /usr/share/mc/skins/DavidsGoTar.ini
  33.       mode: 0644
  34.       owner: root
  35.       group: root
  36.  
  37.   - name: copy latest mc ini file
  38.     copy:
  39.       src: /root/ansible/UpdateMC/files/MidnightCommander/ini
  40.       dest: /root/.config/mc/ini
  41.       mode: 0644
  42.       owner: root
  43.       group: root
  44.  
  45.   - name: copy latest mc panels.ini file
  46.     copy:
  47.       src: /root/ansible/UpdateMC/files/MidnightCommander/panels.ini
  48.       dest: /root/.config/mc/panels.ini
  49.       mode: 0644
  50.       owner: root
  51.       group: root
  52. <截斷>

劇本從它自己的名字和它將要操作的主機開始,在本文中,所有主機都在我的 hosts 文件中。tasks 部分列出了使主機達到所需狀態的特定任務。這個劇本從使用 DNF 更新 Midnight Commander 開始(如果它不是最新的版本的話)。下一個任務確保創建所需的目錄(如果它們不存在),其余任務將文件復制到合適的位置,這些 file 和 copy 任務還可以為目錄和文件設置所有權和文件模式。

劇本細節超出了本文的范圍,但是我對這個問題使用了一點蠻力。還有其它方法可以確定哪些用戶需要更新文件,而不是對每個用戶的每個文件使用一個任務。我的下一個目標是簡化這個劇本,使用一些更先進的技術。

運行劇本很容易,只需要使用 ansible-playbook 命令。.yml 擴展名代表 YAML,我看到過它的幾種不同含義,但我認為它是“另一種標記語言Yet Another Markup Language”,盡管有些人聲稱 YAML 不是這種語言。

這個命令將會運行劇本,它會更新 Midnight Commander 文件:

  1. # ansible-playbook -f 10 UpdateMC.yml

-f 選項指定 Ansible 使用 10 個線程來執行操作。這可以大大加快整個任務的完成速度,特別是在多臺主機上工作時。

輸出

劇本運行時會列出每個任務和執行結果。ok 代表任務管理的機器狀態已經完成,因為在任務中定義的狀態已經為真,所以 Ansible 不需要執行任何操作。

changed 表示 Ansible 已經執行了指定的任務。在這種情況下,任務中定義的機器狀態不為真,所以執行指定的操作使其為真。在彩色終端上,TASK 行會以彩色顯示。我的終端配色為“amber-on-black”,TASK 行顯示為琥珀色,changed 是棕色,ok 為綠色,錯誤是紅色。

下面的輸出是我最終用于在新主機執行安裝后配置的劇本:

  1. PLAY [Post-installation updates, package installation, and configuration]
  2.  
  3. TASK [Gathering Facts]
  4. ok: [testvm2]
  5.  
  6. TASK [Ensure we have connectivity]
  7. ok: [testvm2]
  8.  
  9. TASK [Install all current updates]
  10. changed: [testvm2]
  11.  
  12. TASK [Install a few command line tools]
  13. changed: [testvm2]
  14.  
  15. TASK [copy latest personal Midnight Commander skin to /usr/share]
  16. changed: [testvm2]
  17.  
  18. TASK [create ~/.config/mc directory for root]
  19. changed: [testvm2]
  20.  
  21. TASK [Copy the most current Midnight Commander configuration files to /root/.config/mc]
  22. changed: [testvm2] =&gt; (item=/root/ansible/PostInstallMain/files/MidnightCommander/DavidsGoTar.ini)
  23. changed: [testvm2] =&gt; (item=/root/ansible/PostInstallMain/files/MidnightCommander/ini)
  24. changed: [testvm2] =&gt; (item=/root/ansible/PostInstallMain/files/MidnightCommander/panels.ini)
  25.  
  26. TASK [create ~/.config/mc directory in /etc/skel]
  27. changed: [testvm2]
  28.  
  29. <截斷>

cowsay

如果你的計算機上安裝了 cowsay 程序,你會發現 TASK 的名字出現在奶牛的語音泡泡中:

  1.  ____________________________________
  2. < TASK [Ensure we have connectivity] >
  3.  ------------------------------------
  4.         \   ^__^
  5.          \  (oo)\\_______
  6.             (__)\       )\/\
  7.                 ||----w |
  8.                 ||     ||

如果你沒有這個有趣的程序,你可以使用發行版的包管理器安裝 Cowsay 程序。如果你有這個程序但不想要它,可以通過在 /etc/ansible/ansible.cfg 文件中設置 nocows=1 將其禁用。

我喜歡這頭奶牛,它很有趣,但是它會占用我的一部分屏幕。因此,在它開始妨礙我使用時,我就把它禁用了。

目錄

與我的 Midnight Commander 任務一樣,經常需要安裝和維護各種類型的文件。創建用于存儲劇本的目錄樹的“最佳實踐”和系統管理員一樣多,至少與編寫有關 Ansible 書和文章的作者數量一樣多。

我選擇了一個對我有意義的簡單結構:

/root/ansible
└── UpdateMC
    ├── files
    │   └── MidnightCommander
    │       ├── DavidsGoTar.ini
    │       ├── ini
    │       └── panels.ini
    └── UpdateMC.yml

你可以使用任何結構。但是請注意,其它系統管理員可能需要使用你設置的劇本來工作,所以目錄應該具有一定程度的邏輯。當我使用 RPM 和 Bash 腳本執行安裝任務后,我的文件倉庫有點分散,絕對沒有任何邏輯結構。當我為許多管理任務創建劇本時,我將介紹一個更有邏輯的結構來管理我的目錄。

多次運行劇本

根據需要或期望多次運行劇本是安全的。只有當主機狀態與任務中指定的狀態不匹配時,才會執行每個任務。這使得很容易從先前的劇本運行中遇到的錯誤中恢復。因為當劇本遇到錯誤時,它將停止運行。

在測試我的第一個劇本時,我犯了很多錯誤并改正了它們。假設我的修正正確,那么劇本每次運行,都會跳過那些狀態已與指定狀態匹配的任務,執行不匹配狀態的任務。當我的修復程序起作用時,之前失敗的任務就會成功完成,并且會執行此任務之后的任務 —— 直到遇到另一個錯誤。

這使得測試變得容易。我可以添加新任務,并且在運行劇本時,只有新任務會被執行,因為它們是唯一與測試主機期望狀態不匹配的任務。

一些思考

有些任務不適合用 Ansible,因為有更好的方法可以實現特定的計算機狀態。我想到的場景是使 VM 返回到初始狀態,以便可以多次使用它來執行從已知狀態開始的測試。讓 VM 進入特定狀態,然后對此時的計算機狀態進行快照要容易得多。還原到該快照與 Ansible 將主機返回到之前狀態相比,通常還原到快照通常會更容易且更快。在研究文章或測試新代碼時,我每天都會做幾次這樣的事情。

在完成用于更新 Midnight Commander 的劇本之后,我創建了一個新的劇本,用于在新安裝的 Fedora 主機上執行安裝任務。我已經取得了不錯的進步,劇本比我第一個的更加復雜,但沒有那么粗暴。

在使用 Ansible 的第一天,我創建了一個解決問題的劇本,我還開始編寫第二個劇本,它將解決安裝后配置的大問題,在這個過程中我學到了很多東西。

盡管我真的很喜歡使用 Bash 腳本來管理任務,但是我發現 Ansible 可以完成我想要的一切,并且可以使系統保持在我所需的狀態。只用了一天,我就成為了 Ansible 的粉絲。 

責任編輯:龐桂玉 來源: Linux中國
相關推薦

2012-08-10 22:44:52

ArchSummit

2015-07-31 10:01:55

win10使用總結

2021-05-17 08:11:44

MySQL數據庫索引

2025-05-28 01:45:00

2012-06-25 11:27:43

2010-06-02 17:23:10

JavaJazoon

2014-08-11 13:10:48

2013-08-02 17:19:21

2023-01-01 13:17:00

ChatGPTAI

2021-03-29 08:20:51

入職后端官場

2014-08-04 10:58:06

OpenstackRDOOpenstack搭建

2019-02-14 10:04:34

程序員離職技術

2020-02-04 11:22:47

云計算行業辦公

2020-02-20 17:16:55

遠程辦公

2020-05-08 15:23:01

戴爾

2015-08-06 11:34:25

2020-02-04 09:15:32

云計算

2022-01-05 10:16:12

微軟Exchange惡意軟件

2011-07-07 09:27:27

手機游戲

2020-02-03 13:30:54

釘釘企業微信移動應用
點贊
收藏

51CTO技術棧公眾號

精品大片一区二区| 超碰97免费在线| 麻豆精品新av中文字幕| 久久精品成人一区二区三区| xxx中文字幕| 成人一级福利| 国产精品久久久久久久久久久免费看| 69174成人网| 草莓视频18免费观看| 久久精品青草| 亚洲人成欧美中文字幕| 亚洲一区二区在线视频观看| 免费h在线看| 最新热久久免费视频| 国语精品中文字幕| 亚洲图片在线播放| 亚洲作爱视频| 久久69精品久久久久久久电影好| 久久丫精品国产亚洲av不卡| 9999精品视频| 色婷婷综合激情| 成人午夜免费在线视频| 在线免费观看的av网站| 99久精品国产| 亚洲一区二区三区毛片| 依依成人综合网| 午夜久久福利| 在线播放日韩欧美| 精品少妇一区二区三区免费观| 国产日韩中文在线中文字幕| 91成人在线观看喷潮| 国产尤物av一区二区三区| 在线视频二区| 国产三区在线成人av| 韩国成人一区| 黄色av网址在线| 国产精品一区在线观看你懂的| 国产精国产精品| 日韩在线观看第一页| 欧美先锋影音| 欧美成人久久久| 日韩免费av一区| 日本午夜一区| 亚洲视频欧美视频| 右手影院亚洲欧美| 牲欧美videos精品| 日韩电影网在线| 国产日韩视频一区| 一区二区三区四区精品视频| 欧美精品 日韩| 日本肉体xxxx裸体xxx免费| 成人黄色免费短视频| 富二代精品短视频| 又粗又黑又大的吊av| 爱福利在线视频| 亚洲国产日韩a在线播放性色| 蜜臀在线免费观看| gogogogo高清视频在线| 亚洲精品第一国产综合野| 中文字幕在线亚洲三区| a毛片在线看免费观看| 亚洲三级久久久| 国产奶头好大揉着好爽视频| 成人日韩欧美| 亚洲午夜一二三区视频| 国产美女主播在线播放| 人人草在线视频| 色综合天天狠狠| 手机在线看福利| 久久精品国产福利| 日韩欧美一区在线| av av在线| 亚洲精品**不卡在线播he| 亚洲区中文字幕| 国产一二三四区在线| 久久免费大视频| 久久亚洲电影天堂| 国产无码精品在线播放| 国产欧美日韩综合一区在线播放 | 在线看不卡av| 中文字幕在线视频精品| 国产免费区一区二区三视频免费 | 97久草视频| 在线观看xxx| 国产精品久久午夜夜伦鲁鲁| 黄网站色视频免费观看| 国产网站在线| 欧美三级午夜理伦三级中视频| 国产精欧美一区二区三区白种人| a看欧美黄色女同性恋| 日韩精品亚洲元码| 国产三级aaa| 最新国产乱人伦偷精品免费网站| 日本午夜人人精品| 国产特黄一级片| www国产精品av| 中文字幕中文字幕在线中一区高清| 伊人精品影院| 日本精品一级二级| 爱情岛论坛亚洲自拍| 一区二区小说| 欧美成人在线网站| 伊人久久中文字幕| 懂色av噜噜一区二区三区av | 91国语精品自产拍| 欧美在线中文字幕| 国产国语亲子伦亲子| 久久久久久久久蜜桃| japanese在线播放| 日韩欧美一区二区三区在线观看| 日韩欧美专区在线| 神马久久久久久久久久久| 一区精品久久| 成人免费视频网址| 国产中文字幕在线播放| 亚洲一区二区五区| 精品国产鲁一鲁一区二区三区| 免费精品国产| 性欧美办公室18xxxxhd| av片免费播放| 欧美国产激情一区二区三区蜜月| 欧美久久在线观看| 日韩免费一级| 久久综合久久美利坚合众国| 国产精品国产精品国产| 26uuu色噜噜精品一区二区| 成人在线免费高清视频| 久久婷婷五月综合色丁香| 亚洲人成网站777色婷婷| 青青草av在线播放| 不卡的av电影在线观看| avav在线播放| 成人av资源网址| 久久国产精品影片| 国产精品久久久午夜夜伦鲁鲁| 国产日产精品一区| 国产欧美在线一区| 台湾色综合娱乐中文网| 高清欧美性猛交| www.激情五月| 亚洲午夜在线视频| 色悠悠在线视频| 欧美日韩影院| 国产传媒一区| 丁香花高清在线观看完整版| 欧美大片在线观看一区| 国产一级中文字幕| 成人午夜av在线| 亚洲精品蜜桃久久久久久| 成人香蕉社区| 97在线视频一区| 十八禁一区二区三区| 五月开心婷婷久久| 91玉足脚交白嫩脚丫| 99在线精品免费视频九九视| 精品一区二区三区日本| 亚洲最大网站| 亚洲图中文字幕| 在线观看黄色国产| 综合欧美亚洲日本| 国产伦精品一区二区三区妓女下载| 欧美久色视频| 好看的日韩精品| 欧美三级精品| 蜜月aⅴ免费一区二区三区| 亚洲av无码片一区二区三区| 亚洲第一主播视频| 亚欧洲乱码视频| 喷白浆一区二区| 最新中文字幕久久| 国产精品15p| 日本精品久久电影| 午夜老司机在线观看| 欧美一区二区成人6969| 日产欧产va高清| 久久婷婷综合激情| 欧美美女一级片| 欧美日一区二区三区在线观看国产免| 激情五月综合色婷婷一区二区| 456亚洲精品成人影院| 色青青草原桃花久久综合 | 夜鲁夜鲁夜鲁视频在线播放| 亚洲午夜未满十八勿入免费观看全集| 国产精品久久二区| 极品美乳网红视频免费在线观看| 欧美日韩一区视频| 国产性生活网站| 久久亚洲欧美国产精品乐播| 亚欧激情乱码久久久久久久久| 午夜久久福利| 日韩欧美在线一区二区| 欧美视频二区欧美影视| 欧美一级黄色网| 精品欧美色视频网站在线观看| 亚洲精品一区二区三区99| 久久国产乱子伦精品| 亚洲欧美日韩国产综合| 色天使在线视频| 国内久久精品视频| 欧美日韩激情视频在线观看| 99久久影视| 久久精品日产第一区二区三区乱码| 亚洲成人精品综合在线| 97精品视频在线观看| 老司机在线看片网av| 日韩精品在线影院| www.久久成人| 欧美日韩国产首页| 国产成人精品网| 一区二区三区在线观看欧美| 久久久久亚洲av无码a片| 成人一区二区三区| 欧美激情第3页| 日本亚洲三级在线| 欧美日韩成人免费视频| 欧美激情1区2区| 一区二区三区四区欧美日韩| 亚洲精品推荐| 精品在线观看一区二区| 亚洲国产aⅴ精品一区二区| 国产美女主播一区| 精品国产免费人成网站| 97色伦亚洲国产| 日本在线视频www鲁啊鲁| 日韩在线观看免费av| 国产午夜在线观看| 亚洲乱码国产乱码精品精| 亚洲精品人妻无码| 日韩午夜在线影院| 国产乱淫av免费| 欧美日韩免费不卡视频一区二区三区 | 国产成人av影视| 亚洲欧洲一级| 久久亚洲国产成人精品无码区| 亚洲国产精品成人| 亚洲精品中字| 日韩在线观看一区| 亚洲韩国在线| 日韩成人免费| 亚洲精品在线免费看| 国产真实有声精品录音| 免费99视频| 欧美日韩播放| 日韩精品成人一区二区在线观看| 同性恋视频一区| 久久久久久久久久久久久久久久av| 国产精品99久久免费观看| 成人资源av| 人人精品亚洲| 久热国产精品视频一区二区三区| 美女网站色精品尤物极品姐弟| 国产精品乱码一区二区三区| 国产精品99久久免费观看| 激情伦成人综合小说| 中文一区二区三区四区| 国产精品一区二区三区精品| 高清精品视频| 欧美国产一区二区在线| 奇米狠狠一区二区三区| 亚洲电影免费| 久久久久久免费视频| 欧美美女黄色网| 影音先锋久久久| 成人观看免费完整观看| 石原莉奈在线亚洲二区| 国产又粗又长又大的视频| 黄网站免费久久| 岛国大片在线免费观看| 成人国产精品免费| 30一40一50老女人毛片| 国产精品美日韩| 日韩a级片在线观看| 性久久久久久久| 成人h动漫精品一区二区下载| 欧美天堂亚洲电影院在线播放| 6—12呦国产精品| 精品久久久久久久久久久久包黑料 | 亚洲欧洲自拍| 国产免费亚洲高清| 亚洲国产aⅴ精品一区二区| 久久久久免费网| 欧美成人直播| 无码专区aaaaaa免费视频| 日韩av电影天堂| 国产乱国产乱老熟300部视频| 99精品在线免费| 538精品视频| 亚洲mv在线观看| 中日韩在线观看视频| 日韩欧美久久久| 精品视频三区| 色综合久久久久久中文网| 久久电影tv| 99在线首页视频| 欧美日韩高清| 免费高清一区二区三区| 蜜桃视频在线观看一区二区| 日本女人性视频| 国产女人18水真多18精品一级做 | 性色av蜜臀av色欲av| 国产精品福利一区二区| 尤物视频在线观看国产| 欧美男人的天堂一二区| 亚洲色偷精品一区二区三区| 丝袜美腿精品国产二区| 成人在线黄色电影| 亚洲一区二区三区成人在线视频精品| 亚洲+小说+欧美+激情+另类| 欧美交换配乱吟粗大25p| 首页国产欧美日韩丝袜| jjzz黄色片| 亚洲视频一二三区| 波多野结衣电车| 亚洲成色777777女色窝| 蜜桃视频在线观看www社区| 青草青草久热精品视频在线网站| 日韩中文字幕| 亚洲午夜精品久久| 麻豆9191精品国产| 国产精品久久久久久在线观看| 亚洲欧洲一区二区三区| 日韩免费av网站| 亚洲精品成人免费| 麻豆蜜桃在线| 91精品视频在线| 久久视频在线| av五月天在线| 久久久99久久| 久久亚洲精品国产| 亚洲成人网在线| h片精品在线观看| 亚洲xxxxx| 91精品国产视频| 一本色道久久亚洲综合精品蜜桃| 久久先锋资源网| 成人精品免费在线观看| 亚洲第一男人天堂| 黄页网站在线| 国产精品美女xx| 精品动漫一区| 欧产日产国产精品98| 亚洲国产视频网站| 少妇无码一区二区三区| 久久久中精品2020中文| 2020国产精品极品色在线观看| www.亚洲成人网| 国产老女人精品毛片久久| 久草视频手机在线| 91精品国产黑色紧身裤美女| 国产黄色在线网站| av资源一区二区| 99国产精品久久久久久久| 欧美日韩人妻精品一区在线| 午夜精品一区二区三区电影天堂 | 日本少妇精品亚洲第一区| 色乱码一区二区三区熟女| 国产精品 日产精品 欧美精品| 欧美激情精品久久| 精品欧美一区二区在线观看| 精灵使的剑舞无删减版在线观看| 国产精品一区视频网站| 一区二区精品| 白白色免费视频| 亚洲天堂手机版| 亚洲人在线观看| 国产激情欧美| 亚洲成人动漫在线| 高清不卡在线观看av| 精品成人久久久| 国产一区二区三区精品久久久 | 日本三级在线视频| 91深夜福利视频| 亚洲经典视频在线观看| 成人免费毛片糖心| 欧美日韩国产色站一区二区三区| 伊人福利在线| 欧美黑人xxxxx| 狠狠色丁香婷婷综合| 精品无码人妻一区二区三区| 亚洲精品视频二区| 永久免费观看精品视频| 亚洲乱码日产精品bd在线观看| 99精品在线免费| 97免费观看视频| 69**夜色精品国产69乱| 日韩成人综合| 69xxx免费视频| 欧美亚洲一区二区在线观看| av色综合久久天堂av色综合在| 精品蜜桃传媒| 理论电影国产精品| 日韩精品视频播放| 色妞一区二区三区| 美女呻吟一区| 亚洲欧美一区二区三区不卡| 色综合久久久久综合体桃花网| 成人免费高清| 日产中文字幕在线精品一区| 国产精品一区二区男女羞羞无遮挡| www.av麻豆|