日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

k8命令,pod的启动流程与资源文件书写,k8s集群调度

發布時間:2025/3/21 编程问答 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 k8命令,pod的启动流程与资源文件书写,k8s集群调度 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

目錄

一.常用命令及kubect介紹

1.kubect介紹

1)語法格式:

2)命名空間的概述

3)查看命名空間

4)查看命名空間中的資源對象

2.查用排錯命令

1)查詢資源文件

2)查看資源詳細信息(經常用于排錯)

3)查看容器的日志信息

3.kubectl 命令與示例

二.kubectl容器管理

1.Pod與控制器

1)Deployment 資源控制器

2)POD是什么

2.POD的概述

1)POD的啟動過程

2)POD生命周期

3.POD的啟動狀態

4.POD特點

5.容器管理命令

1)進入一個正在運行的容器

6.其他資源控制器

三.資源文件的概述

1.資源對象文件的概述

2.YAMl語法概述

3.資源文件的管理命令

4.POD的資源文件書寫格式概述

??5.deploy資源控制器文件的書寫

6.標簽和選擇器的書寫格式

三.集群的管理

1.集群擴容

2.集群更新與回滾

1)查看控制器規則

2)deployment.spec.strategy支持兩種策略

3.集群調度

3)高級調度策略


一.常用命令及kubect介紹

1.kubect介紹

--Kubectl是用于控制Kubernetes集群的命令行工具

1)語法格式:

~]# kubectl [command] [TYPE] [NAME] [flagsJ command: # 子命令,如create, get, describe, delete type: ? ?# 資源類型,可以表示為單數,復數或縮寫形式 name: ? ?# 資源的名稱,如果省略,則顯示所有資源信息 flags: ? # 指定可選標志,或附加的參數 ? # 查看所有類型 ~]# kubectl api-resources ? ## 示例 # 查詢節點狀態 ~]# kubectl get node # 查詢主機信息 ~]# kubectl get node node1 -o wide # -o參數幫助 ~]# kubectl get node node1 -o wide --help .... [(-o|--output=)json|yaml|name|go-template|go-template-file|template|templatefile|jsonpath|jsonpath-as-json|jsonpath-file|custom-columns|custom-columns-file|wide] ..... # -o 指定以yaml格式顯示出來 ~]# kubectl get node node1 -o yaml # 查詢deployment資源名稱 ~]# kubectl get deployment # 查詢pod容器資源(默認命名空間default) ~]# kubectl get pods # 指定查看pods的名稱空間 ~]# kubectl get pods -n kube-system

2)命名空間的概述

k8s命名空間為對象名稱提供了一個作用域,我們可以把資源放到不同的命名空間中,這樣我們可以使用同名的資源名稱,只要保證同一命名空間中的資源名稱唯一即可

系統命名空間

--default默認的命名空間,不聲明命名空間的POD都在這里

--kube-node-lease為高可用提供心跳監視的命名空間

--kube-public公共數據,所有用戶都可以讀取它

--kube-system 系統服務對象所使用的命名空間

3)查看命名空間

~]# kubectl get namespace

4)查看命名空間中的資源對象

~]# kubectl -n kube-system get pod

2.查用排錯命令

1)查詢資源文件

# 格式 ~]# kubectl get [資源類型] [資源名稱] ? ## 示例 # 查看所有pod容器 ~]# kubectl get pods -A # 查看指定容器名稱空間內的所有容器 ~]# kubectl get pods -n kube-system NAME ? ? ? ? ? ? ? ? ? ? ? ? ? ? READY ? STATUS ? RESTARTS ? ? ? AGE coredns-557689b88f-g9pwl ? ? ? ? 1/1 ? ? Running ? 1 (5h1m ago) ? 2d22h coredns-557689b88f-rj84r ? ? ? ? 1/1 ? ? Running ? 1 (5h1m ago) ? 2d22h ....... # 查看指定容器名稱空間內的指定容器 ~]# kubectl get pods -n kube-system coredns-557689b88f-g9pwl # 查看指定容器名稱空間內的指定容器信息 ~]# kubectl get pods -n kube-system coredns-557689b88f-g9pwl -o wide # 查看指定容器名稱空間內的指定容器詳細信息以yaml格式顯示 ~]# kubectl get pods -n kube-system coredns-557689b88f-g9pwl -o yaml # 查看節點信息并顯示詳細信息以yaml格式顯示 ~]# kubectl get nodes -o yaml

2)查看資源詳細信息(經常用于排錯)

# 格式 ~]# kubectl describe [資源類型] [資源名稱] ? # 示例 ~]# kubectl describe pods -n kube-system kube-flannel-ds-jxwf5

3)查看容器的日志信息

-查看console終端的輸出信息

-為空是正常現象,表示沒有日志輸出

# 格式 ~]# kubectl logs [名稱空間] [容器名稱] ? # 示例 ~]# kubectl logs -n kube-system kube-flannel-ds-jxwf5

排錯流程,一般先get查看,然后再describe,最后再logs查看

3.kubectl 命令與示例

命令格式命令說明
kubectl run 資源名稱 -參數 --image=鏡像名稱:標簽創建資源對象,常用參數-i交互,-t終端
kubectl get 查詢資源 可選參數 -o wide 顯示主機信息常用查詢的資源 node|deployment|pod
kubectl exec -it 容器id 執行的命令同 docker exec 指令,進入容器內
kubectl describe 資源類型 資源名稱查詢資源的詳細信息
kubectl attach同 docker attach 指令,連接容器
kubectl logs 容器id查看容器控制臺的標準輸出
kubectl delete 資源類型 資源名稱刪除指定的資源
kubectl create|apply -f 資源文件執行指定的資源文件

命令示例

# 執行指定的資源文件 ~]# kubectl apply -f kube-flannel.yml # 刪除指定資源文件(當flannel注冊失敗容器報pending時,可以用這種方法重啟) ~]# kubectl delete -f kube-flannel.yml # 查看 ~]# kubectl get pods -A NAMESPACE ? ? NAME ? ? ? ? ? ? ? ? ? ? ? ? ? ? READY ? STATUS ? RESTARTS ? ? AGE default ? ? ? testos ? ? ? ? ? ? ? ? ? ? ? ? ? 1/1 ? ? Running ? 2 (31m ago) ? 125m kube-system ? coredns-557689b88f-g9pwl ? ? ? ? 1/1 ? ? Running ? 1 (8h ago) ? 3d1h kube-system ? coredns-557689b88f-rj84r ? ? ? ? 1/1 ? ? Running ? 1 (8h ago) ? 3d1h kube-system ? etcd-master ? ? ? ? ? ? ? ? ? ? ?1/1 ? ? Running ? 3 (8h ago) ? 3d1h kube-system ? kube-apiserver-master ? ? ? ? ? ?1/1 ? ? Running ? 3 (8h ago) ? 3d1h kube-system ? kube-controller-manager-master ? 1/1 ? ? Running ? 3 (8h ago) ? 3d1h kube-system ? kube-proxy-flzrz ? ? ? ? ? ? ? ? 1/1 ? ? Running ? 2 (8h ago) ? 3d1h kube-system ? kube-proxy-sv5n8 ? ? ? ? ? ? ? ? 1/1 ? ? Running ? 0 ? ? ? ? ? ? 7h42m kube-system ? kube-proxy-tkctb ? ? ? ? ? ? ? ? 1/1 ? ? Running ? 0 ? ? ? ? ? ? 30h kube-system ? kube-scheduler-master ? ? ? ? ? ?1/1 ? ? Running ? 4 (8h ago) ? 3d1h ? ## get 查詢信息 # 查看節點 ~]# kubectl get nodes NAME STATUS ROLES AGE VERSION master Ready master 19h v1.17.6 node-0001 Ready <none> 16h v1.17.6 ? # 查看pod容器 ~]# kubectl get pod No resources found in default namespace. # 注:這里是因為get pod不寫指定名稱空間,默認找default ? # 查看所有名稱空間 ~]# kubectl get namespaces NAME ? ? ? ? ? ? STATUS ? AGE default ? ? ? ? ? Active ? 9h kube-node-lease ? Active ? 9h kube-public ? ? ? Active ? 9h kube-system ? ? ? Active ? 9h ? # 指定名稱空間查看pod容器 ~]# kubectl -n kube-system get pod NAME READY STATUS RESTARTS AGE kube-flannel-ds-amd64-hf2jp 1/1 Running 0 41m kube-flannel-ds-amd64-rtl4l 1/1 Running 0 41m ... ... ? # describe 查詢詳細信息 ~]# kubectl -n kube-system describe pod kube-flannel-ds-amd64-rtl4l Name: kube-proxy-4tbp6 Namespace: kube-system ... ... Events: ...... # 注:錯誤信息主要找Events ? # 使用run啟動容器 ~]# kubectl run testos -it --image=192.168.1.100:5000/myos:v1804 # 注釋: 命令 子命令 自己起的名字 交互式終端 指定鏡像=鏡像倉庫地址/鏡像名 If you don't see a command prompt, try pressing enter /]# exit ~]# kubectl get pods NAME ? ? READY ? STATUS ? RESTARTS ? ? AGE testos ? 1/1 ? ? Running ? 1 (5s ago) ? 3m28s ? # 啟動服務 ~]# kubectl run web-test --image=192.168.1.100:5000/myos:httpd ? kubectl run --generator=deployment/apps.v1 is DEPRECATED and will be removed in a future version. Use kubectl run --generator=run-pod/v1 or kubectl create instead. deployment.apps/web-test created ? # 訪問節點 ~]# kubectl get pod -o wide #詳細信息 NAME READY STATUS RESTARTS AGE IP testos-79778b4895-s8mxl 1/1 Running 1 6m33s 10.244.3.2 ... ... testweb--7bf98b9576-v566c 1/1 Running 0 4m24s 10.244.4.2 ... ... ? ~]# curl http://10.244.4.2/info.php <pre> Array ( [REMOTE_ADDR] => 10.244.0.0 [REQUEST_METHOD] => GET [HTTP_USER_AGENT] => curl/7.29.0 [REQUEST_URI] => /info.php ) php_host: web-test-7bf98b9576-v566c 1229 ? # 進入容器 ~]# kubectl exec -it testos-79778b4895-s8mxl -- /bin/bash /]# ~]# kubectl attach -it testos-79778b4895-s8mxl /]# ? # 查看終端日志 ~]# kubectl logs web-test-7bf98b9576-v566c AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using 10.244.4.2. Set the 'ServerName' directive globally to suppress this message ? # 刪除資源控制器,直接刪除POD會自動重建 ~]# kubectl delete pod testos-79778b4895-s8mxl pod "testos-79778b4895-s8mxl" deleted ? ~]# kubectl delete deployments testos deployment.apps "testos" deleted

二.kubectl容器管理

1.Pod與控制器

1)Deployment 資源控制器

Deployment 為 RS 提供滾動更新

????????-ReplicaSet資源控制器(RS)

????????-ReplicaSet 創建管理POD

????????-ReplicaSet可以擴容和縮容

????????-POD最小的管理單元

????????-POD負責啟動和運行容器

控制器架構示例圖

# 查看一級控制器 ~]# kubectl get deployments.apps NAME ? ? ? ? ? ? ? ? ? ? READY ? STATUS ? RESTARTS ? ? ? AGE testos ? 1/1 ? ? Running ? 1 (6m57s ago) ? 10m ? # 查看二級控制器 ~]# kubectl get replicasets.apps NAME ? ? ? ? ? ? ? ? ? ? READY ? STATUS ? RESTARTS ? ? ? AGE testos-79778b4895 ? 1/1 ? ? Running ? 1 (6m57s ago) ? 10m ? # 查看三級控制器 ~]# kubectl get pods NAME ? ? ? ? ? ? ? ? ? ? READY ? STATUS ? RESTARTS ? ? ? AGE testos-79778b4895-s8mxl ? 1/1 ? ? Running ? 1 (6m57s ago) ? 10m ?

# 注:二級,三級等一下控制器都是自動生成的,而一級控制器是自己創建的(必須手定義)

2)POD是什么?

  • POD是Kubernetes中最小的管理元素

  • 一個pod 可以理解為多個linux命名空間的聯合

同一個Pod共享進程(PID)

同一個Pod共享網絡IP及權限(NETWORK)

同一個Pod共享IPC通信信號(IPC)

同一個Pod共享主機名(UTS)

  • 包涵1個或多個容器 例如:共享網絡、共享存儲等

理解POD對掌握kubernetes非常重要

Pod支持橫向擴展和復制

2.POD的概述

1)POD的啟動過程

用戶創建pod--->>(kubectl )聯系API server--->>(kubectl 的命令)記錄在etcd數據庫中--->>然后(api server)再去找Scheduler調度器,Scheduler再調用內部的算法去找適合運行容器的節點--->>(Scheduler)把結果返回aip server-->>api server再把結果記錄到etcd數據庫中,由于master默認不運行服務,所以api serve 回直接找node節點也就是(kubelete計算節點)--->> (kubelete)找docker創建容器--(docker)把容器狀態返回kubelete--->>(kubelet)再把容器狀態返回給api server--->>( api server)再把結果記錄再etcd數據庫中

注:此時數據庫中記錄了類似與(c1 node running),所以此時使用kubectl就能調用這些信息

Scheduler分配容器

第一步篩選

比如此時要運行一個容器需要(500m的內存,端口80),此時 Scheduler就會去找節點凡是內存沒有500m的排除,端口80被占用的排除,

第二步優選

如果此時有多個節點符合篩選條件,則根據內部算法(打分機制)選擇

2)POD生命周期

Pod對象自從其創建開始至其終止退出的時間范圍稱為其生命周期。在這段時間中,Pod會處于 多種不同的狀態,并執行一些操作;其中,創建主容器(main container)為必需的操作,其他可選的操作還包括運行于初始化容器(init container)、容器啟動后鉤子 (postart hook)、容器的存活性探測(liveness probe) 就緒性探測 (readiness probe)以及容器終止前鉤子 (pre stop hook) 等,這些操作是否執行則取決于Pod 的定義

pod的啟動--->>初始化容器(init container)(默認沒有條件,可以填加初始話條件)--->>隨著容器啟動的小程序,也叫啟動前腳本(post start hook)(小程序可以執行一些特別的操作,比如指定容器為誰的從服務器,默認也是空的)--->> 容器關閉前腳本(pre stop hook)(默認也是空的)(比如刪除容器時發現容器在啟動之后產生了5個G的硬盤空間,此時想要刪除,這時候就可以設置結束前執行腳本了)

此時pod還有兩個探測器

  • 生存探測(liveness probe)

????????如果容器失敗了,就會重啟

  • 就緒性探測 (readiness probe)

????????如果失敗不會重啟容器,只會改為NoReady,沒有就緒狀態,這個時候就以排錯了(默認為空)

## 生存探測器示例 ~]# kubectl get pods NAME ? ? READY ? STATUS ? RESTARTS ? ? AGE testos ? 1/1 ? ? Running ? 1 (13m ago) ? 17m ~]# kubectl attach pods -n default -it testos If you don't see a command prompt, try pressing enter. # 在容器內查看進程 /]# echo $$ 1 # 因為attach進入容器用的父進程,而容器的父進程是上帝進程,且容器退出的方式是殺掉父進程,也就是會干掉容器 /]# exit ? # 就緒探測器發現容器沒有啟動就會直接顯示該狀態 ~]# kubectl get pods NAME ? ? READY ? STATUS ? ? RESTARTS ? ? AGE testos ? 0/1 ? ? Completed ? 1 (90m ago) ? 93m ? # 此時生存探測器發現容器被干掉了,就會重新生成容器 ~]# kubectl get pods NAME ? ? READY ? STATUS ? RESTARTS ? ? AGE testos ? 1/1 ? ? Running ? 2 (4s ago) ? 93m

3.POD的啟動狀態

Pod phase(相位狀態)

--Pod的status字段是一個PodStatus的對象,Pod對象總是應 該處于其生命進程中以下幾個相位(phase)之-。

--Pending 容器創建過程中,但它尚未被調度完成(api server找Scheduler之前的狀態就是Pending,如果是這種狀態,則說明節點不服和調度)

--Running 所有容器都已經被kubelet創建完成(Scheduler到docker之間的狀態)

--Succeeded 所有容器都已經成功終止了并不會被重啟

--Failed Pod中的所有容器中至少有一個容器退出是非O狀態

--Unknown 無法正常獲取到Pod對象的狀態信息

4.POD特點

--Pod的生命周期是短暫的,用后即焚的實體。 注意:重啟Pod中的容器跟重啟Pod不是一回事。Pod只提供容器的運行環境并保持容器的運行狀態,重啟容器不會造成Pod重啟。(在k8s中沒有停止的概念,只有創建與刪除。create,delete)

--Pod不會自愈。如果Pod運行的Node故障,或者是調度器本身故障,這個Pod就會被刪除。(但是如果有控制器就不不一樣)

--控制器(Deployment/RC/RS)可以自動創建和管理多個Pod, 提供副本管理、滾動升級和集群級別的自愈能力。

5.容器管理命令

1)進入一個正在運行的容器

語法格式:

~]# kubectl exec -it 容器id --執行的命令 # 這樣運行的退出后不會重啟

2)刪除資源

語法格式:

~]# kubectl delete 資源類型 資源名稱 # 刪除容器 ~]# kubectl delete pods -n default testos-79778b4895-s8mxl pod "testos-79778b4895-s8mxl" deleted # 查看pod容器,發現還是會創建出來 ~]# kubectl get pods NAME ? ? READY ? STATUS ? RESTARTS ? ? AGE testos-79778b4895-43er4 ? 1/1 ? ? Running ? 2 (88m ago) ? 92m ? # 此時就要刪除該pod容器的控制器 ~]# kubectl get deployments.apps NAME ? ? READY ? STATUS ? RESTARTS ? ? AGE testos ? 1/1 ? ? Running ? 2 (88m ago) ? 92m ~]# kubectl delete deployments testos deployment.apps "testos" deleted ? # 刪除容器時有一個寬限期,為了保證數據的完整性,刪除資源控制器時也有一個(terminating回收狀態)寬限期

6.其他資源控制器

peployment

????????Deployment /RC/RS 都是資源控制器

????????Deployment為Pod和ReplicaSet提供了一個聲明式定 義方法,用來替代以前的Replicationcontroller 來方便的管理應用。

典型的應用場景包括:

????????--定義Deployment來創建Pod和ReplicaSet

????????--滾動升級和回滾應用

????????--擴容和縮容

????????--暫停和繼續Deployment

RC/RS/Deployment

????????--kubernetes通過Replication Control1(簡稱RC) 管理POD,在RC中定義了如何啟動POD,如何 運行,啟動幾副本等功能,如果我們創建文件, 在其中使用Yaml的語法格式描述了上面的信息, 這個文件就是我們的資源對象文件

????????--ReplicaSet (簡稱RS)是RC的升級版

????????--Deployment為Pods和RS提供描述性的更新方式

三.資源文件的概述

1.資源對象文件的概述

-kuberbetes通過RC/RS 管理POD,在RC中定義了如何啟動POD,如何運行,啟動幾個副本等功能,如果我們創建的文件,在其中使用Yaml的語法描述了上面的信息,這個文件就是我們的資源對象文件

-資源文件可以創建,刪除,管理資源對象

-資源文件有很多高級的復雜的功能靠簡單的命令方式無法實現,這些都需要使用資源文件描述

2.YAMl語法概述

YAML 是什么?

YAML 是一種可讀性高,以數據為中心的數據序列化格式??梢员磉_ 對象(鍵值對)數組,標量; 這幾種數據形式 能夠被多種編程語言和腳本語言解析

YAML 語法與格式

基本語法

  • 以 k: v 的形式來表示鍵值對的關系,冒號后面必須有一個空格

  • 表示注釋

  • 對大小寫敏感

  • 通過縮進來表示層級關系,縮排中空格的數目不重要,只要相同階層的元素左側對齊就可以了

  • 縮進只能使用空格,不能使用 tab縮進鍵

  • 字符串可以不用雙引號

格式

對象和鍵值對

通過 k: v 的方式表示對象或者鍵值對,冒號后必須要加一個空格:

Name: Astron Sex: female School: TJU

通過縮進來表示對象的多個屬性:

People: Name: Astron Sex: female School: TJU

也可以寫成

people: {name: Astron, sex: female}

數組

數組(或者列表)中的元素采用 - 表示,以 - 開頭的行表示構成一個數組

# eg1:- A - B - C #eg2:people: - yyy- zzz- www

行內表示:

people: [yyy, zzz, www]

eg3: 對象數組

people: - name: yyyage: 18- name: zzzage: 19

使用流式表示:

people: [{name: yyy, age: 18},{name: zzz, age: 19}]

標量

標量是最基本的不可再分的值,包括:

  • 整數

  • 浮點數

  • 字符串

  • 布爾值

  • Null

  • 時間

  • 日期

eg:boolean:- true # 大小寫都可以- false ? float:- 3.14- 3.25e+5 # 科學計數法 ? int: 12 ? null: nodeName: name ? string: 123 ? date: 2020-01-01 # 格式為 yyyy-MM-dd ? datetime: 2020-01-10T15:02:08+08:00 # 日期和時間使用T連接,+表示時區

引用

& 用于建立錨點,* 用于引用錨點,<< 表示合并到當前數據

eg1:defaults: &defaults adapter: ppp host: qqq ? development: database: mq <<: *defaults

相當于:

defaults: adapter: ppp host: qqq ? development: database: mq adapter: ppp host: qqqeg2: - &showell steve - clark - eve - *showell

相當于:

- steve - clark - eve - steve

3.資源文件的管理命令

--create 創建資源對象(沒有密等性,一般不用)

--apply 生名更新資源對象

--delete 刪除資源文件

# 更新資源對象,也可以用來創建 ~]# kubectl apply -f mypod.yaml # 創建資源對象,但是用create創建的資源不能用apply更新 ~]# kubectl create -f mypod.yaml # 刪除資源文件 ~]# kubectl delete -f mypod.yaml

4.POD的資源文件書寫格式概述

--- ? ? ? ? ? ?# 資源的開始,當一個文件中有多個時,則說明一個文件有多個資源文件 kind: Pod ? ? ?# 資源對象的類型,這里定義pod,默認鍵值對采用key(小駝峰) : value(大坨峰),資源所有對象查看(kubectl api-resources) apiVersion: v1 # pod的版本,查看當前k8s支持的所有版本(kubectl api-versions),查看當前pod的版本,及基本概述(kubectl explain pods),詳細的當輸入前面這條命令的時候地下會有網址,不過建議訪問國內的(https://kubernetes.io/) metadata: ? ? ?# 元數據,(屬性數據,定義該pod的詳細信息,pod.metadata)name: mypod ?# 定義pod的名字,且是唯一性 spec: ? ? ? ? ?# 標志位,標志詳細信息,前面定義了資源對象,所以這里就是pod的詳細信息(pod.spec)containers: ?# pod里的容器- name: mylinux ?#相當于pod里面的容器(mypod.mylinux)image: 172.17.0.98:5000/myos:v1804 ? # 這個容器用的什么鏡像stdin: true ? ? ? ? ? ? ? ? ? ? ? ? ? # 標準輸出(相當與-i)tty: true ? ? ? ? ? ? ? ? ? ? ? ? ? ? # 終端(相當與-t) # 注:stdin,tty不寫默認是false ? ? ## 示例 # 創建容器 ~]# kubectl apply -f mypod.yaml pod/mypod created # 查看創建 ~]# kubectl get pods NAME ? ? READY ? STATUS ? RESTARTS ? ? AGE mypod ? 1/1 ? ? Running ? 0 ? ? ? ? ? ? 5s # 注意此時是沒有控制器的,所以可以直接刪除 ~]# kubectl get deployments.apps No resources found in default namespace. ~]# kubectl get replicasets.apps No resources found in default namespace # 直接刪除 ]# kubectl delete pods mypod pod "mypod" deleted ~]# kubectl get replicasets.apps No resources found in default namespace. ~]# kubectl get pods NAME ? ? READY ? STATUS ? RESTARTS ? ? AGE

?5.deploy資源控制器文件的書寫

# 由于創建不帶控制器的pod非常的不安全,所以這里創建帶控制器的pod ~]# vim myapache.yaml --- ? ? ? ? ? ? ? ? ? ? # 資源的開始 kind: Deployment ? ? ? ?# 資源對象的類型,為Deployment控制器 apiVersion: apps/v1 ? ? # 控制器的版本,查看deployment的版本(kubectl explain deployment) metadata: ? ? ? ? ? ? ? # 元數據,(屬性數據,定義該deployment控制器的詳細信息,deploy.metadata) name: myapache ? ? ? # 定義deploy控制器的名字,且是唯一性 annotations: ? ? ? ? # 附加信息,該字段保留,后續介紹kubernetes.io/change-cause: httpd.v1 spec: ? ? ? ? ? ? ? ? ? # 詳細定義,定義了資源對象控制器的詳細信息,(deploy.spec)selector: ? ? ? ? ? ?# 定義了控制器的標簽 ? matchLabels: ? ? ? ? ? myapp: httpd ? ? # 定義了標簽為httpd replicas: 1 ? ? ? ? ?# 定義pod副本數template: ? ? ? ? ? ?# 定義pod的資源模板metadata: ? ? ? ? ?# pod的元數據,(屬性數據,定義該pod的詳細信息,pod.metadata)labels: ? ? ? ? ?# 定義pod的標簽myapp: httpd ?# 標簽名 (由于創建了控制器所以不能給pod起名字,只能由控制器創建pod的名字,所以這里只定義了標簽)spec: ? ? ? ? ? ? ?# 定義pod的spec這里就是pod的詳細信息(pod.spec)containers: ? ? ?# pod里的容器- name: webcluster ? ?# 定義于pod里面的容器名字(mypod.webcluster)image: 172.17.0.98:5000/myos:httpd ?# 這個容器用的什么鏡像stdin: false ? ?# 標準輸出(相當與-i),由于這邊啟動的是apache,不需要交互試的終端輸出,所以這里同意設置flase,或者不寫也是可以的tty: false ? ? ?# 終端(相當與-t)ports: ? ? ? ? ?# 由于啟動的是服務所以要設置監聽端口號- protocol: TCP # 監聽的協議TCP containerPort: 80 ?# 監聽的端口是80restartPolicy: Always ?# 定義策略,pod維護容器的策略(策略:Always;OnFailure;Never)默認Always,Always表示容器一但死亡,則會重新創建;OnFailure表示只有當容器退出時$?!=0時才重啟,也就是啟動失敗才重啟;Never表示不管哪種都不重啟; ? # 創建 ~]# kubectl apply -f myapache.yaml deployment.apps/myapache created # 查看pod ~]# kubectl get pods NAME ? ? ? ? ? ? ? ? ? ? ? READY ? STATUS ? RESTARTS ? ? AGE myapache-9d7557448-nq8rw ? 1/1 ? ? Running ? 0 ? ? ? ? ? ? 17s # 查看一級控制器 ~]# kubectl get deployments.apps myapache ? 1/1 ? ? 1 ? ? ? ? ? 1 ? ? ? ? ? 3m49s # 查看二級控制器 ~]# kubectl get replicasets.apps NAME ? ? ? ? ? ? ? ? DESIRED ? CURRENT ? READY ? AGE myapache-9d7557448 ? 1 ? ? ? ? 1 ? ? ? ? 1 ? ? ? 4m # 測試 ~]# curl -ik http://10.244.2.4

6.標簽和選擇器的書寫格式

k8s 的 標簽 和 標簽選擇器 標簽 可以附加在 kubernetes 任何資源對象之上的鍵值型 數據 ,常用于 標簽選擇器 的匹配度檢查,從而完成資源篩選 資源 標簽 當 Kubernetes 對系統的任何API對象如Pod和節點進行“分組”時,會對其添加Label(key=value形式的“鍵-值對”)用以精準地 選擇 對應的API對象

lables是設置標簽,matchLabels匹配標簽

為了建立控制器和pod間的關聯,因為pod的名字是唯一的,如果起多個容器的話,不可以這么操作,所以kubernetes 先給每個pod打上一個標簽(Label),然后再給相應的位置定義標簽選擇器(Label Selector),引用這些標簽管理,而且資源控制器會給pod自動分配名字;

三.集群的管理

一個資源控制器可以控制多個pod

1.集群擴容

  • replicas 決定了集群pod數量

創建一個單節點的web容器

  • 在集群運行的過程中我們可以動態調整集群pod的數量

在創建文件之初設置容器副本數

~]# cat myapache.yaml --- ......replicas: 1 ? # 根據數字設置...... ? ?

在線修改設置,及時生效

# 先查看要擴容的容器的資源控制器,只有修改資源控制器才有效,而pod是被創建出來的 ~]# kubectl get deployment NAME ? ? ? READY ? UP-TO-DATE ? AVAILABLE ? AGE myapache ? 1/1 ? ? 1 ? ? ? ? ? ?1 ? ? ? ? ? 26m ? # 進入配置里修改 ~]# kubectl edit deployment myapache ....... replicas: 3 ? ?# 根據數字設置,這里設置3測試 ...... ? # 查看 ~]# kubectl get deployment myapache NAME ? ? ? READY ? UP-TO-DATE ? AVAILABLE ? AGE myapache ? 3/3 ? ? 3 ? ? ? ? ? ?3 ? ? ? ? ? 31m ~]# kubectl get pods ~]# kubectl get pods -o wide NAME ? ? ? ? ? ? ? ? ? ? ? READY ? STATUS ? RESTARTS ? ? AGE ? IP ? ? ? ? ? NODE ? ? ? ? ? ? NOMINATED NODE ? READINESS GATES myapache-9d7557448-59fxm ? 1/1 ? ? Running ? 0 ? ? ? ? ? ? 3m4s ? 10.244.1.4 ? vm-0-114-centos ? <none> ? ? ? ? ? <none> myapache-9d7557448-64fhh ? 1/1 ? ? Running ? 0 ? ? ? ? ? ? 109s ? 10.244.1.5 ? vm-0-114-centos ? <none> ? ? ? ? ? <none> myapache-9d7557448-brsbc ? 1/1 ? ? Running ? 0 ? ? ? ? ? ? 109s ? 10.244.2.4 ? vm-0-142-centos ? <none> ? ? ? ? ? <none> testos ? ? ? ? ? ? ? ? ? ? 1/1 ? ? Running ? 2 (23h ago) ? 24h ? ?10.244.1.2 ? vm-0-114-centos ? <none> ? ? ? ? ? <none>

scale 命令

# 先查看要擴容的容器的資源控制器,只有修改資源控制器才有效,而pod是被創建出來的 ~]# kubectl get deployment myapache NAME ? ? ? READY ? UP-TO-DATE ? AVAILABLE ? AGE myapache ? 3/3 ? ? 3 ? ? ? ? ? ?3 ? ? ? ? ? 31m ? ## 用scale設置 # 縮減 ~]# kubectl scale deployments.apps myapache --replicas=1 # 查看pod ~]# kubectl get deployment myapache NAME ? ? ? READY ? UP-TO-DATE ? AVAILABLE ? AGE myapache ? 1/1 ? ? 1 ? ? ? ? ? ?1 ? ? ? ? ? 35m ? # 擴展 ~]# kubectl scale deployments.apps myapache --replicas=3 # 查看pod ~]# kubectl get deployment myapache NAME ? ? ? READY ? UP-TO-DATE ? AVAILABLE ? AGE myapache ? 3/3 ? ? 3 ? ? ? ? ? ?3 ? ? ? ? ? 31m ~]# kubectl get pods -o wide NAME ? ? ? ? ? ? ? ? ? ? ? READY ? STATUS ? RESTARTS ? ? AGE ? IP ? ? ? ? ? NODE ? ? ? ? ? ? NOMINATED NODE ? READINESS GATES myapache-9d7557448-59fxm ? 1/1 ? ? Running ? 0 ? ? ? ? ? ? 3m4s ? 10.244.1.4 ? vm-0-114-centos ? <none> ? ? ? ? ? <none> myapache-9d7557448-64fhh ? 1/1 ? ? Running ? 0 ? ? ? ? ? ? 109s ? 10.244.1.5 ? vm-0-114-centos ? <none> ? ? ? ? ? <none> myapache-9d7557448-brsbc ? 1/1 ? ? Running ? 0 ? ? ? ? ? ? 109s ? 10.244.2.4 ? vm-0-142-centos ? <none> ? ? ? ? ? <none>

2.集群更新與回滾

1)查看控制器規則

kubectl get 資源對象 資源名稱 -o 格式

~]# kubectl get deployment myapache -o yaml ...... spec:progressDeadlineSeconds: 600replicas: 1revisionHistoryLimit: 10 ? ? ?# 保留最多10個歷史版本selector: ? ? ? ? ? ? ? ? ? ? matchLabels:myapp: httpdstrategy: ? ? ? ? ? ? ? ? ? ? # 更新策略 rollingUpdate: ? ? ? ? ? ? ?# 滾動更新maxSurge: 25% ? ? ? ? ? ? # 最多超過25%的副本數maxUnavailable: 25% ? ? ? # 最多有25%的副本不可用type: RollingUpdate ? ? ? ? # 更行方式(Recrete ,rollingUpdate)

2)deployment.spec.strategy支持兩種策略

  • Recrete

重建式更新,就是刪一個建一個(如果有一百個容器則會比較慢)

  • rollingUpdate

滾動更新,更新期間pod最多有幾個(相當與多線程操作,這邊刪,那邊創),滾動更新在創建的時候最多不能超過25%,最大有25%的副本數量在不可用(刪除)

示例

## 更新;把apache升級成nginx # 先查看原有配置及測試 ~]# kubectl get pods -o wide NAME ? ? ? ? ? ? ? ? ? ? ? READY ? STATUS ? RESTARTS ? ? AGE ? IP ? ? ? ? ? NODE ? ? ? ? ? ? NOMINATED NODE ? READINESS GATES myapache-9d7557448-brsbc ? 1/1 ? ? Running ? 0 ? ? ? ? ? ? 31m ? 10.244.2.4 ? vm-0-142-centos ? <none> ? ? ? ? ? <none> ~]# curl -ik http://10.244.2.4 this is apache # 在線修改 ......kubernetes.io/change-cause: nginx.v1 ?# 版本名 ..... - image: 172.17.0.98:5000/myos:nginx ? # 更新的鏡像 ..... ? # 查看 ]# kubectl get pods -o wide NAME ? ? ? ? ? ? ? ? ? ? ? READY ? STATUS ? ? ? ? ? ? RESTARTS ? ? ? AGE ? ? IP ? ? ? ? ? NODE ? ? ? ? ? ? NOMINATED NODE ? READINESS GATES myapache-5886d7b69b-bl7l4 ? 0/1 ? ? Running ? ?6 (3m42s ago) ? 9m34s ? 10.244.1.6 ? vm-0-114-centos ? <none> ? ? ? ? ? <none> ~]# curl -ik http://10.244.2.4 this is nginx ? ## 回滾 # 查看歷史記錄 ~]# kubectl rollout history deployment myapache deployment.apps/myapache REVISION CHANGE-CAUSE 1 ? ? ? ? httpd.v1 2 ? ? ? ? nginx.v1 # 回滾 ~]# kubectl rollout undo deployment myapache --to-revision=1 deployment.apps/myapache rolled back ~]# kubectl get pods -o wide NAME ? ? ? ? ? ? ? ? ? ? ? READY ? STATUS ? RESTARTS ? AGE ? ? IP ? ? ? ? ? NODE ? ? ? ? ? ? NOMINATED NODE ? READINESS GATES myapache-9d7557448-8gv62 ? 1/1 ? ? Running ? 0 ? ? ? ? 9m59s ? 10.244.2.6 ? vm-0-142-centos ? <none> ? ? ? ? ? <none> ~]# curl -ik http://10.244.2.4 this is apache ?

3.集群調度

容器的創建是隨機的,如何選擇固定的宿主機

1)nodeName標簽

容器創建是隨機的,選擇nodeName固宿主機

# 先查看原有的pod ~]# kubectl get pods -o wide NAME ? ? ? ? ? ? ? ? ? ? ? READY ? STATUS ? RESTARTS ? AGE ? IP ? ? ? ? ? NODE ? ? ? ? ? ? NOMINATED NODE ? READINESS GATES myapache-9d7557448-8gv62 ? 1/1 ? ? Running ? 0 ? ? ? ? 15h ? 10.244.2.6 ? node2 ? <none> ? ? ? ? ? <none> # 可以看出容器在node2上,那么此時修改yaml文件更新 ~]#vim myapache.yaml --- kind: Deployment apiVersion: apps/v1 metadata:name: myapacheannotations:kubernetes.io/change-cause: httpd.v1 spec:selector:matchLabels:myapp: httpd replicas: 1template:metadata:labels:myapp: httpdspec:nodeName: node1 ?# 在該配置文件中添加一行使其調度到node1containers: ? ? ? ? - name: webclusterimage: 172.17.0.98:5000/myos:httpdstdin: falsetty: falseports:- protocol: TCPcontainerPort: 80restartPolicy: Always ? ? ~]# kubectl apply -f myapache.yaml deployment.apps/myapache configured ? ~]# kubectl get pod -o wide NAME ? ? ? ? ? ? ? ? ? ? ? READY ? STATUS ? RESTARTS ? AGE ? IP ? ? ? ? ? NODE ? ? ? ? ? ? NOMINATED NODE ? READINESS GATES myapache-58fdbddd8d-m78jv ? 1/1 ? ? Running ? 0 ? ? ? ? 11s ? 10.244.1.8 ? node1 ? <none> ? ? ? ? ? <none>

注:如果添加了選則標簽,但無法使用該主機,POD將一直處于Pending狀態

使用 nodeName 參數讓容器運行在指定節點上

2)nodeSelector標簽

如何選擇一類宿主機?

需要提前為目標主機打上特定的標簽(可以是多臺)

在資源文件中根據標簽選擇宿主機(更加靈活)

node標簽的管理

nodeSelector是節點選擇約束的最簡單推薦形式

  • 可以給節點打上標簽,根據標簽來選擇需要的節點(標簽名任意)

  • 查看標簽

# 格式 ~]# kubectl get node --show-labels ? # 示例 ~]# kubectl get node --show-labels aster ? ? ? ? ? Ready ? control-plane,master ? 4d16h ? v1.23.2 ? beta.kubernetes.io/arch=amd64,....... node1 ? Ready ? <none> ? ? ? ? ? ? ? ? 2d22h ? v1.23.2 ? beta.kubernetes.io/arch=amd64,...... node2 ? Ready ? <none> ? ? ? ? ? ? ? ? 47h ? ? v1.23.2 ? beta.kubernetes.io/arch=amd64,......
  • 設置標簽

# 格式 ~]# kubectl label nodes <node-name> <label-key>=<label-value> ? # 示例,設置磁盤類型為ssd ~]# kubectl label nodes node2 disktype=ssd node/node2 labeled ~]# kubectl get node --show-labels NAME ? ? ? ? ? ? STATUS ? ROLES ? ? ? ? ? ? ? ? AGE ? ? VERSION ? LABELS ...... node2 ? Ready ? <none> ? ? ? ? ? ? ? ? 47h ? ? v1.23.2 ? .....disktype=ssd........
  • 刪除標簽
# 格式 ~]# kubectl label nodes <node-name> ? <label-key>- ? # 示例 ~]# kubectl label nodes node2 disktype- node/node2 unlabeled ~]# kubectl get node --show-labels NAME ? ? ? ? ? ? STATUS ? ROLES ? ? ? ? ? ? ? ? AGE ? ? VERSION ? LABELS master ? ? ? ? ? Ready ? control-plane,master ? 4d16h ? v1.23.2 ? beta.kubernetes.io/arch=amd64,beta.kubernetes.io/os=linux,kubernetes.io/arch=amd64,kubernetes.io/hostname=master,kubernetes.io/os=linux,node-role.kubernetes.io/control-plane=,node-role.kubernetes.io/master=,node.kubernetes.io/exclude-from-external-load-balancers= node1 ? Ready ? <none> ? ? ? ? ? ? ? ? 2d22h ? v1.23.2 ? beta.kubernetes.io/arch=amd64,beta.kubernetes.io/os=linux,kubernetes.io/arch=amd64,kubernetes.io/hostname=vm-0-114-centos,kubernetes.io/os=linux node2 ? Ready ? <none> ? ? ? ? ? ? ? ? 47h ? ? v1.23.2 ? beta.kubernetes.io/arch=amd64,beta.kubernetes.io/os=linux,kubernetes.io/arch=amd64,kubernetes.io/hostname=vm-0-142-centos,kubernetes.io/os=linux ?
  • 使用 標簽 讓容器運行在一些節點上

運用資源文件把容器跑在有標簽的節點組上

# 先運行標簽 ~]# kubectl label nodes node2 disktype=ssd node/node2 labeled # 修改配置文件 ]# cat myapache.yaml --- kind: Deployment apiVersion: apps/v1 metadata:name: myapacheannotations:kubernetes.io/change-cause: httpd.v1 spec:selector:matchLabels:myapp: httpd replicas: 1template:metadata:labels:myapp: httpdspec:nodeSelector: ? ? ?# 添加標簽組disktype: ssd ? ?# 綁定剛剛創建的標簽containers:- name: webclusterimage: 172.17.0.98:5000/myos:httpdstdin: falsetty: falseports:- protocol: TCPcontainerPort: 80restartPolicy: Alwa ~]# kubectl get node --show-labels NAME ? ? ? ? ? ? STATUS ? ROLES ? ? ? ? ? ? ? ? AGE ? ? VERSION ? LABELS ........ node2 ? Ready ? <none> ? ? ? ? ? ? ? ? 47h ? ? v1.23.2 ? disktype=ssd,..... ? ~]# kubectl get pod -o wide NAME ? ? ? ? ? ? ? ? ? ? ? READY ? STATUS ? RESTARTS ? AGE ? IP ? ? ? ? ? NODE ? ? ? ? ? ? NOMINATED NODE ? READINESS GATES myapache-7d685d5d66-shd86 ? 1/1 ? ? Running ? 0 ? ? ? ? 42s ? 10.244.2.7 ? node2 <none>

3)高級調度策略

親和與反親和

  • 親和可以理解成偏愛或喜好,同樣反親和可以理解成不喜歡

  • 在kubernetes 中親和特性在pod. spec. affinity中設置

  • 從親和的對象又可以分為(節點親和)和(容器親和)

  • 從親和的策略又可以分為(硬親和)和(軟親和)

手冊地址:

將 Pod 分配給節點 | Kubernetes

pod節點親和示例

親和示例

## 非強制性親和示例 # 先創建節點標簽 ~]# kubectl label nodes node2 app=myapp-apache # 創建yaml文件 ~]# vim web-example.yaml --- apiVersion: apps/v1 kind: Deployment metadata:name: web-example spec:selector:matchLabels:app: myapp-webreplicas: 3revisionHistoryLimit: 10strategy:rollingUpdate:maxSurge: 25%maxUnavailable: 25%type: RollingUpdatetemplate:metadata:labels:app: myapp-webspec:affinity: ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? podAffinity: ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? # pod的親和設置preferredDuringSchedulingIgnoredDuringExecution: ?# 親和性,表示更傾向于部署在指定節點上,但不是必須的- weight: 1 ? ? ? ? ? ? ? ?# weight范圍1-100。這個涉及調度器的優選打分過程,每個node的評分都會加上這個weight,最后bind最高的nodepodAffinityTerm: ? ? ? ? #指定pod要調度在含有標簽app=myapp-apache的節點上labelSelector: ? ? ? ? # 連接的標簽組 matchExpressions: ? - key: appoperator: Invalues:- myapp-apachetopologyKey: kubernetes.io/hostname ?# 用topologyKey表示,具體值用node label表示,調度器需要考慮這些pods是否滿足規則Ycontainers: ? ? ? - name: nginximage: 172.17.0.98:5000/myos:httpdports:- protocol: TCPcontainerPort: 80restartPolicy: Always ? # 創建 ~]# kubectl apply -fweb-example.yaml deployment.apps/web-example configured # 查看調度 ~]# kubectl get pods -o wide NAME ? ? ? ? ? ? ? ? ? ? ? ? ? READY ? STATUS ? RESTARTS ? AGE ? IP ? ? ? ? ? NODE ? ? ? ? ? ? NOMINATED NODE ? READINESS GATES web-example-558fd5cd9b-gs7v4 ? 1/1 ? ? Running ? 0 ? ? ? ? 9s ? 10.244.1.9 ? ? node1 ? <none> ? ? ? ? ? <none> web-example-558fd5cd9b-jlx97 ? 1/1 ? ? Running ? 0 ? ? ? ? 6s ? 10.244.1.10 ? node2 ? <none> ? ? ? ? ? <none> web-example-558fd5cd9b-tl67p ? 1/1 ? ? Running ? 0 ? ? ? ? 7s ? 10.244.2.17 ? node2 ? <none> ? ? ? ? ? <none> ? # affinity.podAffinity第二個表示創建的3個pod部署時要滿足傾向性親和性,創建的3個pod更傾向于部署在Pod的標簽為app=myapp-apache所在的節點上,并且所在的節點要含有kubernetes.io/hostname標簽。如下所示,上設置,app=myapp-apache的pod在kus-node2節點上,新創建的3個pod調度時要滿足傾向性親和性,最終2個pod調度在了k8s-node2上,1個pod調度在了k8s-node1上,更傾向于調度在k8s-node2上

# 強制親和性 ~]# vim web-example.yaml --- apiVersion: apps/v1 kind: Deployment metadata:name: web-example spec:selector:matchLabels:app: myapp-webreplicas: 3revisionHistoryLimit: 10strategy: ? ? ? ? ? ? ? ? ?# 設置滾動升級rollingUpdate:maxSurge: 25%maxUnavailable: 25%type: RollingUpdatetemplate:metadata:labels:app: myapp-webspec: ? ? ? ? ? ? ? ? ? ? ? ? # pod設置nodeName: vm-0-142-centos ? nodeSelector: ? ? ? ? ? ? ? # 指定標簽disktype: ssd affinity: ? ? ? ? ? ? ? ? ? # 親和設置podAffinity: ? ? ? ? ? ? ?# pod的親和設置requiredDuringSchedulingIgnoredDuringExecution: ? #強制親和性- labelSelector: ? ? ? ?# 連接的標簽組 matchExpressions: ? #指定pod要調度在含有標簽app=myapp-apache的節點上- key: appoperator: Invalues:- myapp-apachetopologyKey: kubernetes.io/hostname ? ?# 必須也要滿足此標簽要求containers:- name: nginximage: 172.17.0.98:5000/myos:httpdports:- protocol: TCPcontainerPort: 80restartPolicy: Always # affinity.podAffinity第一個表示部署apache時會創建3個pod,并且這3個pod要滿足強制親和性,要調度在節點含有標簽為app=myapp-apache的pod,并且,調度的節點要含有標簽kubernetes.io/hostname。如上設置,app=myapp-apache的pod在kus-node2節點上,所以創建的3個pod全部調度在了k8s-node2節點上

反親和示例

就是把podAffinity替換成podAntiAffinity

# 強制 ~]# vim web-example.yaml --- apiVersion: apps/v1 kind: Deployment metadata:name: web-example spec:selector:matchLabels:app: myapp-webreplicas: 3revisionHistoryLimit: 10strategy: ? ? ? ? ? ? ? ? ?rollingUpdate:maxSurge: 25%maxUnavailable: 25%type: RollingUpdatetemplate:metadata:labels:app: myapp-webspec: ? ? ? ? ? ? ? ? ? ? ? ? nodeName: vm-0-142-centos ? nodeSelector: ? ? ? ? ? ? ? disktype: ssd affinity: ? ? ? ? ? ? ? ? ? podAntiAffinity: ? ? ? ? ? ? ?# pod的反親和設置requiredDuringSchedulingIgnoredDuringExecution: ? #- labelSelector: ? ? ?matchExpressions: ?- key: appoperator: Invalues:- myapp-apachetopologyKey: kubernetes.io/hostname ? ?containers:- name: nginximage: 172.17.0.98:5000/myos:httpdports:- protocol: TCPcontainerPort: 80restartPolicy: Always # 非強制 ~]# vim web-example.yaml --- apiVersion: apps/v1 kind: Deployment metadata:name: web-example spec:selector:matchLabels:app: myapp-webreplicas: 3revisionHistoryLimit: 10strategy:rollingUpdate:maxSurge: 25%maxUnavailable: 25%type: RollingUpdatetemplate:metadata:labels:app: myapp-webspec:affinity: ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? podAntiAffinity: ? ? ? ? ? ?# pod的反親和設置preferredDuringSchedulingIgnoredDuringExecution: ?- weight: 1 ? ? ? ? ? ? ? ?podAffinityTerm: ? ? ? ?labelSelector: ? ? ? ? matchExpressions: ? - key: appoperator: Invalues:- myapp-apachetopologyKey: kubernetes.io/hostname ?containers: ? ? ? - name: nginximage: 172.17.0.98:5000/myos:httpdports:- protocol: TCPcontainerPort: 80restartPolicy: Always

node節點親和示例

## 反親和性 ~]# vim web-example.yaml --- apiVersion: apps/v1 kind: Deployment metadata:name: web-example spec:selector:matchLabels:app: myapp-webreplicas: 3revisionHistoryLimit: 10strategy:rollingUpdate:maxSurge: 25%maxUnavailable: 25%type: RollingUpdatetemplate:metadata:labels:app: myapp-webspec:affinity:nodeAffinity:preferredDuringSchedulingIgnoredDuringExecution: ?# 反親和性,表示更傾向于部署在指定節點上,但不是必須的- weight: 1preference:matchExpressions:- key: cpuoperator: Invalues:- highcontainers:- name: nginximage: 172.17.0.98:5000/myos:httpdports:- protocol: TCPcontainerPort: 80restartPolicy: Always ? # 創建容器 ~]# kubectl apply -f web-example.yaml deployment.apps/web-example configured # 查看 ]# kubectl get pods -o wide NAME ? ? ? ? ? ? ? ? ? ? ? ? ? READY ? STATUS ? RESTARTS ? AGE ? IP ? ? ? ? ? NODE ? ? ? ? ? ? NOMINATED NODE ? READINESS GATES web-example-64d897b884-f8gz5 ? 1/1 ? ? Running ? 0 ? ? ? ? 4s ? 10.244.2.31 ? node2 ? <none> ? ? ? ? ? <none> web-example-64d897b884-fqkj8 ? 1/1 ? ? Running ? 0 ? ? ? ? 5s ? 10.244.1.20 ? node1 ? <none> ? ? ? ? ? <none> web-example-64d897b884-pdsln ? 1/1 ? ? Running ? 0 ? ? ? ? 7s ? 10.244.2.30 ? node2 ? <none> ? ? ? ? ? <none> ? #因為非強制所以都可以分配 ? ## 強制反親和性 ? ~]# vim web-example.yaml --- apiVersion: apps/v1 kind: Deployment metadata:name: php-example spec:selector:matchLabels:app: myapp-phpreplicas: 1template:metadata:labels:app: myapp-phpspec:affinity:requiredDuringSchedulingIgnoredDuringExecution: ?#強制反親和性nodeSelectorTerms:- matchExpressions:- key: memoperator: Invalues:- high- midcontainers:- name: php-fpmimage: 192.168.1.100:5000/myos:php-fpmports:- protocol: TCPcontainerPort: 9000restartPolicy: Always # 查看pod的啟動此時就可以看到處于pengding狀態了 ]# kubectl get pods -o wide NAME ? ? ? ? ? ? ? ? ? ? ? ? ? READY ? STATUS ? RESTARTS ? AGE ? IP ? ? ? ? ? NODE ? ? ? ? ? ? NOMINATED NODE ? READINESS GATES 10.244.2.30 ? node2 ? <none> ? ? ? ? ? <none> web-example-77647fb5fd-85g4m ? 0/1 ? ? Pending ? 0 ? ? ? ? 3s ? <none> ? ? ? <none> ? ? ? ? ? <none> ? ? ? ? ? <none> # 是因為幾臺節點上都沒有標簽所以不知道跳哪天導致的報錯,這里給node1設置一個標簽,就可以跳到node2上 ~]# kubectl label node vm-0-114-centos mem=high ]# kubectl get pods -o wide NAME ? ? ? ? ? ? ? ? ? ? ? ? ? READY ? STATUS ? RESTARTS ? AGE ? IP ? ? ? ? ? NODE ? ? ? ? ? ? NOMINATED NODE ? READINESS GATES web-example-77647fb5fd-85g4m ? 1/1 ? ? Running ? 0 ? ? ? ? 14m ? 10.244.1.21 ? node1 ? <none> ? ? ? ? ? <none> web-example-77647fb5fd-9bc9f ? 1/1 ? ? Running ? 0 ? ? ? ? 41s ? 10.244.1.22 ? node1 ? <none> ? ? ? ? ? <none> web-example-77647fb5fd-9vf4k ? 1/1 ? ? Running ? 0 ? ? ? ? 39s ? 10.244.1.23 ? node1 ? <none> ? ? ? ? ? <none>

總結

以上是生活随笔為你收集整理的k8命令,pod的启动流程与资源文件书写,k8s集群调度的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

欧美日韩久 | 一级特黄aaa大片在线观看 | 成人网大片| 国产黄色片免费观看 | 99色网站 | 综合色久 | av免费看在线 | 亚洲一区二区视频在线播放 | 亚州精品成人 | 天天操天天吃 | 在线看黄色的网站 | 久久在线观看视频 | 国产视频在线免费观看 | 日日干网址| 国产精品精品国产 | 亚洲一区二区视频在线播放 | 这里只有精品视频在线观看 | 欧美看片| 日韩电影精品 | 天天操天天谢 | 久久精品观看 | 又黄又刺激视频 | 狠狠干.com | av色图天堂网 | 亚洲欧洲精品一区 | 欧美二区三区91 | av在线播放快速免费阴 | 99在线免费视频 | 国产精品久久视频 | 日批视频 | 日韩av高潮 | 日韩精品免费一区二区 | 91麻豆操 | 日韩理论电影在线观看 | 欧美精品免费视频 | 97成人免费 | 国产婷婷vvvv激情久 | 91精品国产成人观看 | 91精品看片| 一区二区三区视频在线 | 麻豆视频免费看 | 狠狠色丁香九九婷婷综合五月 | 精品国产一区二区三区免费 | 91视频在线观看免费 | 久久精品视频在线看 | 国产一级二级在线播放 | 日韩三级视频在线观看 | 欧美日韩视频 | 四虎影视www | www亚洲国产 | 国产精品视频地址 | 成人午夜剧场在线观看 | 日韩精品2区 | 一区二区三区在线观看免费 | 激情图片久久 | av免费在线播放 | 亚洲日本国产精品 | a视频在线| 日韩av手机在线观看 | 久久久精品福利视频 | 视频在线一区 | 国产精品久久久久久久99 | 日韩高清国产精品 | 亚洲欧美日韩国产一区二区三区 | 黄色av成人在线 | 一本到视频在线观看 | 狠狠操狠狠操 | 在线观看v片 | 国产精品久久久久永久免费观看 | 96av视频 | 国产精选视频 | 国产69精品久久久久99 | 久久免费视频这里只有精品 | 国产精品久久久久久久久久白浆 | 黄色亚洲大片免费在线观看 | 久久综合五月 | 99re热精品视频| 777久久久| 久久乐九色婷婷综合色狠狠182 | 在线观看国产中文字幕 | 亚洲国产午夜视频 | 日本丰满少妇免费一区 | 草免费视频 | 永久免费观看视频 | 99久视频| 欧美日韩激情视频8区 | 激情欧美日韩一区二区 | 永久免费的av电影 | 在线 你懂 | 9797在线看片亚洲精品 | 久久视频99 | 国产精品中文字幕av | 久久久人| 丁香六月在线观看 | 视频在线一区 | 91丨九色丨国产在线 | 日韩在线观看网站 | 免费在线观看av网站 | 精品国产视频在线观看 | 99视频99| 国产精品毛片一区 | 伊人开心激情 | 视频在线精品 | 五月婷婷视频在线 | 欧美精品久久久久久久免费 | 五月天综合网站 | 91麻豆传媒 | 久久成人午夜 | 天天爽人人爽夜夜爽 | 99精品热视频只有精品10 | 天天干天天做天天操 | 九九欧美| 成人黄色在线观看视频 | 日韩色一区二区三区 | 毛片网在线观看 | 免费在线观看一区二区三区 | 天天操天天吃 | 国产精品国产三级国产aⅴ无密码 | 亚洲精品五月天 | 日韩av电影中文字幕 | 粉嫩aⅴ一区二区三区 | 成人三级网站在线观看 | 亚洲综合成人婷婷小说 | 99久久久久免费精品国产 | 日韩精品免费一区二区三区 | 国产一区久久 | 最近在线中文字幕 | 99久久精品国产网站 | 在线视频1卡二卡三卡 | 成人免费共享视频 | 亚州精品国产 | 欧美日韩3p| 欧美一区日韩精品 | 日韩欧美电影网 | 精品国内自产拍在线观看视频 | 999电影免费在线观看 | 日韩最新中文字幕 | 日韩激情片在线观看 | 欧美一区二区在线免费观看 | 国产裸体永久免费视频网站 | 久久午夜精品视频 | 成人黄色在线视频 | 日韩免费视频观看 | 日韩在线观看视频一区二区三区 | 免费成人在线视频网站 | 黄色小说在线观看视频 | 四虎在线永久免费观看 | 九九久久免费视频 | 九九久久电影 | 黄色毛片在线看 | 国产精品99久久久精品 | 精选久久 | 黄色动态图xx | 99热这里精品 | 99精品偷拍视频一区二区三区 | 国产又黄又猛又粗 | 国产三级在线播放 | 亚洲涩涩涩涩涩涩 | 精品国产aⅴ麻豆 | 免费看黄在线观看 | 国产区精品区 | 中文在线字幕免费观 | 久久国产日韩 | 91视频免费看片 | 国产成人一区二区在线观看 | 一区二区理论片 | 国产精品97| 全久久久久久久久久久电影 | 欧美日韩中文字幕在线视频 | 国产精久久 | 亚洲国产精品人久久电影 | 91片在线观看 | 天堂av免费在线 | 免费三级黄 | 亚洲一区欧美精品 | 日本久久视频 | 天天五月天色 | 国产精品高清免费在线观看 | 久久婷亚洲五月一区天天躁 | 亚洲视频99 | 国产精品私人影院 | 激情xxxx | 久久国产视频网站 | 不卡av在线播放 | 在线看国产视频 | 在线观看韩国av | 99情趣网视频 | 国产精品日韩高清 | www.黄色片网站 | 91精品在线免费观看视频 | 777奇米四色 | 欧美日韩精品区 | 国产一级做a| 黄色av网站在线观看 | 久久美女免费视频 | 一区二区三区 中文字幕 | 国内精品久久久久影院日本资源 | 免费黄色在线 | 园产精品久久久久久久7电影 | 久久久久久久久久久久久久电影 | 天无日天天操天天干 | 又黄又爽又色无遮挡免费 | 国产亚洲日 | 久久精品视频观看 | 国产精品成人久久久 | 久久国产精品第一页 | 一本一道久久a久久精品蜜桃 | 91探花视频 | 久久久影片 | 五月婷在线观看 | 亚洲精品一区二区三区四区高清 | 久草资源免费 | 五月婷婷av在线 | 在线观看av的网站 | 欧美91av | 最近免费中文视频 | 一区二区日韩av | 黄色片网站大全 | 免费一级片视频 | 丁香婷婷久久久综合精品国产 | 五月天久久综合网 | 91九色porny蝌蚪主页 | 中文字幕av在线电影 | 国产999久久久 | 免费情缘| 偷拍视频一区 | 久久美女电影 | 久久成 | 国产一区二区电影在线观看 | 一区二区三区在线观看中文字幕 | 国产九九热| 五月激情五月激情 | 久久精品五月 | 国产亚洲精品久久久久久网站 | 青草草在线| 久草在线精品观看 | 欧美性生爱 | 国产在线国偷精品产拍 | 日韩欧美在线视频一区二区 | 奇人奇案qvod | 国产九九热 | 激情久久小说 | 久久精品男人的天堂 | www.狠狠操| 中文字幕亚洲国产 | 中文字幕在线播放视频 | 欧美精品乱码久久久久久 | 91色国产在线 | 波多野结衣在线观看一区 | 91污视频在线观看 | 久久1区| 国产精品久久二区 | 国产精品乱码一区二三区 | 69国产盗摄一区二区三区五区 | 亚洲情感电影大片 | 国产69精品久久久久99 | 丁香激情综合久久伊人久久 | 婷婷伊人网| 中文字幕电影一区 | 91尤物在线播放 | 岛国大片免费视频 | 在线播放91 | 国产 视频 高清 免费 | 天天插日日射 | 岛国精品一区二区 | 91桃色免费观看 | 日韩a在线| 国产日韩精品欧美 | 日本精品一区二区三区在线观看 | 狠狠色丁香婷婷 | 天天操欧美 | 久久视讯 | 日韩毛片精品 | 国产精品久久久网站 | a天堂中文在线 | 久久久视频在线 | 亚洲成色777777在线观看影院 | 亚洲精品天天 | 久久久久99999 | 国产成人av网址 | 精品成人a区在线观看 | 欧美色图另类 | 国产亚洲精品女人久久久久久 | 天天干天天射天天操 | 在线精品视频免费播放 | 欧美精品久久久久久久久久久 | 99视频在线精品国自产拍免费观看 | 欧美精品三级在线观看 | www欧美xxxx| 久久久首页 | 91免费在线看片 | 激情开心网站 | 久久免费av电影 | 在线韩国电影免费观影完整版 | 在线色资源 | 日韩在线播放欧美字幕 | 国产精品亚洲视频 | h网站免费在线观看 | 国产精品无av码在线观看 | 久久人人爽人人爽人人片av软件 | 91一区啪爱嗯打偷拍欧美 | 欧美在线视频一区二区三区 | 色婷婷a| 国产成人久久 | 亚洲精品黄色在线观看 | 久久精品日产第一区二区三区乱码 | 国产一级片毛片 | 91精品啪在线观看国产 | 人人插人人澡 | 国产午夜一区二区 | 国产成人精品一区二区三区免费 | 丝袜美女在线观看 | 久久久久国产精品免费网站 | 在线观看视频黄 | 97在线视频免费播放 | 最近中文国产在线视频 | 国产免费观看久久黄 | 狠狠狠干狠狠 | 狠狠色丁香久久综合网 | 蜜臀av性久久久久蜜臀aⅴ四虎 | 久久久久国产视频 | 亚洲国产成人在线观看 | 在线免费观看黄色 | 在线观看一级视频 | 久久精品国产精品亚洲精品 | 一级黄色片在线观看 | 中文av字幕在线观看 | 国产精品久免费的黄网站 | 国产精品96久久久久久吹潮 | 久久久久亚洲国产 | 偷拍精偷拍精品欧洲亚洲网站 | 天天干天天摸天天操 | 日韩三级一区 | 国产淫片免费看 | 精品影院一区二区久久久 | 狠狠色伊人亚洲综合成人 | 免费精品国产va自在自线 | 国产手机视频在线播放 | 国产免费作爱视频 | 一区中文字幕在线观看 | 亚洲精品久久久久久久不卡四虎 | 亚a在线| 97av影院 | 亚洲精品国产日韩 | 亚州黄色一级 | 香蕉视频在线免费看 | 亚洲成人黄色av | 国产精品毛片一区视频 | 成人黄色在线播放 | 在线中文字母电影观看 | 国产一级淫片免费看 | 日韩一区二区三区免费视频 | 日韩欧美在线免费观看 | 91九色精品女同系列 | 欧美不卡视频在线 | 中文字幕在线免费看 | 婷婷丁香激情综合 | 亚洲国内在线 | 久久亚洲欧美日韩精品专区 | 西西www444| 久久成人在线视频 | 国产99久久久精品 | 色av色av色av | 欧美日韩视频在线一区 | 在线你懂| 香蕉视频日本 | 日本中文在线 | 国产麻豆剧果冻传媒视频播放量 | 欧美成人精品在线 | 国产成人免费精品 | 久久免费国产精品1 | 激情五月在线 | 免费www视频 | 国产精品久久久99 | 久免费视频 | 国产综合香蕉五月婷在线 | 日韩二区三区 | 欧美极品少妇xxxxⅹ欧美极品少妇xxxx亚洲精品 | 成人在线播放av | 中文字幕中文字幕中文字幕 | 丰满少妇在线观看资源站 | 久久字幕网 | 欧美高清成人 | 国产探花在线看 | 久久精品久久99 | 成人av在线影视 | 丁香六月婷| 久久免费播放 | 色婷婷综合久久久久中文字幕1 | 国产成人精品区 | 日本久久免费电影 | 国产在线播放一区二区 | 色www. | 国产在线观看中文字幕 | 亚洲视频六区 | 国产一级免费在线 | 久久综合色一综合色88 | 狠狠狠狠干 | 色妞色视频一区二区三区四区 | 九九交易行官网 | 黄污视频大全 | 色婷婷综合久色 | 欧美日韩在线免费观看 | 99综合电影在线视频 | 亚洲va在线va天堂va偷拍 | 日日夜夜精品免费视频 | 久草在线手机观看 | 五月天色丁香 | 国产精品女主播一区二区三区 | 人人搞人人爽 | 国产在线美女 | 亚洲视频精品 | 亚洲丝袜一区 | 久久国产精品久久精品 | 免费在线观看午夜视频 | 婷婷丁香激情五月 | 欧美视频在线观看免费网址 | 免费在线观看av网址 | 97涩涩视频 | 免费av在线网 | 97视频在线观看视频免费视频 | 天天操天天色天天射 | 亚洲a色 | 久久精品国产v日韩v亚洲 | 免费h精品视频在线播放 | 日韩免费观看视频 | 日韩视频1 | 日韩黄色在线观看 | 国产小视频在线播放 | 国产亚洲精品福利 | 99久久久国产精品免费99 | 亚洲国产精品推荐 | 夜夜嗨av色一区二区不卡 | 特级毛片网站 | 日本中文字幕在线播放 | 日韩视频在线观看视频 | 91丨九色丨国产丨porny精品 | 丁香av在线 | 久久久亚洲麻豆日韩精品一区三区 | 97超碰人人 | 国产欧美综合在线观看 | 国产精品久久久久久久久久久杏吧 | 四虎在线视频免费观看 | 黄色不卡av | 久久久综合精品 | 天天天在线综合网 | 十八岁免进欧美 | 精品视频资源站 | 日日夜夜操av | 久久久精品一区二区三区 | 中文字幕中文字幕中文字幕 | 久久成人精品 | 国产精品黄网站在线观看 | 日韩在线一二三区 | 午夜丰满寂寞少妇精品 | 精品婷婷 | 国产视频日韩视频欧美视频 | 国产成人亚洲在线电影 | 国产乱对白刺激视频在线观看女王 | 成人毛片在线视频 | 在线一二区 | 国语精品免费视频 | 色99之美女主播在线视频 | 狠狠的干狠狠的操 | 9在线观看免费高清完整版 玖玖爱免费视频 | 国产黄色看片 | 毛片网在线播放 | 久久久夜色| 一级黄色a视频 | 国产成人综合图片 | 国产精品成人一区二区三区吃奶 | 国产成人三级一区二区在线观看一 | 国产精品青草综合久久久久99 | 亚洲小视频在线 | 日韩av网站在线播放 | 免费高清看电视网站 | 免费网站在线观看成人 | 樱空桃av | 国产精品情侣视频 | 麻豆一区二区三区视频 | 亚洲精品乱码久久久久久蜜桃91 | 亚洲精品综合一二三区在线观看 | 久久久久久久久久久久国产精品 | 国产在线免费av | 99久久999久久久精玫瑰 | 色综合久久网 | 亚洲精品免费视频 | 亚洲在线国产 | 国产一区二区高清不卡 | 三级av网站 | 婷婷夜夜| 午夜视频在线观看一区二区三区 | 久久婷婷五月综合色丁香 | 亚洲,播放 | 亚洲精品字幕在线观看 | 亚洲精品在线免费看 | 久久久久成| 五月婷婷香蕉 | 欧美一区在线观看视频 | 日韩最新中文字幕 | 97在线视频免费 | 亚洲午夜久久久久久久久 | 中文字幕国产一区二区 | 国内丰满少妇猛烈精品播 | 天天插狠狠插 | 天天色天 | zzijzzij亚洲日本少妇熟睡 | 久久综合婷婷 | 一区二区观看 | 成人高清在线观看 | 高清一区二区 | 日韩在线免费视频 | 国产精品久久久久亚洲影视 | 99自拍视频在线观看 | 国产欧美最新羞羞视频在线观看 | 一区二区中文字幕在线播放 | 久久精品国产精品亚洲精品 | 天天干天天拍天天操天天拍 | 久草视频在线免费看 | 在线日韩一区 | 欧美色图88| 久久国产精品一区二区三区 | 欧美日韩国产一区 | 国产剧情在线一区 | 日韩精品久久久久久久电影竹菊 | 久久精品观看 | 日韩毛片在线一区二区毛片 | 亚洲狠狠婷婷 | 成人激情开心网 | 亚洲aaa级| 国产激情小视频在线观看 | 日韩精品视频久久 | 日本高清中文字幕有码在线 | 96精品在线| 精品一区 精品二区 | 成人精品一区二区三区中文字幕 | 天天操天天射天天爽 | 97精品国产97久久久久久 | 久久精品婷婷 | 成年人免费观看在线视频 | 波多野结衣电影一区二区 | 久久久久久久国产精品影院 | 国产午夜三级一二三区 | 黄色一级大片在线免费看产 | 黄污网站在线 | 中文字幕欧美三区 | 久久久久国产精品视频 | 天天色视频 | 九九九九免费视频 | 色成人亚洲 | 久久综合久久综合九色 | 免费视频国产 | 日韩高清av在线 | 三级黄色片子 | 国产人成精品一区二区三 | 99色免费 | av色一区| 成人高清在线 | 日韩在线 一区二区 | 亚洲一区二区三区在线看 | 日本黄色免费播放 | 香蕉视频免费在线播放 | 久久视频这里只有精品 | 免费a v视频| 中文字幕在线精品 | 亚洲精品男人的天堂 | 精品免费视频123区 午夜久久成人 | 成人在线视频免费看 | 毛片随便看 | 国产精品成 | 国产一级淫片在线观看 | 四虎国产精品免费观看视频优播 | 国产精品久久久久免费a∨ 欧美一级性生活片 | 男女全黄一级一级高潮免费看 | 亚洲女人av| 久草网站 | 成人av高清在线 | 亚洲黄色成人网 | 日韩高清免费电影 | 日批在线看 | 亚洲天天摸日日摸天天欢 | 91入口在线观看 | 黄色a视频免费 | a在线免费观看视频 | 337p日本欧洲亚洲大胆裸体艺术 | 性色av一区二区三区在线观看 | 亚洲狠狠 | 深爱激情综合 | 国外av在线 | 久久看看| 99精品国产福利在线观看免费 | 欧洲高潮三级做爰 | 久久中文精品视频 | 91色视频| 激情婷婷六月 | 久草线 | 亚洲精品视频在线观看免费视频 | 91一区一区三区 | 九九在线视频免费观看 | 色悠悠久久综合 | 成 人 黄 色 视频 免费观看 | 美女搞黄国产视频网站 | 国产精品久久久久久一区二区 | 日韩黄色免费电影 | 国产一区二区在线播放视频 | 久久久久女教师免费一区 | 免费的成人av | 一本一本久久a久久精品综合 | 999久久久久久久久久久 | av福利电影 | 天天插天天干 | 99精品免费久久久久久久久 | 日日爱999 | 蜜臀av性久久久久av蜜臀妖精 | 亚洲狠狠丁香婷婷综合久久久 | 久久久久福利视频 | 国产成人av一区二区三区在线观看 | 九九九热精品免费视频观看 | 在线观看91av| 免费一区在线 | 免费在线观看一区 | 国产喷水在线 | 亚洲国产精品一区二区尤物区 | 亚洲高清久久久 | 色99之美女主播在线视频 | 国产99自拍 | 欧美a级成人淫片免费看 | 激情综合网色播五月 | 91夫妻视频 | 麻豆视频在线 | 91av免费在线观看 | 国产高清福利在线 | 视频91| 干av在线| 久久人操| 亚洲成人黄色av | 国产在线播放一区 | 国产精品99免视看9 国产精品毛片一区视频 | 最近字幕在线观看第一季 | 一区二区三区精品在线视频 | 超碰人人射 | 日韩区在线观看 | 一本到视频在线观看 | 欧美国产精品一区二区 | 国产精品成人久久久久 | 高清国产午夜精品久久久久久 | 日韩免费观看高清 | 97视频在线观看免费 | 天天爱天天射天天干天天 | 91看片网址 | 日韩精品一区二区三区免费观看视频 | 久久免费av| 国产拍揄自揄精品视频麻豆 | 18性欧美xxxⅹ性满足 | 久久免费看a级毛毛片 | 久久午夜国产精品 | 日韩av高清在线观看 | 久久精品99国产精品亚洲最刺激 | 国产一级性生活视频 | 午夜12点| 日日干天天爽 | 亚洲免费视频在线观看 | av高清在线 | 99这里只有久久精品视频 | 国产中出在线观看 | 日本夜夜草视频网站 | 欧洲在线免费视频 | 国产成人精品不卡 | 国产91影院 | 亚洲va在线va天堂va偷拍 | 99久免费精品视频在线观看 | 日韩欧美高清在线观看 | 丁香六月色 | 国产精品福利久久久 | 欧美日韩不卡一区二区三区 | 成人黄在线观看 | 亚洲午夜久久久影院 | 人人干人人添 | 婷婷四房综合激情五月 | 日韩午夜精品 | 天天操天天爱天天干 | 亚洲国产精品成人av | 中文字幕最新精品 | 久久人人爽人人爽人人 | 国产69精品久久久久久 | 日本激情视频中文字幕 | 久久精品国产精品亚洲精品 | 中文字幕在线免费看 | 亚洲综合色av | 日韩精品视频在线观看网址 | 日韩精品一区二区三区高清免费 | 国产69久久精品成人看 | 日本三级在线观看中文字 | 国产精品久久在线 | 狠狠精品 | www.干| 狠狠88综合久久久久综合网 | 丁香网五月天 | 国产免费一区二区三区网站免费 | 欧美另类一二三四区 | 国内久久看 | 亚洲精品视频在线观看网站 | 精品久久一级片 | 日韩av高清 | av丝袜在线 | 成人在线电影观看 | 黄色免费观看视频 | 99国产精品| 最近中文字幕免费视频 | 国产美女视频 | 欧美日韩一区二区免费在线观看 | 亚洲精品网站 | 黄毛片在线观看 | 国产精品一区在线观看 | 中文字幕在线观看播放 | 天天干 夜夜操 | 综合色综合 | 欧美激情精品久久久久久免费印度 | 99色视频在线 | 91在线免费视频观看 | 欧美九九九 | 最新中文在线视频 | 国产精品免费不卡 | 国产精品久久久久影视 | 免费久久久久久 | 色在线高清| 国产特级毛片aaaaaa毛片 | 中文字幕 第二区 | 国产老太婆免费交性大片 | 黄色免费看片网站 | 一级成人免费 | 欧美大jb | 美女在线免费观看视频 | 成人动态视频 | 久久亚洲人 | 欧美夫妻生活视频 | 激情婷婷在线 | 久久久精品高清 | 亚洲狠狠婷婷 | 免费视频一区 | 亚洲精品国产精品乱码不99热 | 欧美一级激情 | 久久成人视屏 | 中文字幕高清在线播放 | 国产麻豆精品传媒av国产下载 | 91精品国产成 | 91av在线免费视频 | 激情久久五月 | 在线免费国产视频 | 免费观看成人 | 国产精品一区二区免费 | 欧美-第1页-屁屁影院 | 91成年人在线观看 | 91自拍视频在线观看 | 黄色三级在线看 | 精品国产一区二区久久 | 一级黄色网址 | 久草在线资源观看 | 国产手机在线观看视频 | 美女网站久久 | 久影院| 一 级 黄 色 片免费看的 | 亚洲精品黄网站 | 国产毛片久久久 | www.av免费 | 亚洲精品乱码久久久久久蜜桃不爽 | 精品国产一区二区三区四 | 麻豆视传媒官网免费观看 | 国产精品久久三 | 五月天国产精品 | 国产91在线播放 | 天天干天天操天天 | 91久久国产综合精品女同国语 | 狠狠干美女 | 成人高清在线观看 | 国产精品久久久久久久久久免费看 | 三级黄色理论片 | 四虎在线免费视频 | av成人在线网站 | 狠狠干.com | 99热精品国产一区二区在线观看 | 日本99热| 国产最新视频在线 | 又黄又刺激视频 | 三级性生活视频 | 国产中文字幕一区 | 五月婷婷丁香六月 | 91看片在线看片 | 色五月色开心色婷婷色丁香 | 97操操操| 91av免费看 | 国产精品白虎 | 九九热在线免费观看 | 亚洲国产婷婷 | 香蕉网在线 | 激情久久久久久久久久久久久久久久 | 亚洲一区二区观看 | 丁香在线观看完整电影视频 | 精品uu | 丁香激情综合国产 | 亚洲精品www | 欧美日本不卡视频 | 亚洲国内精品在线 | 亚洲精品视频在线免费播放 | 91xav| 怡红院久久| 国产一区在线视频播放 | 久久免费视频网 | 在线免费黄色av | 亚洲日本精品视频 | 精品久久99 | 亚洲国产日韩欧美在线 | 亚洲国产高清在线 | www.婷婷com| 日韩免费在线观看网站 | 中文字幕在线观看免费高清电影 | 天堂av在线免费 | 亚洲欧美精品一区二区 | 欧美精品久久久久久久 | 狠狠干天天干 | 在线视频你懂 | 亚洲美女精品 | 超碰在线97观看 | 黄色三级在线 | 久久久久久久久久久网站 | 欧美一区二区三区免费看 | 国产专区一 | 成人av午夜 | 丰满少妇高潮在线观看 | 成人丁香花 | 狠狠色丁香久久综合网 | 精品国产一区二区三区四区在线观看 | 欧美天堂影院 | 精品久久网 | 国产美女被啪进深处喷白浆视频 | 国产精品综合久久久久 | 久草网站| 最新av在线播放 | 久久久久国产一区二区三区 | 四虎永久精品在线 | 91在线看视频| 国产看片网站 | 日韩精品在线免费播放 | 免费久久99精品国产 | 精品一区精品二区 | 国产97色在线 | 午夜精品久久久99热福利 | 亚洲国产97在线精品一区 | 日韩一区二区免费播放 | 久久综合欧美 | 久久高清国产 | 中文成人字幕 | 欧产日产国产69 | 久久这里只有精品视频首页 | www.888av | 国产精品日韩在线观看 | 亚洲激情在线观看 | 在线国产黄色 | 69中文字幕 | 天天摸日日操 | 成人av中文字幕在线观看 | 久久精品电影 | 亚洲精品大全 | 久久久久亚洲精品成人网小说 | 狠狠色伊人亚洲综合网站野外 | 国产v亚洲v | 国产在线探花 | 蜜桃av人人夜夜澡人人爽 | 在线观看黄色大片 | 国产美女免费观看 | 久艹视频在线观看 | 欧美高清成人 | 黄色日批网站 | 国产精品久久久区三区天天噜 | 日韩视频精品在线 | 国产原创av在线 | 精品99视频 | 久久久久久激情 | 欧美激情视频一二区 | 91女人18片女毛片60分钟 | 岛国精品一区二区 | 午夜精品一二区 | 人人爱在线视频 | 国产成人av电影 | 日韩av一区在线观看 | 在线免费视频一区 | 国产最新在线观看 | 国产亚洲精品久久久久动 | 成年美女黄网站色大片免费看 | 免费av在 | 99在线观看 | 婷婷六月中文字幕 | 久草综合视频 | 日韩精品免费在线观看视频 | 欧美男女爱爱视频 | 一级片视频在线 | 99精品影视 | 久久精品高清 | 国产丝袜在线 | av丝袜在线| 在线视频久久 | 天天综合网久久综合网 | 午夜少妇一区二区三区 | 亚洲欧美成人网 | 天天综合狠狠精品 | 久草网站在线 | 久久99国产一区二区三区 | 国产专区在线 | 欧美成a人片在线观看久 | 亚洲精品免费在线观看 | 久久99国产精品视频 | 日韩精品影视 | 国产精品欧美久久久久久 | 国产成人一区二区三区久久精品 | 17婷婷久久www | 日日爱夜夜爱 | 亚洲精品免费在线播放 | 久久国产精品久久久 | 国产69精品久久久久久 | 日韩电影在线观看一区二区三区 | 西西44人体做爰大胆视频 | 在线播放日韩av | 久久精品免费看 | 免费看黄的视频 | av不卡中文字幕 | 日韩一区二区三区在线看 | 久久久人人人 | aaa日本高清在线播放免费观看 | 97视频免费在线观看 | 日本精品免费看 | 激情小说 五月 | 久青草影院 | 99九九视频 | 一区二区三区久久 | 久久久高清一区二区三区 | 黄色大片视频网站 | 五月婷婷在线视频观看 | 最近高清中文在线字幕在线观看 | 中文在线免费视频 | 日韩高清在线一区 | 精品一区二区视频 | 在线免费观看麻豆视频 | 午夜精品婷婷 | 国产成人精品国内自产拍免费看 | 超碰在线日本 | 在线一区二区三区 | 中文字幕在线观看你懂的 | 欧美性久久久 | 免费在线国产精品 | 亚洲理论在线观看电影 | 日本不卡123区 | 亚洲理论电影 | 国产精品久久久久久高潮 | 国产综合久久 | 日韩精品一区二区久久 | av网址aaa| 亚洲综合爱 | 在线精品视频免费播放 | 精品a视频| 精品一区精品二区高清 | 日韩激情视频在线 | 日韩在线观看免费 | 九九免费在线观看视频 | 97人人射 | 国产精品视频999 | 亚洲精品国产日韩 | 国产综合精品一区二区三区 | 国产视 | 最近最新最好看中文视频 | 国产午夜激情视频 | 在线观看视频黄 | 精品久久久免费视频 | 美女视频免费一区二区 | 综合网天天射 | 久久久穴 | 福利一区二区三区四区 | 亚洲成人资源网 | www国产亚洲 | 久久久国产一区 | 欧美一性一交一乱 | 成年人免费看 | 黄色国产高清 | 日本中文在线播放 | 国产精品久久久久久久久久ktv | 中文字幕乱码视频 | 超碰在线1 | 国产精品69av | 91在线免费观看网站 | 欧美精品一区二区蜜臀亚洲 | 免费成人短视频 | 日韩一区二区三区免费视频 | 中文字幕在线观看日本 | 中文字幕在线观看一区二区三区 | 在线国产小视频 | 99这里只有久久精品视频 | 天天操夜夜爱 | 欧美一级视频免费 | 亚洲高清视频在线 |