01-k8s学习笔记之认识 Kubernetes

这篇具有很好参考价值的文章主要介绍了01-k8s学习笔记之认识 Kubernetes。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1、什么是 Kubernetes?

Kubernetes 是一个开源的,用于管理云平台中多个主机上的容器化的应用,
Kubernetes 的目标是让部署容器化的应用简单并且高效(powerful),
Kubernetes 提供了应用部署,规划,更新,维护的一种机制。

Kubernetes 这个名字源于希腊语,意为“舵手”或“飞行员”。k8s 这个缩写是因为k 和 s 之间有八个
字符的关系。 Google 在 2014 年开源了 Kubernetes 项目。 
 Kubernetes 建立在 Google 大规模运行生产工作负载十几年经验的基础上,结合了社区中最优秀的
 想法和实践。

2、为什么需要 Kubernetes?

  • 应用部署的三大阶段
#传统部署
程序员/运维工程师手动操作部署应用,直接将应用部署在目标机器上,
由于资源不隔离,容易出现资源争抢、依赖冲突等各方面问题。
#虚拟化部署
利用 OpenStask / VMware 等虚拟化技术,将一台目标机器虚拟化为多个虚拟机器,
按照需求将应用部署到不同的虚拟机中,对虚拟机进行动态的水平扩容等管理操作。

相对传统部署自动化、资源隔离的能力提升了,带来的问题是虚拟化的逻辑过重,导致效率不高,
且耗费资源较多。
#容器化部署
可以理解为轻量级的虚拟化,完美弥补虚拟化技术过重的问题,且由于直接共享主机硬件资源,
只是通过系统提供的命名空间等技术实现资源隔离,损耗更小,且效率更高。
  • k8s 的特点
自我修复
弹性伸缩
自动部署和回滚
服务发现和负载均衡
机密和配置管理
存储编排
批处理

3、企业级容器调度平台对比

  • Apache Mesos
#基本概念
Mesos 是一个分布式调度系统内核,早于 Docker 产生,Mesos 作为资源管理器,
从 DC/OS (数据中心操作系统)的角度提供资源视图。主/从结构工作模式,主节点分配任务,
并用从节点上的 Executor 负责执行,通过 Zookeeper 给主节点提供服务注册、服务发现功能。
通过 Framework Marathon 提供容器调度的能力。
#优势 
经过时间的检验,作为资源管理器的 Apache Mesos 在容器之前就已经出现很久了,
支持运行容器化化和非容器化的工作负载。可以支持应用程序的健康检查,开放的架构。
支持多个框架和多个调度器,通过不同的 Framework 可以运行 Haddop/Spark/MPI等多种不同的任务。
支持超大型规模的节点管理,模拟测试支持超过 5w+ 节点,在大规模上拥有较大优势。
  • Docker Swarm
#基本概念 	
Docker Swarm 是一个由 Docker 开发的调度框架。由 Docker 自身开发的好处之一就是标准 
Docker API 的使用,Swarm 由多个代理(Agent)组成,把这些代理称之为节点(Node)。
这些节点就是主机,这些主机在启动 Docker Daemon 的时候就会打开相应的端口,
以此支持 Docker 远程 API。这些机器会根据 Swarm 调度器分配给它们的任务,拉取和运行不同的镜像。
#优势 
从 Docker1.12 版本开始,Swarm 随 Docker 一起默认安装发布。由于随 Docker 引擎一起发布,
无需额外安装,配置简单。支持服务注册、服务发现,内置 Overlay Network 以及 Load Balancer。
与 Docker CLI 非常类似的操作命令,对熟悉 Docker 的人非常容易上手学习。
入门门槛、学习成本较低,使用更便捷,适用于中小型系统。
  • Google Kubernetes
#基本概念 
Kubernetes 是基于 Google 在过去十五年来大量生产环境中运行工作负载的经验。
Kubernetes 的实现参考了 Google 内部的资源调度框架,但并不是 Borg 的内部容器编排系统的开源,
而是借鉴 Google 从运行 Borg 获得的经验教训,形成了 Kubernetes 项目。
它使用 Label 和 Pod 的概念来将容器划分为逻辑单元。Pods 是同地协作(co-located)容器的集合,
这些容器被共同部署和调度,形成了一个服务,这是 Kubernetes 和其他两个框架的主要区别。
相比于基于相似度的容器调度方式(就像 Swarm 和Mesos),这个方法简化了对集群的管理。
#优势 
最流行等容器编排解决方案框架,基于 Google 庞大的生态圈及社区产生的产品。
通过 Pods 这一抽象的概念,解决 Container 之间的依赖于通信问题。
Pods,Services,Deployments 是独立部署的部分,可以通过 Selector 提供更多的灵活性。
内置服务注册表和负载平衡。
适用度更广,功能更强大,相较于 Mesos 来说节点规模较小,

文章来源地址https://www.toymoban.com/news/detail-795590.html

到了这里,关于01-k8s学习笔记之认识 Kubernetes的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Kubernets(K8S)启动和运行 01-02 Kubernetes的速度非常快

    Velocity is the key component in nearly all software development today. The software industry has evolved from shipping products as boxed CDs or DVDs to software that is delivered over the network via web-based services that are updated hourly. This changing landscape means that the difference between you and your competitors is often the speed with which yo

    2024年02月03日
    浏览(37)
  • kubernetes(K8S)笔记

    Kubernetes(通常缩写为K8s)是一个用于自动化容器化应用程序部署、管理和扩展的开源容器编排平台。它的构造非常复杂,由多个核心组件和附加组件组成,共同协作以实现容器集群的高可用性和可伸缩性。以下是Kubernetes的主要组件和其构造: Master节点(控制平面) : kube

    2024年02月09日
    浏览(45)
  • Kubernetes(K8S)学习(三):K8S实战案例

    附:查看命名空间命令 kubectl get namespace kubectl get ns 创建wordpress-db.yaml文件,这里以mysql作为wordpress的db: yaml内容: 根据wordpress-db.yaml配置,创建资源mysql数据库: yaml中MySQL配置说明: 用户:root       密码:rootPassW0rd 数据库名称:wordpress 用户:wordpress       密码:wo

    2024年04月09日
    浏览(86)
  • K8s(Kubernetes)学习(二):k8s集群搭建

    minikube 只是一个 K8S 集群模拟器,只有一个节点的集群,只为测试用,master 和 worker 都在一起。 裸机安装 至少需要两台机器(主节点、工作节点个一台),需要自己安装 Kubernetes 组件,配置会稍微麻烦点。 缺点:配置麻烦,缺少生态支持,例如负载均衡器、云存储。 直接用

    2024年02月09日
    浏览(62)
  • Kubernetes(K8S)学习(四):K8S之Storage

    kubernetes使用NFS共享存储有两种方式: (1)手动方式静态创建所需要的PV和PVC(见本文1.3.2小节)。 (2)通过创建PVC动态地申请PV(见本文1.4.2小节)。 Volume地址 :https://kubernetes.io/docs/concepts/storage/ 1.1.1、Volume简介 volume(/ˈvɒljuːm/,IT词汇–百度百科): 在电脑中, volume(

    2024年04月15日
    浏览(35)
  • K8s(Kubernetes)学习(一):k8s概念及组件

    Kubernetes中文文档:https://kubernetes.io/zh-cn/docs/home/ Kubernetes源码地址:https://github.com/kubernetes/kubernetes 首先要了解应用程序部署经历了以下几个时代: 传统部署时代:在物理服务器上运行应用程序。 虚拟化部署时代:虚拟化技术允许你在单个物理服务器的 CPU 上运行多台虚拟机

    2024年02月05日
    浏览(55)
  • 学习 Kubernetes(K8s)、常用命令

    学习 Kubernetes(K8s)是现代云原生应用开发和部署的关键,它提供了一种灵活的、自动化的方式来管理容器化的应用程序。下面是学习 Kubernetes 和一些常见命令的建议: 官方文档 :Kubernetes官方文档是学习的最佳资源之一。它包含了全面的指南、教程和参考文档,从基础概念

    2024年02月20日
    浏览(48)
  • K8s(Kubernetes)学习(六)——Ingress

    什么是 Ingress Ingress 和 Service 区别 Ingress 控制器 Traefik 使用 Ingress Route的定义 1 简介 https://kubernetes.io/zh-cn/docs/concepts/services-networking/ingress/ Ingress 是一种 Kubernetes 资源类型,它允许在 Kubernetes 集群中暴露 HTTP 和 HTTPS 服务 。通过 Ingress,您可以将流量路由到不同的服务和端点,而

    2024年02月07日
    浏览(44)
  • kubernetes(K8S)学习(一):K8S集群搭建(1 master 2 worker)

    kubernetes官网 :https://kubernetes.io/docs/setup/production-environment/tools/kubeadm/install-kubeadm/#installing-kubeadm-kubelet-and-kubectl GitHub :https://github.com/kubernetes/kubeadm 本文 :使用kubeadm搭建一个3台机器组成的k8s集群,1台master节点,2台worker节点。 由于k8s安装较麻烦,为防止出现其他异常,特此

    2024年04月09日
    浏览(68)
  • 从零开始学习K8s系列——Kubernetes指南

    作者:禅与计算机程序设计艺术 Kubernetes(简称k8s)是一个开源的,用于自动部署、扩展和管理容器化的应用的平台。它主要提供四大功能,包括: 服务发现和负载均衡 :Kubernetes集群中的服务能够自动地寻找其他运行着的服务并进行负载均衡。 存储编排 :Kubernetes允许用户

    2024年02月06日
    浏览(51)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包