K8S的理想应用形式
容器化,微服务,容器可以动态调度
正确的打开方式:
- 容器化:应用载体
- 持续交付: 利用容器的轻便特点,持续集成和发布
- Devops: 微服务:开发理念
kubernetes 使用的是kube-proxy 基于iptables 的原生负载均衡。
kuber 缺少微服务治理功能,微服务的部署维护起来也更加的麻烦。
kebernetes 的核心组件
- etcd:保存整个集群的状态。
- apiserver: 提供了资源操作的唯一入口。提供了认证,授权,访问控制,API注册和发现等机制。
- controller manager :负责维护集群状态如故障检测,自动扩展,滚动更新等:
- scheduler:负责资源的调度,按照预定的策略将Pod调度到相应的机器上。
- kubelet: 负责维护容器的生命周期,也负责将vol和CNI的管理。
- container runtime:负责镜像管理以及Pod和容器的真正运行时(CRI)。
- kube-proxy :负责为service提供cluster内部的服务发现和负载均衡;
以下是推荐的扩展:
CoreDNS 提供集群DNS服务。
Prometheus 提供集群资源监控。
Ingress Controller: 为服务提供外网入口。
Dashboard :提供GUI