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

本文涉及的产品
可观测可视化 Grafana 版,10个用户账号 1个月
性能测试 PTS,5000VUM额度
函数计算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搭建和管理企业级网站应用
相关文章
|
存储 Kubernetes Cloud Native
【云原生】k8s组件&架构介绍与K8s最新版部署
【云原生】k8s组件&架构介绍与K8s最新版部署
464 0
|
6月前
|
Serverless PyTorch 算法框架/工具
Serverless应用引擎部署问题之下个节点不可用如何解决
Serverless部署是指将应用程序部署到无服务器架构中,该架构允许开发者专注于代码而无需关心底层服务器的运行和维护;针对Serverless部署过程中可能遇到的挑战,本合集提供全面的指南和最佳实践,帮助开发者顺利实现应用的无服务器化部署。
400 2
|
4月前
|
存储 监控 持续交付
利用GitOps实现持续部署:深度技术实践
【7月更文挑战第7天】利用GitOps实现持续部署是一种高效、可靠的运维模式。通过将基础设施和应用配置作为代码进行管理,并通过自动化的CI/CD流程进行部署和验证,GitOps显著提高了软件交付的效率和质量。然而,在实施GitOps的过程中也需要注意其带来的挑战,并采取相应的措施来加以应对。随着技术的不断进步和实践的深入,GitOps必将在未来发挥更加重要的作用。
|
6月前
|
SQL Kubernetes 调度
【技术解析 | 实践】部署Kubernetes模式的Havenask集群
本次分享内容为havenask的kubernetes模式部署,由下面2个部分组成(部署Kubernetes模式Havenask集群、 Kubernetes模式相关问题排查),希望可以帮助大家更好了解和使用Havenask。
59734 9
|
存储 Prometheus Kubernetes
阿里 sealer 是如何实现整个集群一键交付的?
顾名思义,和操作系统 .iso 镜像或 Docker 镜像类似,集群镜像是用一定的技术手段把整个集群的所有文件以一定格式打成的一个资源包。
1202 0
阿里 sealer 是如何实现整个集群一键交付的?
|
分布式计算 Kubernetes Cloud Native
Kubernetes云原生实战:分布式GeaFlow实现图研发,构建第一个商业智能应用
Kubernetes在云原生应用中扮演着至关重要的角色,为商业智能(BI)强大赋能。不同于传统的BI,容器化部署在集群中可以获得更高的可靠性、弹性和灵活性。
Kubernetes云原生实战:分布式GeaFlow实现图研发,构建第一个商业智能应用
|
算法 安全 调度
隐语v0.7.18版本更新,构建跨机构分布式底座RayFed
隐语v0.7.18版本更新,构建跨机构分布式底座RayFed
476 0
|
边缘计算 缓存 运维
OpenYurt v1.2 新版本深度解读(一): 聚焦边云网络优化
云原生边缘计算智能开源平台 CNCF OpenYurt 于近期发布了 v1.2 版本。OpenYurt 是业界首个对云原生体系无侵入智能边缘计算平台,具备全方位的“云、边、端一体化”能力,能够快速实现海量边缘计算业务和异构算力的高效交付、运维及管理。
OpenYurt v1.2 新版本深度解读(一): 聚焦边云网络优化
|
弹性计算 Kubernetes Cloud Native
招商银行 KubeVela 离线部署实践
本文将以 KubeVela v1.2.5 版本为例,介绍招商银行 KubeVela 的离线部署实践,来帮助其他用户在离线环境中更便捷的完成 KubeVela 的部署。
576 8
招商银行 KubeVela 离线部署实践
|
运维 监控 JavaScript
如何用一个插件解决 Serverless 灰度发布难题?
灰度发布又称为金丝雀发布( Canary Deployment )。对于部署在 Serverless 平台上的函数应该怎么进行灰度发布呢?
下一篇
无影云桌面