一、Kubernetes介绍与集群架构

这篇具有很好参考价值的文章主要介绍了一、Kubernetes介绍与集群架构。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Kubernetes介绍与集群架构

一、认识容器编排工具

  • docker machine
    • 主要用于准备docker host
    • 现已弃用
    • 建议使用docker desktop
  • docker compose
    • Compose 是一个用于定义和运行多容器 Docker 应用程序的工具。
    • 使用 Compose,您可以使用 YAML 文件来配置应用程序的服务。
    • 使用一个命令,您可以从您的配置中创建并启动所有服务。
  • docker swarm
    • 内置于docker引擎中
    • 对docker引擎进行集群级别的管理
  • 分布式设计,可以让集群资源更多,管理更多的主机
    • 声明式服务模型,通过YAML文件定义应用程序服务所需状态
    • 服务规模可扩大可缩小,保持用户期望状态
    • 服务发现
    • 负载均衡
    • 滚动更新等
    • docker service
    • docker stack
  • kubernetes
    • Kubernetes作为一个容器集群管理系统,用于管理容器云平台中多个主机上的容器应用,Kubernetes的目标是让部署容器化的应用变得简单且高效,所以 Kubernetes 提供了应用部署,规划,更新,维护的一整套完整的机制。
    • Kubernetes没有固定要求容器的格式,但是Kubernetes使用它自己的API和命令行接口来进行容器编排。
    • 除了Docker容器之外,Kubernetes还支持其他多种容器,如 Containerd、rkt、CoreOS 等。
    • Kubernetes 是自成体系的管理工具,可以实现容器调度,资源管理,服务发现,健康检查,自动伸缩,更新升级等,也可以在应用模版配置中指定副本数量,服务要求(IO 优先;性能优先等),资源使用区间,标签(Labels等)来匹配特定要求达到预期状态等,这些特征便足以征服开发者,再加上 Kubernetes 有一个非常活跃的社区。它为用户提供了更多的选择以方便用户扩展编排容器来满足他们的需求。但是由于 Kubernetes 使用了自己的 API 接口,所以命令系统是另外一套系统,这也是 kubernetes 应用门槛比较高的原因所在。
  • mesos+marathon
    • Apache Mesos 是一个分布式系统内核的开源集群管理器,Apache Mesos 的出现要远早于 Docker Swarm 和 Kubernetes。
    • 其结合Marathon 这个基于容器的应用程序的编排框架,它为 Docker Swarm 和 Kubernetes 提供了一个有效的替代方案。
    • Mesos 能够在同样的集群机器上运行多种分布式系统类型,可以更加动态高效的共享资源。
    • Messos 也提供服务失败检查,服务发布,服务跟踪,服务监控,资源管理和资源共享。
    • Messos 可以扩展伸缩到数千个节点。
    • 如果你拥有很多的服务器而且想构建一个大的集群的时候,Mesos 就派上用场了。
    • 很多的现代化可扩展性的数据处理应用都可以在 Mesos 上运行,包括大数据框架 Hadoop、Kafka、Spark。
    • 但是大而全,往往就是对应的复杂和困难,这一点体现在 Messos 上是完全正确,与Docker 和 Docker Swarm 使用同一种 API 不同的,Mesos 和 Marathon 都有自己的 API,这使得它们比其他编排系统更加的复杂。Apache Mesos 是混合环境的完美编配工具,由于它包含容器和非容器的应用,虽然 Messos 很稳定,但是它的使用户快速学习应用变得更加困难,这也是在应用和部署场景下难于推广的原因之一。
分布式资源管理框架 主要特点 备注
Apache Mesos 功能强大,但系统复杂不易用 2019年Twitter宣布弃用
Docker Swarm 集成在docker引擎中,不需要单独安装,但功能较少 2019年阿里云宣布弃用
Google Kubernetes 功能强大,但学习成本与管理成本高 目前没有替代者,多领域应用

二、认识kubernetes

2.1 kubernetes含义、起源、归属

2.1.1 含义

希腊语:舵手、飞行员

2.1.2 起源

  • 源自于谷歌Borg

  • 使用golang语言开发

  • 简称为k8s

2.1.3 归属

现归属于CNCF

  • 云原生(CloudNative)计算基金会

  • 是一个开源软件基金会,致力于使云计算普遍性和持续性

  • 官方:http://www.cncf.io

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-L0XqwQge-1691633580010)(kubernetes介绍与集群架构.assets/image-20220324160124674.png)]

2.2 kubernetes版本

  • 2014年9月第一个正式版本
  • 2015年7月1.0版本正式发布
  • 现在稳定版本为1.23
  • 主要贡献者:Google,Redhat,Microsoft,IBM,Intel
  • 代码托管github:https://github.com/kubernetes/

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-HQDav7ue-1691633580012)(kubernetes介绍与集群架构.assets/1557046658333.png)]

2.3 Kubernetes用户

  • 2017年docker官方宣布原生支持kubernetes
  • RedHat公司 PaaS平台 OpenShift核心是kubernetes
  • Rancher平台核心是kubernetes
  • 现国内大多数公司都可使用kubernetes进行传统IT服务转换,以实现高效管理等。

2.4 Kubernetes网址

  • 官方网址

https://kubernetes.io/

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-rpDcPapc-1691633580013)(kubernetes介绍与集群架构.assets/1557046832480.png)]

https://kubernetes.io/zh/

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-CojzCz5r-1691633580014)(kubernetes介绍与集群架构.assets/image-20220324145026425.png)]

  • 中文社区

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-H5IMR0uj-1691633580015)(kubernetes介绍与集群架构.assets/image-20220324145137982.png)]

三、kubernetes架构

3.1 软件架构说明

  • 有中心节点分布式架构

    • hadoop集群
    • ceph集群
  • 无中心节点分布式架构

    • glusterFS
  • kubernetes是具有中心节点的分布式架构,也就是说有master管理节点

    • Master Node
      • 中心节点
      • manager
      • 简单叫法
        • master节点
    • Minion Node
      • 工作节点
      • worker
      • 简单叫点
        • node节点
        • worker节点

3.2 Kubernetes架构图示图

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-WUAau0oa-1691633580016)(kubernetes介绍与集群架构.assets/1557048978763.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-mJFiJkkI-1691633580017)(kubernetes介绍与集群架构.assets/2)]

四、Kubernetes集群节点组件

4.1 Master节点组件

master节点是集群管理中心,它的组件可以在集群内任意节点运行,但是为了方便管理所以会在一台主机上运行Master所有组件,并且不在此主机上运行用户容器

Master组件包括:

  • kube-apiserver

​ 用于暴露kubernetes API,任何的资源请求/调用操作都是通过kube-apiserver提供的接口进行。

  • kube-controller-manager

​ 控制器管理器,用于对控制器进行管理,它们是集群中处理常规任务的后台线程。

  • kube-scheduler

    监视新创建没有分配到Node的Pod,为Pod选择一个Node运行。

  • ETCD

    是kubernetes提供默认的存储系统,保存所有集群数据。

4.2 Node节点组件介绍

node节点用于运行以及维护Pod, 管理volume(CVI)和网络(CNI),维护pod及service等信息

Node组件包括:

  • kubelet
    • 负责维护容器的生命周期(创建pod,销毁pod),同时也负责Volume(CVI)和网络(CNI)的管理
  • kube-proxy
    • 通过在主机上维护网络规则并执行连接转发来实现service(iptables/ipvs)
    • 随时与apiserver通信,把Service或Pod改变提交给apiserver,保存至etcd(可做高可用集群)中,负责service实现,从内部pod至service和从外部node到service访问。
  • Container Runtime
    • 容器运行时(Container Runtime)
    • 负责镜像管理以及Pod和容器的真正运行
    • 支持docker/containerd/Rkt/Pouch/Kata等多种运行时

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-CTB2OTGz-1691633580018)(kubernetes介绍与集群架构.assets/k8s架构图2.png)]

4.3 Add-ons介绍

Add-ons(附件)使功能更丰富,没它并不影响实际使用,可以与主体程序很好结合起来使用文章来源地址https://www.toymoban.com/news/detail-640597.html

  • coredns/kube-dns: 负责为整个集群提供DNS服务
  • Ingress Controller 为服务提供集群外部访问
  • Heapster/Metries-server 提供集群资源监控(监控容器可以使用prometheus)
  • Dashboard 提供集群GUI
  • Federation 提供跨可用区的集群
  • Fluentd-elasticsearch 提供集群日志采集、存储与查询

到了这里,关于一、Kubernetes介绍与集群架构的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • [云原生案例2.1 ] Kubernetes的部署安装 【单master集群架构 ---- (二进制安装部署)】节点部分

    Minikube是一个工具,可以在本地快速运行一个单节点微型K8S,仅用于学习、预览K8S的一些特性使用。 Kubeadm也是一个工具,提供kubeadm init和kubeadm join,用于快速部署K8S集群,相对简单。 生产首选,从官方下载发行版的二进制包,手动部署每个组件和自签TLS证书,组成K8S集群,

    2024年02月05日
    浏览(61)
  • 云原生 黑马Kubernetes教程(K8S教程)笔记——第一章 kubernetes介绍——Master集群控制节点、Node工作负载节点、Pod控制单元

    参考文章:kubernetes介绍 本章节主要介绍应用程序在服务器上部署方式演变以及kubernetes的概念、组件和工作原理。 在部署应用程序的方式上,主要经历了三个时代: 传统部署:互联网早期,会直接将应用程序部署在物理机上 优点:简单,不需要其它技术的参与 缺点:不能为

    2024年02月04日
    浏览(57)
  • 【云原生 • Kubernetes】认识 k8s、k8s 架构、核心概念点介绍

    目录 一、Kubernetes 简介 二、Kubernetes 架构 三、Kunbernetes 有哪些核心概念? 1. 集群 Cluster 2. 容器 Container 3. POD 4. 副本集 ReplicaSet 5. 服务 service 6. 发布 Deployment 7. ConfigMap/Secret 8. DaemonSet 9. 核心概念总结 Kubernetes 简称 k8s,是支持云原生部署的一个平台,起源于谷歌。谷歌早在十几

    2024年02月03日
    浏览(199)
  • 云原生Kubernetes:K8S集群实现容器运行时迁移(docker → containerd) 与 版本升级(v1.23.14 → v1.24.1)

    目录 一、理论 1.K8S集群升级 2.环境 3.升级策略 4.master1节点迁移容器运行时(docker → containerd)  5.master2节点迁移容器运行时(docker → containerd)  6.node1节点容器运行时迁移(docker → containerd)  7.升级集群计划(v1.23.14 → v1.24.1) 8.升级master1节点版本(v1.24.1) 9.升级master2节点版本

    2024年02月03日
    浏览(69)
  • 云原生|kubernetes|kubernetes集群巡检脚本

    生产环境下的kubernetes集群安装部署仅仅是前期的一点点工作,主要的工作其实是集中在集群正式运行后的维护,管理工作。 而kubernetes集群的巡视检查工作是一个比较重要的工作,可以通过定时,定期的巡检能够提前发现kubernetes集群的一些潜在问题,从而在发生大的影响运行

    2024年02月15日
    浏览(35)
  • 【云原生】Kubernetes临时容器

    特性状态: Kubernetes v1.25 [stable] 本页面概述了临时容器:一种特殊的容器,该容器在现有 Pod 中临时运行,以便完成用户发起的操作,例如故障排查。 你会使用临时容器来检查服务,而不是用它来构建应用程序 Pod 是 Kubernetes 应用程序的基本构建块。 由于 Pod 是一次性且可替

    2024年02月15日
    浏览(41)
  • 【云原生|Kubernetes】02-Kubeadm安装部署Kubernetes集群

    前面简单介绍了Kubernetes的相关架构及其组件,这一章节我们将介绍如何快速搭建Kubernetes的集群,这里我们将使用官方支持的用于部署 Kubernetes 的工具— kubeadm。 主机名 ip地址 节点类型 系统版本 master.example.com 192.168.194.128 master,etcd centos7.x node1.example.com 192.168.194.130 node1 cent

    2024年02月03日
    浏览(46)
  • 【云原生】Kubernetes容器编排工具

    目录 1. K8S介绍 1.1 k8s的由来 下载地址 1.2 docker编排与k8s编排相比 1.3 传统后端部署与k8s 的对比 传统部署 k8s部署  ​2. k8s的集群架构与组件 (1) Kube-apiserver (2)Kube-controller-manager  (3)Kube-scheduler   2.2 k8s的配置存储中心 2.3  k8s的Node 组件   (1)Kubelet   (2)Kube-Proxy 

    2024年02月10日
    浏览(42)
  • 【云原生】容器编排工具Kubernetes

    目录 一、 K8S介绍 官网地址: 1.1docker编排与k8s编排相比 1.2特性 1.3功能 二、K8S重要组件 2.1核心组件 (1)Kube-apiserver (2)Kube-controller-manager (3)Kube-scheduler (4)Node ①kubelet ②kube-proxy ③docker (5)etcd 2.2Kubernetes工作原理 三、Pod 3.1 Pod控制器 (1)Deployment (2)ReplicaSet (3)

    2024年02月09日
    浏览(46)
  • 云原生、容器化、Kubernetes、微服务

    作者:禅与计算机程序设计艺术 云原生(Cloud Native)是一个开放且社区驱动的项目,它定义了一组架构原则、最佳实践和工具集,这些原则、实践和工具围绕业务需求和工程实践而设计,可用于开发人员在构建和运行分布式系统时更加顺畅地交付可靠的软件。云原生可以帮助

    2024年02月07日
    浏览(45)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包