• <em id="pai5d"></em><sup id="pai5d"></sup>
    
    

    <small id="pai5d"><rp id="pai5d"></rp></small>
    <option id="pai5d"></option>

    
    
  • <sup id="pai5d"></sup>
    <em id="pai5d"><label id="pai5d"></label></em>

  • <s id="pai5d"></s>
    當前位置 : 首頁(yè)  圖書(shū) 正文

    Kubernetes in Action中文版簡(jiǎn)介,目錄書(shū)摘

    2020-06-16 16:02 來(lái)源:京東 作者:京東
    ku berne tes in action中文版
    Kubernetes in Action中文版
    暫無(wú)報價(jià)
    3萬(wàn)+評論 99%好評
    編輯推薦:

    Kubernetes容器編排系統安全地管理分布式應用的結構和流程,以極高的效率組織容器和服務(wù)。Kubernetes充當集群的操作系統,消除了在設計中考慮底層網(wǎng)絡(luò )和服務(wù)器基礎設施的需要。本書(shū)教你使用Kubernetes部署基于容器的分布式應用。在構建Kubernetes集群前,將從Docker和Kubernetes的概觀(guān)開(kāi)始學(xué)習。你將逐步擴展初始應用程序、添加特性并加深對Kubernetes架構和操作的了解。當你瀏覽這本全面的指南時(shí),還將探索高級的主題,如監控、調優(yōu)和擴容。本書(shū)包括:

    ◎Kubernetes內部原理

    ◎跨集群部署容器

    ◎保障集群的安全

    ◎不停機更新應用


    內容簡(jiǎn)介:

    本書(shū)主要講解如何在 Kubernetes 中部署分布式容器應用。本書(shū)開(kāi)始部分概要介紹了 Docker 和Kubernetes 的由來(lái)和發(fā)展,然后通過(guò)在 Kubernetes 中部署一個(gè)應用程序,一點(diǎn)點(diǎn)增加功能,逐步加深我們對于Kubernetes架構的理解和操作的實(shí)踐。在本書(shū)的后面部分,也可以學(xué)習一些高階的主題,比如監控、調試及伸縮。

    Kubernetes是希臘文,意思是“舵手”,帶領(lǐng)我們安全地到達未知水域。Kubernetes這樣的容器編排系統,會(huì )幫助我們妥善地管理分布式應用的部署結構和線(xiàn)上流量,高效地組織容器和服務(wù)。Kubernetes 作為數據中心操作系統,在設計軟件系統時(shí),能夠盡量降低在底層網(wǎng)絡(luò )和硬件設施上的負擔。


    作者簡(jiǎn)介:

    原著(zhù)作者簡(jiǎn)介

    Marko Luksa是一位擁有20年以上專(zhuān)業(yè)開(kāi)發(fā)經(jīng)驗的軟件工程師,經(jīng)手項目小到簡(jiǎn)單的Web應用,大到ERP系統、框架和中間件軟件,應有盡有。在為Red Hat工作期間,他從Google App Engine API實(shí)現的開(kāi)發(fā)起步, 這些API將基于Red Hat的JBoss中間件產(chǎn)品,之后他一直在為CDI/Weld、Infinispan/JBoss DataGrid等項目貢獻力量。2014后, 他加入Red Hat的Cloud Enablement團隊,負責 Kubernetes和相關(guān)技術(shù)開(kāi)發(fā)的更新,保障公司的中間件軟件能將Kubernetes與OpenShift特性的潛能完全發(fā)揮出來(lái)。


    譯者簡(jiǎn)介

    七牛容器云 (KIRK)團隊,是負責七牛云基于自身公有云業(yè)務(wù)在容器方面的多年實(shí)踐經(jīng)驗,針對企業(yè)應用快速部署、便捷運維打造的容器云計算平臺。提供持續集成、彈性伸縮、應用市場(chǎng)等功能特性,使企業(yè)專(zhuān)注于業(yè)務(wù)邏輯開(kāi)發(fā),縮短業(yè)務(wù)上線(xiàn)周期,優(yōu)化資源利用率,提高服務(wù)響應效率的一支技術(shù)團隊。

    目錄:

    1  Kubernetes 介紹1

    1.1 Kubernetes 系統的需求 2

    1.1.1 從單體應用到微服務(wù) 2

    1.1.2 為應用程序提供一個(gè)一致的環(huán)境 5

    1.1.3 邁向持續交付 :DevOps 和無(wú)運維 6

    1.2 介紹容器技術(shù) 7

    1.2.1 什么是容器 7

    1.2.2 Docker 容器平臺介紹 11

    1.2.3 rkt——一個(gè) Docker 的替代方案 14

    1.3 Kubernetes 介紹 15

    1.3.1 初衷 15

    1.3.2 深入淺出地了解 Kubernetes 15

    1.3.3 Kubernetes 集群架構 17

    1.3.4 在 Kubernetes 中運行應用 18

    1.3.5 使用 Kubernetes 的好處 20

    1.4 本章小結 22

    2  開(kāi)始使用 Kubernetes 和 Docker 23

    2.1 創(chuàng )建、運行及共享容器鏡像 23

    2.1.1 安裝 Docker 并運行 Hello World 容器 24

    2.1.2 創(chuàng )建一個(gè)簡(jiǎn)單的 Node.js 應用 26

    2.1.3 為鏡像創(chuàng )建 Dockerfile 27

    2.1.4 構建容器鏡像 27

    2.1.5 運行容器鏡像 30

    2.1.6 探索運行容器的內部 31

    2.1.7 停止和刪除容器 32

    2.1.8 向鏡像倉庫推送鏡像 33

    2.2 配置 Kubernetes 集群 34

    2.2.1 用 Minikube 運行一個(gè)本地單節點(diǎn) Kubernetes 集群 34

    2.2.2 使用 Google Kubernetes Engine 托管 Kubernetes 集群 36

    2.2.3 為 kubectl 配置別名和命令行補齊 39

    2.3 在 Kubernetes 上運行第一個(gè)應用 40

    2.3.1 部署 Node.js 應用 40

    2.3.2 訪(fǎng)問(wèn) Web 應用 43

    2.3.3 系統的邏輯部分 45

    2.3.4 水平伸縮應用 46

    2.3.5 查看應用運行在哪個(gè)節點(diǎn)上 49

    2.3.6 介紹 Kubernetes dashboard 50

    2.4 本章小結 51

    3  pod :運行于 Kubernetes 中的容器 53

    3.1 介紹 pod 53

    3.1.1 為何需要 pod 54

    3.1.2 了解 pod 55

    3.1.3 通過(guò) pod 合理管理容器 56

    3.2 以 YAML 或 JSON 描述文件創(chuàng )建 pod 58

    3.2.1 檢查現有 pod 的 YAML 描述文件 59

    3.2.2 為 pod 創(chuàng )建一個(gè)簡(jiǎn)單的 YAML 描述文件 61

    3.2.3 使用 kubectl create 來(lái)創(chuàng )建 pod 63

    3.2.4 查看應用程序日志 64

    3.2.5 向 pod 發(fā)送請求 65

    3.3 使用標簽組織 pod 66

    3.3.1 介紹標簽 66

    3.3.2 創(chuàng )建 pod 時(shí)指定標簽 67

    3.3.3 修改現有 pod 的標簽 68

    3.4 通過(guò)標簽選擇器列出 pod 子集 69

    3.4.1 使用標簽選擇器列出 pod 69

    3.4.2 在標簽選擇器中使用多個(gè)條件 71

    3.5 使用標簽和選擇器來(lái)約束 pod 調度 71

    3.5.1 使用標簽分類(lèi)工作節點(diǎn) 72

    3.5.2 將 pod 調度到特定節點(diǎn) 72

    3.5.3 調度到一個(gè)特定節點(diǎn) 73

    3.6 注解 pod73

    3.6.1 查找對象的注解 74

    3.6.2 添加和修改注解 74

    3.7 使用命名空間對資源進(jìn)行分組 75

    3.7.1 了解對命名空間的需求 75

    3.7.2 發(fā)現其他命名空間及其 pod 75

    3.7.3 創(chuàng )建一個(gè)命名空間 76

    3.7.4 管理其他命名空間中的對象 77

    3.7.5 命名空間提供的隔離 78

    3.8 停止和移除 pod 78

    3.8.1 按名稱(chēng)刪除 pod 78

    3.8.2 使用標簽選擇器刪除 pod 79

    3.8.3 通過(guò)刪除整個(gè)命名空間來(lái)刪除 pod 80

    3.8.4 刪除命名空間中的所有 pod,但保留命名空間 80

    3.8.5 刪除命名空間中的(幾乎)所有資源 80

    3.9 本章小結 81

    4  副本機制和其他控制器 :部署托管的 pod 83

    4.1 保持 pod 健康 84

    4.1.1 介紹存活探針 84

    4.1.2 創(chuàng )建基于 HTTP 的存活探針 85

    4.1.3 使用存活探針 86

    4.1.4 配置存活探針的附加屬性 87

    4.1.5 創(chuàng )建有效的存活探針 88

    4.2 了解 ReplicationController 89

    4.2.1 ReplicationController 的操作 90

    4.2.2 創(chuàng )建一個(gè) ReplicationController 92

    4.2.3 使用 ReplicationController 94

    4.2.4 將 pod 移入或移出 ReplicationController 的作用域 97

    4.2.5 修改 pod 模板 100

    4.2.6 水平縮放 pod 101

    4.2.7 刪除一個(gè) ReplicationController 103

    4.3 使用 ReplicaSet 而不是 ReplicationController 104

    4.3.1 比較 ReplicaSet 和 ReplicationController 104

    4.3.2 定義 ReplicaSet 105

    4.3.3 創(chuàng )建和檢查 ReplicaSet106

    4.3.4 使用 ReplicaSet 的更富表達力的標簽選擇器106

    4.3.5 ReplicaSet 小結 107

    4.4 使用 DaemonSet 在每個(gè)節點(diǎn)上運行一個(gè) pod 107

    4.4.1 使用 DaemonSet 在每個(gè)節點(diǎn)上運行一個(gè) pod 108

    4.4.2 使用 DaemonSet 只在特定的節點(diǎn)上運行 pod 109

    4.5 運行執行單個(gè)任務(wù)的 pod 112

    4.5.1 介紹 Job 資源 112

    4.5.2 定義 Job 資源 113

    4.5.3 看 Job 運行一個(gè) pod 114

    4.5.4 在 Job 中運行多個(gè) pod 實(shí)例 114

    4.5.5 限制 Job pod 完成任務(wù)的時(shí)間 116

    4.6 安排 Job 定期運行或在將來(lái)運行一次 116

    4.6.1 創(chuàng )建一個(gè) CronJob 116

    4.6.2 了解計劃任務(wù)的運行方式 118

    4.7 本章小結 118

    5  服務(wù) :讓客戶(hù)端發(fā)現 pod 并與之通信121

    5.1 介紹服務(wù) 122

    5.1.1 創(chuàng )建服務(wù) 123

    5.1.2 服務(wù)發(fā)現 129

    5.2 連接集群外部的服務(wù) 132

    5.2.1 介紹服務(wù) endpoint 133

    5.2.2 手動(dòng)配置服務(wù)的 endpoint 133

    5.2.3 為外部服務(wù)創(chuàng )建別名 135

    5.3 將服務(wù)暴露給外部客戶(hù)端 136

    5.3.1 使用 NodePort 類(lèi)型的服務(wù) 137

    5.3.2 通過(guò)負載均衡器將服務(wù)暴露出來(lái) 140

    5.3.3 了解外部連接的特性 142

    5.4 通過(guò) Ingress 暴露服務(wù) 143

    5.4.1 創(chuàng )建 Ingress 資源 145

    5.4.2 通過(guò) Ingress 訪(fǎng)問(wèn)服務(wù) 146

    5.4.3 通過(guò)相同的 Ingress 暴露多個(gè)服務(wù) 147

    5.4.4 配置 Ingress 處理 TLS 傳輸 149

    5.5 pod 就緒后發(fā)出信號 150

    5.5.1 介紹就緒探針 151

    5.5.2 向 pod 添加就緒探針 152

    5.5.3 了解就緒探針的實(shí)際作用 154

    5.6 使用 headless 服務(wù)來(lái)發(fā)現獨立的 pod 155

    5.6.1 創(chuàng )建 headless 服務(wù)156

    5.6.2 通過(guò) DNS 發(fā)現 pod 156

    5.6.3 發(fā)現所有的 pod——包括未就緒的 pod 157

    5.7 排除服務(wù)故障 158

    5.8 本章小結 159

    6  卷 :將磁盤(pán)掛載到容器 161

    6.1 介紹卷 162

    6.1.1 卷的應用示例162

    6.1.2 介紹可用的卷類(lèi)型 164

    6.2 通過(guò)卷在容器之間共享數據 165

    6.2.1 使用 emptyDir 卷 165

    6.2.2 使用 Git 倉庫作為存儲卷 168

    6.3 訪(fǎng)問(wèn)工作節點(diǎn)文件系統上的文件 171

    6.3.1 介紹 hostPath 卷 171

    6.3.2 檢查使用 hostPath 卷的系統 pod 172

    6.4 使用持久化存儲 173

    6.4.1 使用 GCE 持久磁盤(pán)作為 pod 存儲卷 174

    6.4.2 通過(guò)底層持久化存儲使用其他類(lèi)型的卷 177

    6.5 從底層存儲技術(shù)解耦 pod 179

    6.5.1 介紹持久卷和持久卷聲明 179

    6.5.2 創(chuàng )建持久卷 180

    6.5.3 通過(guò)創(chuàng )建持久卷聲明來(lái)獲取持久卷 182

    6.5.4 在 pod 中使用持久卷聲明 184

    6.5.5 了解使用持久卷和持久卷聲明的好處 185

    6.5.6 回收持久卷 186

    6.6 持久卷的動(dòng)態(tài)卷配置 187

    6.6.1 通過(guò) StorageClass 資源定義可用存儲類(lèi)型 188

    6.6.2 請求持久卷聲明中的存儲類(lèi) 188

    6.6.3 不指定存儲類(lèi)的動(dòng)態(tài)配置 190

    6.7 本章小結 193

    7  ConfigMap 和 Secret :配置應用程序 195

    7.1 配置容器化應用程序 195

    7.2 向容器傳遞命令行參數 196

    7.2.1 在 Docker 中定義命令與參數 196

    7.2.2 在 Kubernetes 中覆蓋命令和參數 199

    7.3 為容器設置環(huán)境變量 200

    7.3.1 在容器定義中指定環(huán)境變量 201

    7.3.2 在環(huán)境變量值中引用其他環(huán)境變量 201

    7.3.3 了解硬編碼環(huán)境變量的不足之處 202

    7.4 利用 ConfigMap 解耦配置 202

    7.4.1 ConfigMap 介紹 202

    7.4.2 創(chuàng )建 ConfigMap 203

    7.4.3 給容器傳遞 ConfigMap 條目作為環(huán)境變量 206

    7.4.4 一次性傳遞 ConfigMap 的所有條目作為環(huán)境變量 208

    7.4.5 傳遞 ConfigMap 條目作為命令行參數 209

    7.4.6 使用 configMap 卷將條目暴露為文件 210

    7.4.7 更新應用配置且不重啟應用程序 216

    7.5 使用 Secret 給容器傳遞敏感數據 218

    7.5.1 介紹 Secret 218

    7.5.2 默認令牌 Secret 介紹 218

    7.5.3 創(chuàng )建 Secret 220

    7.5.4 對比 ConfigMap 與 Secret 221

    7.5.5 在 pod 中使用 Secret 222

    7.6 本章小結 228

    8  從應用訪(fǎng)問(wèn) pod 元數據以及其他資源 229

    8.1 通過(guò) Downward API 傳遞元數據 229

    8.1.1 了解可用的元數據 230

    8.1.2 通過(guò)環(huán)境變量暴露元數據 231

    8.1.3 通過(guò) downwardAPI 卷來(lái)傳遞元數據 234

    8.2 與 Kubernetes API 服務(wù)器交互 237

    8.2.1 探究 Kubernetes REST API 238

    8.2.2 從 pod 內部與 API 服務(wù)器進(jìn)行交互 242

    8.2.3 通過(guò) ambassador 容器簡(jiǎn)化與 API 服務(wù)器的交互 248

    8.2.4 使用客戶(hù)端庫與 API 服務(wù)器交互 251

    8.3 本章小結 253

    9  Deployment: 聲明式地升級應用 255

    9.1 更新運行在 pod 內的應用程序 256

    9.1.1 刪除舊版本 pod,使用新版本 pod 替換257

    9.1.2 先創(chuàng )建新 pod 再刪除舊版本 pod 257

    9.2 使用 ReplicationController 實(shí)現自動(dòng)的滾動(dòng)升級259

    9.2.1 運行第一個(gè)版本的應用 259

    9.2.2 使用 kubectl 來(lái)執行滾動(dòng)式升級 261

    9.2.3 為什么 kubectl rolling-update已經(jīng)過(guò)時(shí) 265

    9.3 使用 Deployment 聲明式地升級應用 266

    9.3.1 創(chuàng )建一個(gè) Deployment 267

    9.3.2 升級 Deployment 269

    9.3.3 回滾 Deployment 273

    9.3.4 控制滾動(dòng)升級速率 276

    9.3.5 暫停滾動(dòng)升級 278

    9.3.6 阻止出錯版本的滾動(dòng)升級 279

    9.4 本章小結 284

    10  StatefulSet :部署有狀態(tài)的多副本應用 285

    10.1 復制有狀態(tài) pod 285

    10.1.1 運行每個(gè)實(shí)例都有單獨存儲的多副本 286

    10.1.2 每個(gè) pod 都提供穩定的標識 287

    10.2 了解 Statefulset 289

    10.2.1 對比 Statefulset 和 ReplicaSet 289

    10.2.2 提供穩定的網(wǎng)絡(luò )標識 290

    10.2.3 為每個(gè)有狀態(tài)實(shí)例提供穩定的專(zhuān)屬存儲 292

    10.2.4 Statefulset 的保障 294

    10.3 使用 Statefulset 295

    10.3.1 創(chuàng )建應用和容器鏡像 295

    10.3.2 通過(guò) Statefulset 部署應用 296

    10.3.3 使用你的 pod 301

    10.4 在 Statefulset 中發(fā)現伙伴節點(diǎn) 305

    10.4.1 通過(guò) DNS 實(shí)現伙伴間彼此發(fā)現 306

    10.4.2 更新 Statefulset 308

    10.4.3 嘗試集群數據存儲 309

    10.5 了解 Statefulset 如何處理節點(diǎn)失效 310

    10.5.1 模擬一個(gè)節點(diǎn)的網(wǎng)絡(luò )斷開(kāi) 310

    10.5.2 手動(dòng)刪除 pod 312

    10.6 本章小結 313

    11  了解 Kubernetes 機理 315

    11.1 了解架構 315

    11.1.1 Kubernetes 組件的分布式特性 316

    11.1.2 Kubernetes 如何使用 etcd 318

    11.1.3 API 服務(wù)器做了什么 322

    11.1.4 API 服務(wù)器如何通知客戶(hù)端資源變更 324

    11.1.5 了解調度器 325

    11.1.6 介紹控制器管理器中運行的控制器 327

    11.1.7 Kubelet 做了什么 331

    11.1.8 Kubernetes Service Proxy 的作用 332

    11.1.9 介紹 Kubernetes 插件 333

    11.1.10 總結概覽 335

    11.2 控制器如何協(xié)作 335

    11.2.1 了解涉及哪些組件335

    11.2.2 事件鏈 336

    11.2.3 觀(guān)察集群事件 337

    11.3 了解運行中的 pod 是什么 339

    11.4 跨 pod 網(wǎng)絡(luò ) 340

    11.4.1 網(wǎng)絡(luò )應該是什么樣的 340

    11.4.2 深入了解網(wǎng)絡(luò )工作原理 341

    11.4.3 引入容器網(wǎng)絡(luò )接口 343

    11.5 服務(wù)是如何實(shí)現的 344

    11.5.1 引入 kube-proxy 344

    11.5.2 kube-proxy 如何使用 iptables 344

    11.6 運行高可用集群 346

    11.6.1 讓你的應用變得高可用 346

    11.6.2 讓 Kubernetes 控制平面變得高可用 347

    11.7 本章小結 350

    12  Kubernetes API 服務(wù)器的安全防護 351

    12.1 了解認證機制 351

    12.1.1 用戶(hù)和組 352

    12.1.2 ServiceAccount 介紹 353

    12.1.3 創(chuàng )建 ServiceAccount 354

    12.1.4 將 ServiceAccount 分配給 pod 356

    12.2 通過(guò)基于角色的權限控制加強集群安全 358

    12.2.1 介紹 RBAC 授權插件 359

    12.2.2 介紹 RBAC 資源 360

    12.2.3 使用 Role 和 RoleBinding 363

    12.2.4 使用 ClusterRole 和 ClusterRoleBinding 367

    12.2.5 了解默認的 ClusterRole 和 ClusterRoleBinding 376

    12.2.6 理性地授予授權權限 379

    12.3 本章小結 379

    13  保障集群內節點(diǎn)和網(wǎng)絡(luò )安全 381

    13.1 在 pod 中使用宿主節點(diǎn)的 Linux 命名空間 381

    13.1.1 在 pod 中使用宿主節點(diǎn)的網(wǎng)絡(luò )命名空間382

    13.1.2 綁定宿主節點(diǎn)上的端口而不使用宿主節點(diǎn)的網(wǎng)絡(luò )命名空間 383

    13.1.3 使用宿主節點(diǎn)的 PID 與 IPC 命名空間 385

    13.2 配置節點(diǎn)的安全上下文 386

    13.3 限制 pod 使用安全相關(guān)的特性 396

    13.4 隔離 pod 的網(wǎng)絡(luò ) 406

    13.5 本章小結 410

    14  計算資源管理 411

    14.1 為 pod 中的容器申請資源 411

    14.1.1 創(chuàng )建包含資源 requests 的 pod 412

    14.1.2 資源 requests 如何影響調度 413

    14.1.3 CPU requests 如何影響 CPU 時(shí)間分配 418

    14.1.4 定義和申請自定義資源 418

    14.2 限制容器的可用資源 419 

    14.3 了解 pod QoS 等級 423

    14.4 為命名空間中的 pod 設置默認的 requests 和 limits 427

    14.5 限制命名空間中的可用資源總量 431

    14.6 監控 pod 的資源使用量 436

    14.7 本章小結 442

    15  自動(dòng)橫向伸縮 pod 與集群節點(diǎn) 443

    15.1 pod 的橫向自動(dòng)伸縮 444

    15.2 pod 的縱向自動(dòng)伸縮 456

    15.3 集群節點(diǎn)的橫向伸縮 457

    15.4 本章小結 461

    16  高級調度463

    16.1 使用污點(diǎn)和容忍度阻止節點(diǎn)調度到特定節點(diǎn) 463

    16.2 使用節點(diǎn)親緣性將 pod 調度到特定節點(diǎn)上 469

    16.3 使用 pod 親緣性與非親緣性對 pod 進(jìn)行協(xié)同部署 475

    16.4 本章小結 483

    17  開(kāi)發(fā)應用的最佳實(shí)踐 485

    17.1 集中一切資源 486

    17.2 了解 pod 的生命周期 487

    17.3 確保所有的客戶(hù)端請求都得到了妥善處理 500

    17.4 讓?xiě)迷?Kubernetes 中方便運行和管理 505

    17.5 開(kāi)發(fā)和測試的最佳實(shí)踐 510

    17.6 本章小結 515

    18  Kubernetes 應用擴展 517

    18.1 定義自定義 API 對象 517

    18.2 使用 Kubernetes 服務(wù)目錄擴展 Kubernetes 528

    18.3 基于 Kubernetes 搭建的平臺 536

    18.4 本章小結 541

    A  在多個(gè)集群中使用 kubectl 543

    B  使用 kubeadm 配置多節點(diǎn)集群 549

    C  使用其他容器運行時(shí) 563

    D  Cluster Federation 567

    熱門(mén)推薦文章
    相關(guān)優(yōu)評榜
    品類(lèi)齊全,輕松購物 多倉直發(fā),極速配送 正品行貨,精致服務(wù) 天天低價(jià),暢選無(wú)憂(yōu)
    購物指南
    購物流程
    會(huì )員介紹
    生活旅行/團購
    常見(jiàn)問(wèn)題
    大家電
    聯(lián)系客服
    配送方式
    上門(mén)自提
    211限時(shí)達
    配送服務(wù)查詢(xún)
    配送費收取標準
    海外配送
    支付方式
    貨到付款
    在線(xiàn)支付
    分期付款
    郵局匯款
    公司轉賬
    售后服務(wù)
    售后政策
    價(jià)格保護
    退款說(shuō)明
    返修/退換貨
    取消訂單
    特色服務(wù)
    奪寶島
    DIY裝機
    延保服務(wù)
    京東E卡
    京東通信
    京東JD+
    亚洲精品乱码久久久97_国产伦子一区二区三区_久久99精品久久久欧美_天天看片永久av影城网页
  • <em id="pai5d"></em><sup id="pai5d"></sup>
    
    

    <small id="pai5d"><rp id="pai5d"></rp></small>
    <option id="pai5d"></option>

    
    
  • <sup id="pai5d"></sup>
    <em id="pai5d"><label id="pai5d"></label></em>

  • <s id="pai5d"></s>