1.資源分類html
a.workload型資源:service、pod、deployment、ReplicaSet、StatefulSet、Job、Cronjob; b.服務發現及服務均衡資源型資源:Service、Ingress; c.配置與存儲型資源:Volume、ConfigMap、Secret、DownwardAPI、CSI(容器存儲接口,能夠擴展各類第三方的存儲卷) d.集羣級資源:Namespace、Node、Role、rolebinding、clusterrolebinding; e.元數據型資源:HPA、podtemplate、limitrange(限制資源的如cpu、內存等) 查看pod的yaml格式清單 kubectl get pods myapp-9b4987d5-lwqnj -o yaml spec: # 規格、特性,用戶指望的狀態 tolerations: # 容忍度 status:# 顯示當前資源的當前狀態
2.建立資源的方法python
apiserver僅接受json格式的資源定義;yaml能夠無損轉換爲json,因此使用yaml格式提供配置清單,apiserver可自動將其轉換爲json格式,而後再提交.使用命令kubectl run,最終也是自動轉爲json格式的資源定義.nginx
大部分資源的配置清單包含:json
a.apiVersion:表示屬於哪一個api羣組和版本,能夠經過kubectl api-versions查看,顯示方式爲group/version b.Kind:資源類別,有pod、deloyment等 c.metadata:元數據,包括: 1)name:在同一資源下name是必須惟一的; 2)namespace:名稱空間 3)labels:標籤 4)annotations:資源註解 5)selfLink:每一個資源引用的PATH,格式爲/api/GROUP/VERSION/namespaces/NAMESPACE/TYPE/NAME 6)spec:定義用戶指望的目標狀態(disired state) 7)status:表示當前狀態,讓當前狀態向指望的目標狀態靠近,本字段由k8s集羣維護 # pod怎麼定義,即查看幫助手冊 kubectl explain pods # 查看medadata下有哪些字段能夠用 kubectl explain pod.metadata kubectl explain pods.spec.containers
3.用yaml建立podapi
mkdir manifests && cd manifests/ cat pod-demo.yaml apiVersion: v1 kind: Pod metadata: name: pod-demo namespace: default labels: itsDeploy: myapp spec: containers: - name: myapp image: ikubernetes/myapp:v1 - name: busybox image: busybox command: - "/bin/sh" - "-c" - "echo $(date) >> /usr/share/nginx/html/index.html; sleep 5" # 命令式資源清單,也叫聲明式資源清單 kubectl create -f maniteste/pod-demo.yaml # 1個pod跑2個容器,"-"表示某個參數能夠有多個,譬如containers中的name kubectl describe pods pod-demo # 查看日誌 kubectl logs pod-demo myapp # 進入運行中的容器,固然我建立的這個進不去,由於鏡像過小,不支持 kubectl exec -it pod-demo -c myapp -- /bin/bash # 刪除pod kubectl delete -f maniteste/pod-demo.yaml
參考博客:http://blog.itpub.net/28916011/viewspace-2213934/bash
python2.7源碼安裝MySQLdb:https://blog.csdn.net/lovemysea/article/details/79881382app