Kubernetes--介绍一
k8S的核心功能:
自我修复
服务发现和负载均衡
自动部署和回滚
弹性伸缩
Kubernetes最佳的应用场景——微服务架构
Kubernetes核心组件
etcd是k8s数据库的功能,所有资源都留在etcd中;apiserver是k8s核心组件,所有操作都是由apiserver解析的,其他组件也依赖apiserver。
scheduler负责收集各个node资源剩余情况,比如内存、cpu,筛选出空闲的node节点去执行任务,尽可能让各个任务都均衡
master控制kubectl,kubectl控制容器docker。正常我们起个docker容器是不能被外界访问的,需要做个端口映射,需要在node上安装个kube-proxy
Kubernetes架构图:运维或者开发通过操作api-server创建个资源,最终创建的资源都是由apiserver帮你创建的,自己只需声明一个配置文件即可,api控制schedule来调度两个node节点(实际会有N个节点,这只是举例),controller Manager保证每个运行起来的pod容器高可用
集群需要监控,采集数据用cAdvisor,cAdvisor已经集成到了kubelete,node节点只需安装kubelet和kube-proxy,kube-proxy是四层负载均衡
容器跨宿主机通信,需要个网络插件flannel
Kubernetes扩展组件:ingress controlee实现7层负载均衡
k8s实现弹性伸缩就是需要监控的,这里可以用Heapster;k8s日志收集方案是EFK