【kubernetes/k8s概念】k8s资料整理

1. k8s 安装部署

  1.1 kubeadm

    https://github.com/kubernetes/kubeadm

    Kubeadm 是一个工具,它提供了 kubeadm init 以及 kubeadm join 这两个命令来快速创建 kubernetes 集群。kubeadm 通过执行必要的操作来启动和运行一个最小可用的集群。被设计为只关心启动集群,而不是之前的节点准备工作。

  • kubeadm init 启动一个 Kubernetes 主节点
  • kubeadm join 启动一个 Kubernetes 工作节点并且将其加入到集群
  • kubeadm upgrade 更新一个 Kubernetes 集群到新版本
  • kubeadm config 如果使用 v1.7.x 或者更低版本的 kubeadm 初始化集群,您需要对集群做一些配置以便使用 kubeadm upgrade 命令
  • kubeadm token 管理 kubeadm join 使用的令牌
  • kubeadm reset 还原 kubeadm init 或者 kubeadm join 对主机所做的任何更改
  • kubeadm version 打印 kubeadm 版本
  • kubeadm alpha 预览一组可用的新功能以便从社区搜集反馈

  1.2 kubespray

  Kubespray 是 Kubernetes incubator 中的项目,目标是提供 Production Ready Kubernetes 部署方案,该项目基础是通过 Ansible Playbook 来定义系统与 Kubernetes 集群部署的任务

  

  1.3 kubesphere

    KubeSphere 是在 Kubernetes 之上构建的⾯向云原⽣应⽤的分布式操作系统,完全开源,⽀持多云与多集群管理,提供全栈的 IT ⾃动化运维能⼒,简化企业的 DevOps ⼯作流。它的架构可以
⾮常⽅便地使第三⽅应⽤与云原⽣⽣态组件进⾏即插即⽤ (plug-and-play) 的集成。

    KubeSphere 为⽤户提供构建企业级 Kubernetes 环境所需的多项功能,例如多云与多集群管理、Kubernetes 资源管理、DevOps、应⽤⽣命周期管理、微服务治理(服务⽹格)、⽇志查询与收集、服务与⽹络、多租户管理、监控告警、事件与审计查询、存储管理、访问权限控制、GPU ⽀持、⽹络策略、镜像仓库管理以及安全管理等。
    KubeSphere 还开源了 Kubekey 帮助企业⼀键在公有云或数据中⼼快速搭建 Kubernetes 集群,
提供单节点、多节点、集群插件安装,以及集群升级与运维。

  1.4 KubeOperator

   https://github.com/kubeoperator/kubeoperator

   KubeOperator 是一个开源的轻量级 Kubernetes 发行版,专注于帮助企业规划、部署和运营生产级别的 Kubernetes 集群。

    KubeOperator 提供可视化的 Web UI,支持离线环境,支持物理机、VMware、OpenStack 和 FusionCompute 等 IaaS 平台,支持 x86_64 和 ARM64 架构,支持 GPU,内置应用商店,已通过 CNCF 的 Kubernetes 软件一致性认证。

    KubeOperator 使用 Terraform 在 IaaS 平台上自动创建主机(用户也可以自行准备主机,比如物理机或者虚机),通过 Ansible 完成自动化部署和变更操作,支持 Kubernetes 集群 从 Day 0 规划,到 Day 1 部署,到 Day 2 运营的全生命周期管理。

KubeOperator 的优势

  • 简单易用: 提供可视化的 Web UI,极大降低 K8s 部署和管理门槛,内置 Webkubectl
  • 按需创建: 调用云平台 API,一键快速创建和部署 Kubernetes 集群;
  • 按需伸缩: 快速伸缩 Kubernetes 集群,优化资源使用效率;
  • 按需修补: 快速升级和修补 Kubernetes 集群,并与社区最新版本同步,保证安全性;
  • 离线部署: 支持完全离线下的 K8s 集群部署;
  • 自我修复: 通过重建故障节点确保集群可用性;
  • 全栈监控: 提供从Pod、Node到集群的事件、监控、告警、和日志方案;
  • Multi-AZ 支持: 将 Master 节点分布在不同的故障域上确保集群高可用;
  • 应用商店: 内置 KubeApps 应用商店;
  • GPU 支持: 支持 GPU 节点,助力运行深度学习等应用。

  1.5 KubeKey 
GitHub - kubesphere/kubekey: Install Kubernetes only, both Kubernetes and KubeSphere, and related cloud-native add-ons, it supports all-in-one, multi-node, and HA 🔥 ⎈ 🐳Install Kubernetes only, both Kubernetes and KubeSphere, and related cloud-native add-ons, it supports all-in-one, multi-node, and HA 🔥 ⎈ 🐳 - GitHub - kubesphere/kubekey: Install Kubernetes only, both Kubernetes and KubeSphere, and related cloud-native add-ons, it supports all-in-one, multi-node, and HA 🔥 ⎈ 🐳https://github.com/kubesphere/kubekey

    从 v3.0.0 开始,KubeSphere 将基于 ansible 的安装程序更改为使用 Go 语言开发的名为 KubeKey 的新安装程序。使用 KubeKey,您可以轻松、高效、灵活地单独或整体安装 Kubernetes 和 KubeSphere。

    有三种情况可以使用 KubeKey。

  • 仅安装 Kubernetes
  • 用一个命令中安装 Kubernetes 和 KubeSphere
  • 首先安装 Kubernetes,然后使用 ks-installer 在其上部署 KubeSphere

重要提示:Kubekey 将会帮您安装 Kubernetes,若已有 Kubernetes 集群请参考 在 Kubernetes 之上安装 KubeSphere

  优势

  • 基于 Ansible 的安装程序具有大量软件依赖性,例如 Python。KubeKey 是使用 Go 语言开发的,可以消除在各种环境中出现的问题,从而提高安装成功率。
  • KubeKey 使用 Kubeadm 在节点上尽可能多地并行安装 K8s 集群,以降低安装复杂性并提高效率。与较早的安装程序相比,它将大大节省安装时间。
  • KubeKey 支持将集群从 all-in-one 扩展到多节点集群甚至 HA 集群。
  • KubeKey 旨在将集群当作一个对象操作,即 CaaO。

2. 多集群管理

  2.1 kubefed

  2.2 kubesphere

  2.3 virtual kubelet

  2.4 clusternet

  2.5 cluster-api

  2.6 rancher fleet

  

3. 边缘计算

  3.1 SuperEdge

  SuperEdge 是开源的边缘容器解决方案,能够在单 Kubernetes 集群中管理跨地域的资源和容器应用

  3.2 KubeEdge

4. serverless 

   4.1 KubeVela 可扩展的云原生应用管理平台

KubeVela 是一个简单易用且高度可扩展的应用管理平台与核心引擎。KubeVela 是基于 Kubernetes 与 OAM 技术构建的。

详细的说,对于应用开发人员来讲,KubeVela 是一个非常低心智负担的云原生应用管理平台,核心功能是让开发人员方便快捷地在 Kubernetes 上定义与交付现代微服务应用,无需了解任何 Kubernetes 本身相关的细节。在这一点上,KubeVela 可以被认为是云原生社区的 Heroku

另一方面,对于平台团队来讲,KubeVela 是一个强大并且高可扩展的云原生应用平台核心引擎。基于这样一个引擎,平台团队可以快速、高效地以 Kubernetes 原生的方式在 KubeVela 中植入任何来自云原生社区的应用管理能力,从而基于 KubeVela 打造出自己需要的云原生平台,比如:云原生数据库 PaaS、云原生 AI 平台、甚至 Serverless 服务。在这一点上,KubeVela 可以被认为是一个“以应用为中心”的 Kubernetes 发行版,以 OAM 为核心,让平台团队可以基于 KubeVela 快速打造出属于自己的 PaaS、Serverless 乃至任何面向用户的云原生平台项目。

   4.2 Pulumi 架构即是代码

Pulumi 是一个架构即是代码的开源项目,可在任何云上创建和部署使用容器,无服务器功能,托管服务和基础架构的云软件的最简单方法。

只需用您喜欢的语言编写代码,Pulumi就可以使用基础架构即代码方法自动配置和管理您的AWS,Azure,Google Cloud Platform和/或Kubernetes资源。 跳过YAML,使用您已经熟悉和喜爱的标准语言功能,如循环,函数,类和包管理。

   4.3 Knative 基于 Kubernetes 与 Istio 的 Serverless 架构方案

Knative(发音为 kay-nay-tiv)是谷歌开源的一套 Serverless 架构方案,它扩展了 Kubernetes,提供了一组中间件,提高了构建可在本地、云和第三方数据中心等地方运行的现代化、以源为中心且基于容器的应用的能力。

Knative 专注于解决容器为核心的 Serverless 应用的构建、部署和运行的问题,它构建在 Kubernetes 和 Istio 平台之上,整合了 Kubernetes 提供的 deployment、replicaset 和 pods 等容器管理能力,与 Istio 提供的 ingress、LB、dynamic route 等网络管理功能。

   4.4 Kubeless Kubernetes 原生 Serverless 框架

Kubeless 是一个基于 Kubernetes 的 Serverless 框架,允许您部署少量代码,而无需担心底层基础架构管道。它利用 Kubernetes 资源提供自动扩展、API 路由、监控、故障排除等功能。

   4.5 OpenFaaS 构建 Serverless 功能的框架

OpenFaaS 是一个使用 Docker 构建无服务器(Serverless)功能的框架,它拥有对指标的一级支持。任何流程都可以打包为一个函数,使你能够使用一系列 web 事件,而无需重复的样板化编码。

5. 边缘计算平台

   5.1 OpenYurt

    Introduction | OpenYurt

OpenYurt 是业界首个对云原生体系无侵入的边缘计算平台。主打 “云边一体化” 的概念,针对边缘计算场景中的网络环境复杂、大规模应用交付、运维困难等痛点, 提供了边缘自治、云边运维通道、单元化部署等能力。通过将边缘异构资源统一管理,帮助开发者轻松完成在海量边缘资源上的大规模应用交付、运维、管控。

此外,为了更好支持各种边缘设备,OpenYurt 还提供以云原生的方式管理端设备,高效地解决物联网边缘计算场景下端设备管理和运维难题。 更天然支持对接上下游边缘云生态,支持边缘AI、CDN、IoT等典型边缘计算业务场景,将持续致力于打造云边一体云原生管控标准、软硬一体化交付标准, 结合社区主流边缘存储、边缘计算容器网络、编排、边缘安全、边缘AI等项目或方案,实现OpenYurt上下游完整生态构建。

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值