ralp的k8s从入门到跑路---01 kubernetes 的介绍

Kubernetes 是什么?
  • Kubernetes 是 Google 在 2014 年 6 月开源的一个容器集群管理系统,使用 Go 语言开发,Kubernetes
    也叫 K8S。
  • K8S 是 Google 内部一个叫 Borg 的容器集群管理系统衍生出来的,Borg 已经在Google 大规模生产运行十年之久。
  • K8S 主要用于自动化部署、扩展和管理容器应用,提供了资源调度、部署管理、服务发现、扩容缩容、监控等一整套功能。
  • Kubernetes 目标是让部署容器化应用简单高效。

官方网站: www.kubernetes.io.

  1. kubernetes,简称 K8s,是用 8 代替 8个字符“ubernete”而成的缩写。是一个开的,用于管理云平台中多个主机上的容器化的应用,Kubernetes 的目标是让部署容器化的应用简单并且高效(powerful),Kubernetes 提供了应用部署,规划,更新,维护的一种机制
  2. Kubernetes 是 Google开源的一个容器编排引擎,它支持自动化部署、大规模可伸缩、应用容器化管理。在生产环境中部署一个应用程序时,通常要部署该应用的多个实例以便对应用请求进行负载均衡。
Kubernetes 主要功能:
  • 数据卷:Pod 中容器之间共享数据,可以使用数据卷。
  • 应用程序健康检查:容器内服务可能进程堵塞无法处理请求,设置监控检查策略保证健壮性。
  • 复制应用程序实例:控制器维护着 Pod 副本数量,保证一组同类的 Pod 数量始终可用。
  • 弹性伸缩:根据设定的指标(CPU 利用率)自动缩放 Pod 副本数。
  • 服务发现:使用环境变量或 DNS 服务插件保证容器中程序发现 Pod 入口访问地址。
  • 负载均衡:一组 Pod 副本分配一个私有的集群 IP 地址,负载均衡转发请求到后端容器。在集群内部其他 Pod 可通过这个 ClusterIP 访问应用。
  • 滚动更新:更新服务不中断,一次更新一个 Pod,而不是同时删除整个服务。
  • 服务编排:通过文件描述部署服务,使得应用程序部署变得更高效。
  • 资源监控:Node 节点组件集成 cAdvisor 资源收集工具,可通过 Heapster 汇总整个集群节点资源数据,然后存储到influxDB 时序数据库,再由 Grafana 展示。
  • 提供认证和授权:支持属性访问控制(ABAC)、角色访问控制(RBAC)认证授权策略。
Kubernetes 特点

可移植: 支持公有云,私有云,混合云,多重云(multi-cloud)
可扩展: 模块化,插件化,可挂载,可组合
自动化: 自动部署,自动重启,自动复制,自动伸缩/扩展

Kubernetes 不是什么

•Kubernetes 并不是传统的 PaaS(平台即服务)系统。
• Kubernetes 不限制支持应用的类型,不限制应用框架,但限制受支持的语言 runtimes。
• Kubernetes 不提供中间件、数据处理框架、数据库或者集群存储系统(如 Ceph)作 为内置服务。
• Kubernetes 不部署源码不编译应用。
• Kubernetes 允许用户选择自己的日志、监控和报警系统。
• Kubernetes 不提供或授权一个全面的应用程序配置 语言/系统。
• Kubernetes 不提供任何机器配置、维护、管理或者自修复系统。

Kubernetes 部署方式

• Minikube,官网上即可使用,微型伪分布式环境,适合学习、体验
ralp的k8s从入门到跑路---01 kubernetes 的介绍
• Kubeadmin,适合实验环境使用,暂时无法做到 Master 节点高可用
• 二进制部署方式,相对复杂,适合生产环境投产使用

ralp的k8s从入门到跑路---01 kubernetes 的介绍