Kuberenetes系統學習(五)-----pod的調度

		在k8s中,Pod在大部分場景下都只是容器的載體而已,通常需要通過Deployment,DaemonSet,RC,Job等對象來完成一組Pod的調度與自動控制功能.

1、Deployment/RC:全自動調度
Deployment或RC的主要功能之一是自動部署一個容器應用的多份副本,以及持續監控副本的數量,在集羣內始終維持用戶指定的副本數量.
nginx-deploymnet.yaml

apiVersion: apps/v1beta1
kind: Deployment
metadata: 
	name: nginx-deployment
spec: 
	replicas: 3
	template: 
		metadata: 
			labels:
				app: nginx	 

2、NodeSelector:定向調度
1)首先通過kubectl label命令給目標Node打上一些標籤
我們給k8s-node-1節點打上一個Zone=north的標籤,表明它是“北方”的一個節點

kubectl label nodes k8s-node-1 zone=north

2)然後,在Pod的定義上加上nodeSelector的設置,以redis-master-controller.yaml爲例:

apiVersion: v1
kind: ReplicationController
metadata:
	name: redis-master
	labels: 
		name: redis-master
		spec:
			containers:
			- name: master
			  image: kubeguide/redis-master
			  ports:
			  - containerPort: 6379
			  nodeSelector:
			  zone: north

3、NodeAffinity:Node親和性調度容器的健康檢查

pod通過兩類探針來檢查容器的健康狀態.
1、LivenessProbe,用於判斷容器是否健康並反饋給kubelet.
如果不健康,kubelet將刪除該容器,
2、ReadinessProbe探針,用於判斷容器是否啓動完成,且準備接收請求.
如果檢測到啓動失敗,pod的狀態將被修改.

請關注掃描下方公衆號,獲取更多信息
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章