資源清單相當于劇本
什么是資源:
k8s中所有的內容都抽象為資源,資源實例化后,叫做對象。
1.K8S中的資源
集群資源分類
名稱空間級別:
kubeadm k8s kube-system? ? kubectl get pod -n default
工作負載型資源,(workload):Pod? ReplicaSet,Deployment,StatefilSet,DaemonSet,Job,CronJob,(ReplicationController 在v1.11? 版本被廢棄)
服務發現及負載均衡型資源(ServiceDiscovery LoadBalance):Service,Ingress,。。。
配置與存儲型資源:Volume(存儲卷),CSI(容器存儲接口,可以擴展各種各樣的第三方存儲卷)
特殊類型的存儲卷:ConfigMap(當配置中心來使用的資源類型),Secret(保存敏感數據),DownwardAPI(把外部環境中的信息輸出給容器)
集群級別:
role
集群級資源:Namespace,Node,Role,ClusterRole,RoleBinding,ClusterRoleBinding
元數據型資源,HPA,PodTemplate,LimitRange
元數據型:
HPA? ? ? ? 通過指標進行操作? ??
PodTemplate,LimitRange
2.資源清單
在k8s中,一般使用yaml格式的文件來創建符合我們預期期望的pod,這樣的yaml文件我們一般稱為資源清單。
簡單說明
是一個可讀性高,用來表達數據序列的格式。YAML的意思其實是:仍是一種標記語言。但為了強調這種語言一數據作為中心。而不是以標記語言為重點。
基本語法
縮進時不允許使用Tab鍵,只容許使用空格。
縮進的空格數目不重要,只要相同層級的元素左側對齊即可。
#標識注釋,從這個字符一直到行尾,都會被解釋器忽略。
YAML支持的數據結構
對象:鍵值對的集合,又稱為映射(mapping)、哈希(hashes)、字典(dictionary)
數組:一組按次序排列的值,又稱為序列(sequence)、列表(list)
純量(scalars):單個的,不可再分的值。
對象類型:對象的一組鍵值對,使用冒號結構表示。
name:steve
age:18
yaml也容許另一種寫法。將所有鍵值對寫成一個行內對象。
hash:{name:steve,age:18}
數組類型:一組連詞線開頭的行,構成一個數組。
animal
Cat
Dog
數組也可以采用行內表示法
animal:[Cat, Dog]
復合結構:對象和數組可以結合使用,形成復合結構。
1languages:
2.Ruby
純量
字符串
3.常用字段解釋說明
必須存在的屬性
4.容器生命周期
Init容器:
Pod能夠具有多個容器,應用運行在容器里面,但是他也可能有一個或多個先于應用容器啟動的Init
容器。
Init容器與普通的容器非常像,除了如下兩點
Init容器總是運行到成功完成為止。
每個Init容器都必須在下一個Init容器啟動之前成功完成。
如果Pod的Init容器失敗。Kubernetes會不斷的重啟該Pod,直到Init容器成功為止。然而。
如果Pod對應的restartPolicy為Never,它不會重新啟動。
init容器的作用:
因為Init容器具有與應用程序容器