kubernetes簡介
阿新 • • 發佈:2018-10-20
健康 sch 實現網絡 cot nco serve mac des 系統研發
一、容器編排工具
- docker compose,docker swarm,docker machine
- mesos,marathon
- kubernetes
二、DevOps
- CI:持續集成
- CD:持續交付,Delivery
- CD:持續部署,Deployment
三、kubernetes(舵手、飛行員)
1、特性
由Google根據Borg系統研發,go語言
- 自動裝箱
- 自我修復
- 水平擴展
- 服務發現和負載均衡
- 自動發布和回滾
- 秘鑰和配置管理
- 存儲編排
- 批量處理執行
2、Kubernetes Cluster架構
master/nodes:master一般有三個,nodes(worker)正真工作的節點
master上的組件:
- API Server:提供API的服務
- schedule:資源調度器
- 控制器管理器:管理控制器管理器的健康狀態,控制器管理器需要做冗余
nodes上的組件:
- kubelet:管理容器
- 容器引擎:docker
kube-proxy
- 控制器:在本地不停的loop,持續性探測容器健康狀態,一旦發送容器down的情況,則會向API Server發調用來啟動一個代替的容器
Pod:在k8s中運行的最小單元,Pod可以看作容器的外殼,同一Pod中的容器共享網絡和存儲資源,一般一個Pod只放一個容器,Pod有Label,可以使用Label Selector(標簽選擇器)
Pod:
- 自主式Pod
- 控制器管理的Pod
- ReplicationCotroller
- RelicaSet
- Deployment:只能管理無狀態的副本
- StatefulSet:控制有狀態的副本
- DaemonSet
- Job,Ctonjob
- HPA控制器:HorizontalPodAutoscaler
k8s的網絡:
- 節點網絡
- 集群網絡
- Pod網絡
同一個Pod內的多個容器:lo
各Pod之間的通信:Overlay Network
etcd:k/v存儲,k8s的DB,一般etcd集群有三個節點,https的RESfull風格的API
CNI:
- flannel:網絡配置
- calico:網絡配置,網絡策略
- canel:用flannel實現網絡配置,用calico實現網絡策略
待續。。。
kubernetes簡介