一、容器编排工具
- 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实现网络策略
待续。。。
原文地址:https://www.cnblogs.com/L-dongf/p/9822508.html
时间: 2024-10-05 12:20:21