共计 2273 个字符,预计需要花费 6 分钟才能阅读完成。
作者:苏杭、敬易
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 组件做任何配置上的调整。
新的装置部署步骤如下:
- 初始化一个 Kubernetes 集群,并且装置 Flannel 插件以及 CoreDNS;2. 给云端节点打标签,与边缘节点做辨别(云端节点个别部署核心管控、可观测组件);
- 部署 OpenYurt 管控组件,Yurt-Controller-Manager 组件负责自治节点上 Pod 的生命周期治理以及边缘侧组件的证书审批,Yurt-App-Manager 组件为跨地区资源及业务管理器,以节点池(一组节点)为单位履行单元化治理。
- 部署跨网络域通信组件 Raven,Raven 通过在云边构建 VPN 隧道实现跨网络域的通信,其中 Raven-Controller-Manager 负责网关节点的治理,Raven-Agent 负责构建 VPN 以及治理路由。
- 接入边缘节点,举荐应用最新的 Yurtadm 一键接入边缘节点,将主动部署边缘自治组件 Yurt-Hub。
部署的具体操作步骤,能够参考 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 隧道道传输到云端的观测与监控组件。
只管在数据传输的形式上有肯定区别,但 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
将来布局与瞻望
- 目前 Raven 组件依然采纳 yaml 的形式部署装置,将来将采纳 helm 进行治理和部署;并且将来会将 OpenYurt 的所有 Controller 进行整合为 Yurt-Manager 组件,将来将采纳 helm 一键装置部署 Yurt-Manager、Raven-Agent 即可实现 OpenYurt 的装置。
- 在上述的根底上,装置部署流程将进一步简化到三步:初始化 Kubernetes 集群 -> 装置 OpenYurt 组件 -> 接入节点。
如果您对于 OpenYurt 有任何疑难,欢送应用钉钉扫描二维码或者搜寻群号退出钉钉交换群。(钉钉群号:12640034121)
戳此处,立刻理解 OpenYurt 我的项目