OpenYurt v1.2 新版本深度解读(三):五步搭建一个OpenYurt集群

本文涉及的产品
可观测监控 Prometheus 版,每月50GB免费额度
应用实时监控服务-应用监控,每月50GB免费额度
函数计算FC,每月15万CU 3个月
简介: OpenYurt v1.2 新版本深度解读(三):五步搭建一个OpenYurt集群

作者:苏杭、敬易


OpenYurt 作为业界首个无侵入云原生边缘计算平台近期迎来了 v1.2.0 版本的发布,在 Kubernetes 无侵入、云边端全协同、跨网络域通信等特性上持续发力,深入打造 OpenYurt + Kubernetes 实现海量边缘计算业务的持续交付与高效运维管理能力。


背景


Kubernetes 作为云原生最基础的项目,目前已经获得开发者与企业的广泛认可并激起高涨的参与热情,OpenYurt 进一步将云原生体系技术扩展到边缘场景,其本身的复杂性以及边缘场景的多样性致使大多数开发者难以在短时间内使用并且参与到 OpenYurt 项目中来。其中关于 OpenYurt 的安装部署成为横在云原生从业者、社区参与者以及对边缘云原生感兴趣的开发者面前的一道难关。


在 OpenYurt v1.2.0 版本中进一步优化了 OpenYurt 安装过程,不再对原生 Kubernetes 的配置有任何修改,基于 Kubernetes+OpenYurt 实现云原生体系的边缘计算平台,将边缘设备与算力以云原生的方式统一管理。


OpenYurt 安装部署优化


在最新发布的 v1.2.0 版本中,OpenYurt 的安装与部署流程做了大量的优化,如图所示,将原流程的十个步骤缩减为五个步骤,在最新的版本中无需对原生 Kubernetes 组件做任何配置上的调整。

image.png

新的安装部署步骤如下:

1. 初始化一个 Kubernetes 集群,并且安装 Flannel 插件以及 CoreDNS;2. 给云端节点打标签,与边缘节点做区分(云端节点一般部署中心管控、可观测组件) ;

3. 部署 OpenYurt 管控组件,Yurt-Controller-Manager 组件负责自治节点上 Pod 的生命周期管理以及边缘侧组件的证书审批,Yurt-App-Manager 组件为跨地域资源及业务管理器,以节点池(一组节点)为单位实行单元化管理。

4. 部署跨网络域通信组件 Raven,Raven 通过在云边构建 VPN 隧道实现跨网络域的通信,其中 Raven-Controller-Manager 负责网关节点的管理,Raven-Agent 负责构建 VPN 以及管理路由。

5. 接入边缘节点,推荐使用最新的 Yurtadm 一键接入边缘节点,将自动部署边缘自治组件 Yurt-Hub。

image.png

部署的详细操作步骤,可以参考 OpenYurt 官方社区网站的安装指南

安装指南:

https://openyurt.io/zh/docs/installation/manually-setup/


受益于 OpenYurt 安装部署优化的 Prometheus 实践


鉴于在 v1.2 版本 Raven 组件功能的进一步完善,Prometheus 以及 MetricsServer 等观测与监控的部署流程将与在原生 Kubernetes 集群上的安装部署流程保持一致,不再依赖 Yurt-Tunnel 和 CoreDNS 的特殊配置。但是相比于原生 Kubernetes 在数据传输的方式产生有一定的区别。如图所示,云端到网关(Gateway)或单独的边缘节点的监控指标数据将通过 Raven 构建的 VPN 隧道进行通信,对普通节点的监控指标数据将被转发到网关节点上通过 VPN 隧道道传输到云端的观测与监控组件。

image.png

尽管在数据传输的方式上有一定区别,但 Promethues 的安装部署仍然保持了原生 Kubernetes 的简易性,以通过 10255 只读端口收集 kubelet 的 metrics 为例,直接加入获取 kubelet 监控指标的配置即可,通过 relabel 规则修改从 10255 只读端口以 http 协议收集信息,即可完成 Prometheus 的安装部署以及配置。


- job_name: 'kubelet'
    kubernetes_sd_configs:
      - role: node
    scheme: https
    tls_config:
      ca_file: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt
      insecure_skip_verify: true
    authorization:
      credentials_file: /var/run/secrets/kubernetes.io/serviceaccount/token
    relabel_configs:
      - action: labelmap
        regex: __meta_kubernetes_node_label_(.+)
      - source_labels: [__address__]
        action: replace
        target_label: __address__
        regex: ([^:;]+):(\d+)
        replacement: ${1}:10255
      - source_labels: [__scheme__]
        action: replace
        target_label: __scheme__
        regex: https
        replacement: http


未来规划与展望


1. 目前 Raven 组件仍然采用 yaml 的方式部署安装,未来将采用 helm 进行管理和部署;并且未来会将 OpenYurt 的所有 Controller 进行整合为 Yurt-Manager 组件,未来将采用 helm 一键安装部署 Yurt-Manager、Raven-Agent 即可完成 OpenYurt 的安装。

2. 在上述的基础上,安装部署流程将进一步简化到三步:初始化 Kubernetes 集群->安装 OpenYurt 组件->接入节点。


如果您对于 OpenYurt 有任何疑问,欢迎使用钉钉扫描二维码或者搜索群号加入钉钉交流群。(钉钉群号:12640034121

image.png

此处,立即了解 OpenYurt 项目

相关实践学习
通过Ingress进行灰度发布
本场景您将运行一个简单的应用,部署一个新的应用用于新的发布,并通过Ingress能力实现灰度发布。
容器应用与集群管理
欢迎来到《容器应用与集群管理》课程,本课程是“云原生容器Clouder认证“系列中的第二阶段。课程将向您介绍与容器集群相关的概念和技术,这些概念和技术可以帮助您了解阿里云容器服务ACK/ACK Serverless的使用。同时,本课程也会向您介绍可以采取的工具、方法和可操作步骤,以帮助您了解如何基于容器服务ACK Serverless构建和管理企业级应用。 学习完本课程后,您将能够: 掌握容器集群、容器编排的基本概念 掌握Kubernetes的基础概念及核心思想 掌握阿里云容器服务ACK/ACK Serverless概念及使用方法 基于容器服务ACK Serverless搭建和管理企业级网站应用
相关文章
|
4月前
|
运维 Kubernetes Cloud Native
OpenKruise:云原生应用自动化的超级引擎,让Kubernetes焕发超能力!
【8月更文挑战第8天】在现代云计算中,云原生应用借助Kubernetes实现了标准化部署。OpenKruise作为扩展工具库,增强了Kubernetes的功能,提供自动化管理复杂应用的能力。通过兼容的控制器、CRDs及Operator模式,OpenKruise简化了应用操作。用户可通过Helm安装,并利用如CloneSet等功能高效复制与管理Pods,从而专注于业务开发而非运维细节,提升云原生应用的灵活性与效率。
110 6
|
5月前
|
运维 Prometheus Kubernetes
kubevela可观测体系问题之KubeVela 的可观测性能力通过插件机制进行扩展的问题如何解决
kubevela可观测体系问题之KubeVela 的可观测性能力通过插件机制进行扩展的问题如何解决
|
6月前
|
Kubernetes 数据处理 调度
天呐!部署 Kubernetes 模式的 Havenask 集群太震撼了!
【6月更文挑战第11天】Kubernetes 与 Havenask 集群结合,打造高效智能的数据处理解决方案。Kubernetes 如指挥家精准调度资源,Havenask 快速响应查询,简化复杂任务,优化资源管理。通过搭建 Kubernetes 环境并配置 Havenask,实现高可扩展性和容错性,保障服务连续性。开发者因此能专注业务逻辑,享受自动化基础设施管理带来的便利。这项创新技术组合引领未来,开启数据处理新篇章。拥抱技术新时代!
154 3
|
7月前
|
SQL Kubernetes 调度
【技术解析 | 实践】部署Kubernetes模式的Havenask集群
本次分享内容为havenask的kubernetes模式部署,由下面2个部分组成(部署Kubernetes模式Havenask集群、 Kubernetes模式相关问题排查),希望可以帮助大家更好了解和使用Havenask。
59749 9
|
运维 Kubernetes Cloud Native
利用 Rainbond 云原生平台简化 Kubernetes 业务问题排查
Kubernetes 已经成为了云原生时代基础设施的事实标准,越来越多的应用系统在 Kubernetes 环境中运行。Kubernetes 已经依靠其强大的自动化运维能力解决了业务系统的大多数运行维护问题,然而还是要有一些状况是需要运维人员去手动处理的。那么和传统运维相比,面向 Kubernetes 解决业务运维问题是否有一些基本思路,是否可以借助其他工具简化排查流程,就是今天探讨的主题。
|
运维 监控 JavaScript
如何用一个插件解决 Serverless 灰度发布难题?
灰度发布又称为金丝雀发布( Canary Deployment )。对于部署在 Serverless 平台上的函数应该怎么进行灰度发布呢?
|
弹性计算 运维 监控
企业级运维之云原生与Kubernetes实战课程 - 第三章第6讲 实验三:灰度发布
通过ingress实现灰度发布,实现权重灰度和根据header灰度。
企业级运维之云原生与Kubernetes实战课程 - 第三章第6讲 实验三:灰度发布
|
Kubernetes Cloud Native 应用服务中间件
企业级运维之云原生与Kubernetes实战课程 - 第三章 Kubernetes集群原理深度解析
理解容器和pod的基本原理以及差异 理解pod创建的过程 理解各个控制器的作用 理解ack集群的网络原理以及coredns的原理
企业级运维之云原生与Kubernetes实战课程 - 第三章 Kubernetes集群原理深度解析
|
弹性计算 运维 Kubernetes
企业级运维之云原生与Kubernetes实战课程 - 第四章第2讲 ACK集群升级
随着社区K8s版本的不断演进,新的版本有着更为先进的新特性、更加全面的安全加固和漏洞修复。阿里云ACK也会对社区版本做适配,并且提供一键升级集群的功能。
企业级运维之云原生与Kubernetes实战课程 - 第四章第2讲 ACK集群升级
|
存储 资源调度 Kubernetes
蚂蚁大规模 Kubernetes 集群无损升级实践指南【探索篇】
蚂蚁 Sigma 作为蚂蚁集团核心的基础设施,经过多年的发展其规模已经处于业界领先位置,大规模集群对 Kubernetes 的稳定性及功能性提出更高的要求。蚂蚁 Sigma 力争在万级规模的云原生环境下,挑战高效稳定、无损无感的云原生操作系统升级,给用户带来极致稳定的、功能新颖的云原生服务。
蚂蚁大规模 Kubernetes 集群无损升级实践指南【探索篇】