kubernetes学习-概念及特点

文章目录

    • 1.什么是kubernetes
    • 2.为什么使用kubernetes
    • 3.使用kubernetes的好处
    • 4.kubernetes的组件有什么

1.什么是kubernetes

  • kubernetes,简称K8s,是用8代替8个字符“ubernete”而成的缩写。是一个开源的,用于管理云平台中多个主机上的容器化的应用,Kubernetes的目标是让部署容器化的应用简单并且高效(powerful),Kubernetes提供了应用部署,规划,更新,维护的一种机制。
  • Kubernetes是Google开源的一个容器编排引擎,它支持自动化部署、大规模可伸缩、应用容器化管理。在生产环境中部署一个应用程序时,通常要部署该应用的多个实例以便对应用请求进行负载均衡。
  • 在Kubernetes中,我们可以创建多个容器,每个容器里面运行一个应用实例,然后通过内置的负载均衡策略,实现对这一组应用实例的管理、发现、访问,而这些细节都不需要运维人员去进行复杂的手工配置和处理。

简单来说,主要是以下三个特点:

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

2.为什么使用kubernetes

使用K8S的原因很多,最主要的还是时代的进步,技术的更替,K8S是时代的产物。

3.使用kubernetes的好处

  • 容易学习:轻量级,入门简单,容易理解,方便练习
  • 使用便捷:支持公有云,私有云,混合云,多重云
  • 自我修复:自动重调度,自动重启,自动复制
  • 灵活扩展:自动部署,自动重启,自动复制,自动伸缩/扩展

4.kubernetes的组件有什么

  • Master节点

Master组件提供集群的管理控制中心。
Master组件可以在集群中任何节点上运行。但是为了简单起见,通常在一台VM/机器上启动所有Master组件,并且不会在此VM/机器上运行用户容器。请参考构建高可用群集以来构建multi-master-VM。

master 备注
kube-apiserver 用于暴露Kubernetes API。任何的资源请求/调用操作都是通过kube-apiserver提供的接口进行。请参阅构建高可用集群
ETCD 提供默认的存储系统,保存所有集群数据,使用时需要为etcd数据提供备份计划
kube-controller-manager 运行管理控制器,它们是集群中处理常规任务的后台线程。逻辑上,每个控制器是一个单独的进程,但为了降低复杂性,它们都被编译成单个二进制文件,并在单个进程中运行(节点 副本 单点 Service Account和Token控制器)
cloud-controller-manager 云控制器管理器负责与底层云提供商的平台交互。仅运行云提供商特定的(controller loops)控制器循环。可以通过将–cloud-providerflag设置为external启动kube-controller-manager ,来禁用控制器循环。(节点控制器 路由控制器 Service控制器 卷(Volume)控制器 )
kube-scheduler 监视新创建没有分配到Node的Pod,为Pod选择一个Nod。
addons(插件) 实现集群pod和Services功能的。Pod由Deployments,ReplicationController等进行管理。Namespace 插件对象是在kube-system Namespace中创建
DNS 虽然不严格要求使用插件,但Kubernetes集群都应该具有集群 DNS,群集 DNS是一个DNS服务器,能够为 Kubernetes services提供 DNS记录,由Kubernetes启动的容器自动将这个DNS服务器包含在他们的DNS searches中
用户界面 kube-ui提供集群状态基础信息查看
容器资源监测 容器资源监控提供一个UI浏览监控数据
Cluster-level Logging 负责保存容器日志,搜索/查看日志
  • Node节点

节点组件运行在Node,提供Kubernetes运行时环境,以及维护Pod。

Node 备注
kubelet 主要的节点代理,它会监视已分配给节点的pod,具体功能:安装Pod所需的卷 ,下载Pod的Secret(volume),Pod中运行的 docker(或experimentally,rkt)容器,定期执行容器健康检查
kube-proxy 通过在主机上维护网络规则并执行连接转发来实现Kubernetes服务抽象
docker 运行容器
RKT 运行容器,作为docker工具的替代方案
supervisord 是一个轻量级的监控系统,用于保障kubelet和docker运行(守护)
fluentd 一个守护进程,可提供cluster-level logging

你可能感兴趣的:(#,Kubernetes,kubernetes,分布式)