控制器:
Deployment:
Deployment概述:
replicaset:自動創建pod的控制器
Delpoyment控制器:
pod的名字需要唯一,在這不寫名字,利用標簽進行創建
replicas:表示你想要克隆的數量,selector:通過標簽.識別哪個pod是我創建出來的.這里的標簽和后面元數據里的標簽要一致.
ClusterIP服務:
就可以訪問集群ip達到訪問到后端節點資源
Pod維護與管理:
如果集群后端節點出現故障斷開,deployment立馬會創建新的pod接替工作!
集群擴縮容:
一條命令就夠了
kubectl scale deployment 控制器名稱 --replicas=1
通過標簽統計
歷史版本信息:
#查看歷史版本
kubectl rollout history deployment myweb
#添加注釋信息
kubectl annotate deployments myweb kubernetes.io/change-cause="httpd.v1"
滾動信息:
版本回滾:
#歷史版本與回滾
kubectl rollout undo deployment myweb --to-revision 1
#刪除控制器方法1:刪除控制器
kubectl delete deployments myweb
#刪除控制器方法2:刪除資源對象kubectl delete -f mydeploy.yaml
DaemonSet:
Job資源對象模板生成:
kubectl create job myjob --image=myos:8.5 --dry-run=client -o yaml -- sleep 3cronJob資源對象獲取:
kubectl create cronjob mycj --image=myos:8.5 --schedule='* * * * *' --dry-run=client -o yaml -- sleep 3
容器里面沒有時間,默認使用格林威治的時區,與上海時間相差8個小時
?????????????????
apiserver | schedule |
etcd?? | ?? contallermanager:? 負責管理控制控制器 |
資源對象案例:
---
kind: DaemonSet # 資源對象類型
apiVersion: apps/v1
metadata:name: myds # 控制器名稱
spec:# replicas: 2 # 刪除副本參數selector:matchLabels:app: httpdtemplate:metadata:labels:app: httpdspec:restartPolicy: Alwayscontainers:- name: webserverimage: myos:httpdimagePullPolicy: Alway
污點干擾:
Job/CronJob:
Job控制器:
StateFulSet:
STS圖例概述:
HeadLess服務:
無頭服務:沒有IP
資源對象文件:
訪問STS資源:
通過Host? 訪問命令如下:
host mysts-0.mysvc2.default.svc.cluster.local 10.245.0.10
訪問指定服務
彈性云服務:
HPA圖例概述:
如果cpu用的比較滿,那么cpu比較緊張,會縮容