写点什么

04 K8S 之生态系统

发布于: 9 小时前
04 K8S之生态系统

Kubernetes 是一个支持弹性运行的分布式系统框架,是一种支撑其他平台的平台型基础设施,可以帮助用户在生产环境中依托容器实施的基础架构。Kubernetes 的本质在于实现操作任务自动化,包括应用扩展、故障转移和部署模式等,因而它能代替用户执行大部分烦琐的操作任务,减轻用户负担,降低出错的概率。


以应用为中心的 Kubernetes 本身并未直接提供一套完整的“开箱即用”的应用管理体系,需要基础设施工程师基于云原生社区和生态的实际需求手动构建。换句话说,在典型的生产应用场景中,Kubernetes 还需要同网络、存储、遥测(监控和日志)、镜像仓库、负载均衡器、CI/CD 工具链及其他服务整合,以提供完整且 API 风格统一的基础设施平台

Docker Registry 和工件仓库:通过 Harbor 工件仓库、Docker Registry 等项目实现。

网络:借助 Flannel、Calico 或 WeaveNet 等项目实现。

遥测:借助 Prometheus 和 EFK 栈(或者由 Promtail、Loki 和 Grafana 组成的 PLG 栈)等项目实现。

容器化工作负载:借助 Kubernetes 内置的工作负载控制器资源,甚至由社区扩展而来的各种 Operator 完成应用的自动化编排,包括自愈和自动扩缩容等;而便捷的应用打包则要借助 Helm 或 Kustomize 等项目完成。

基于容器编排系统的 CI/CD:借助 Jenkins、Tekton、Flagger 或 Kepton 等项目,甚至遵循 GitOps 规范实现应用交付、发布和部署等。


Kubernetes 集群主要由 Master 和 Node 两类节点组成。

Master 主要包含 apiserver、controller-manager、scheduler 和 etcd 这几个组件,其中 apiserver 是整个集群的网关。

Node 主要由 kubelet、kube-proxy 和容器引擎等组件构成,kubelet 是工作在 Kubernetes 集群节点之上的代理组件。

完整的 Kubernetes 集群还需要部署 KubeDNS、HeapSter(或 Prometheus)、Dashboard 和 Ingress Controller 等几个附加组件。

发布于: 9 小时前阅读数: 6
用户头像

InfoQ签约作者 2018.11.30 加入

热爱生活,收藏美好,专注技术,持续成长

评论

发布
暂无评论
04 K8S之生态系统