写点什么

OpenShift 3.11 推出 Kubernetes Federation V2 预览版

  • 2019-01-03
  • 本文字数:1689 字

    阅读完需:约 6 分钟

OpenShift 3.11推出Kubernetes Federation V2预览版

随着数据中心遍布全球,用户越来越多地寻求跨区域或集群传播其应用或服务的方法。这种需求由多种用例驱动:实现多集群负载均衡,避免单集群故障造成巨大损失;通过可访问和使用多集群的混合云解决方案避免提供商锁定。


Red Hat 一直在研究 Kubernetes Multicluster Special Interest Group(SIG)和 Federation Working Group,近日发布在 OpenShift 3.11 上的 Kubernetes Federation V2 预览版本,旨在允许用户通过单一 API 将服务和工作负载部署到多个集群。

目的

Red Hat 对多集群问题的探索出于用户需求推动,其用例包括:


  • 将应用程序、服务和策略分发到多集群;

  • 应用程序和服务迁移及其在集群之间的存储;

  • 应用程序和服务的灾难恢复。


为了满足这些需求并尽可能获取广泛受众,Red Hat 在设计时考虑了模块化,这意味着已经添加接受个别特殊用例的能力,并且改变系统行为,可用于自定义资源。

Federation V2 简介

Federation V2 是 Kubernetes 运营商利用自定义资源定义,提供管理 Kubernetes Cluster Registry 跟踪的多个 Kubernetes 集群应用和服务工具。Federation 允许用户将工作负载部署到集群注册表,使用有关工作负载信息对 DNS 进行编程,并动态调整部署工作负载的不同集群副本。随着 Federation 的成熟,Red Hat 也打算添加处理存储、工作负载等功能。

Federation 概念


从根本上说,Federation 必须配置两种类型信息:


  • Federation 要处理的 API 类型信息

  • Federation 目标分发集群资源


对于 Federation 处理的每种 API 类型,声明状态的不同部分存在于不同的 API 资源中:


  • “template”类型包含资源的基本规范;

  • “placement”类型包含资源应分发到的集群规范;

  • 可选“overrides”类型包含在某些集群中更改模板资源的规范;


Propagation 是指资源如何分配到目标集群,目前存在主动协调方法。其中,Federation 运行控制器,该控制器主动将资源推送到目标集群。Scheduling 是指决策能力,可以决定工作负载如何在不同集群中传播,类似于人为操作。


最后,部署在多个集群中的应用程序和服务经常需要将外部请求路由到其中一个服务集群的 DNS 记录,Federation 的 DNS 功能为服务或入口的每个端点维护 DNS 条目。

示例

本示例展示使用 Deployment 资源的情况,此示例描述了分布在两个集群上的 Deployment 资源,其中一个集群是 3 副本,另一个集群是 5 副本。


Deployment 的基本定义位于 FederatedDeployment 中:


apiVersion: core.federation.k8s.io/v1alpha1kind: FederatedDeploymentmetadata:  name: test-deployment  namespace: test-namespacespec:  template:    metadata:      labels:        app: nginx    spec:      replicas: 3      selector:        matchLabels:          app: nginx      template:        metadata:          labels:            app: nginx        spec:          containers:          - image: nginx            imagePullPolicy: Always            name: nginx
复制代码


具有相同名称的 FederatedDeploymentPlacement 资源包含有关 Deployment 应存在的集群信息:


apiVersion: core.federation.k8s.io/v1alpha1 kind: FederatedDeploymentPlacementmetadata:  name: test-deployment  namespace: test-namespacespec:  clusternames:    - cluster2    - cluster1
复制代码


FederatedDeploymentOverrides 同名资源包含有关如何在某些集群中区分副本的信息:


apiVersion: core.federation.k8s.io/v1alpha1 kind: FederatedDeploymentOverridemetadata:  name: test-deployment  namespace: test-namespacespec:  overrides:    - clusterName: cluster2      replicas: 5
复制代码


此时,只能覆盖给定 Federation 类型的单个字段(在“Deployments”情况下是“replicas”字段)。 如果必须在成员集群初始创建目标资源时进行应用覆盖,则应在 Template 资源之前创建 Override 资源。

未来

Red Hat 在 Kubernetes 社区的下一步改进由 Federation 开发者预览版收到的反馈驱动,如果你对该功能感兴趣并希望 Federation 在某些部分进行改进,可以在社区中进行反馈。


参考链接:https://blog.openshift.com/kubernetes-federation-v2-on-openshift-3-11/


2019-01-03 17:386917
用户头像
赵钰莹 极客邦科技 总编辑

发布了 934 篇内容, 共 722.3 次阅读, 收获喜欢 2717 次。

关注

评论

发布
暂无评论
发现更多内容

如何开发一款基于 Vite+Vue3 的在线表格系统(上)

葡萄城技术团队

Vue 前端 vite 框架 系统开发

自研发RTC退退退!接入第三方RTC才是真的香

擎声科技

RTC 实时音视频 社交APP出海 泛娱乐出海 擎声Qtt

故障复盘后的告警如何加出效果?浙江移动等老司机总结了6条注意事项

TakinTalks稳定性社区

政企组织为什么更需要私有化的IM即时通讯平台?

BeeWorks

【LeetCode】设计有序流Java题解

Albert

LeetCode 8月月更

LeaRun.Java微服务快速开发平台

力软低代码开发平台

Tapdata 与麒麟软件完成兼容性互认证,国产化生态布局再跃步

tapdata

Tapdata Tapdata架构

排查 log4j2 安全漏洞的一次经历

观测云

融云 | 企业通讯录的设计与实现

融云 RongCloud

通信 企业

音视频大佬离职后,我是如何在短时间内在音视频开发做出一个性价比高的最优方案

擎声科技

开发者 RTC sdk 实时音视频 擎声Qtt

<T>和<?>区别

六月的雨在InfoQ

开源 T 8月月更

灵感宝盒图谱全新改版!代码实验室开启报名丨RTE NG-Lab 双周报

RTE开发者社区

人工智能 RTE NG-Lab

开源一夏 | 使用 CSS 的仿 GitHub 登录页面

海拥(haiyong.site)

开源 8月月更

Seata-php 入门与下半年展望

apache/dubbo-go

Apache Doris 助力网易严选打造精细化运营 DMP 标签系统

SelectDB

数据分析 OLAP Doris 多维分析 DMP

科创板的一束“海光”,正在让中国半导体发展之路更清晰

脑极体

兼容认证|天融信太行云与观测云完成产品兼容性互认证

观测云

重新定义容器化 Serverless 应用的数据访问

阿里巴巴中间件

云计算 阿里云 Serverless 容器 云原生

个推漫话数据智能 | 《天才基本法》中的贝叶斯网络及原理解读

个推

人工智能 机器学习 深度学习 算法模型

大数据培训中心哪家比较靠谱

小谷哥

iofod - 为攻城师们打造的低代码平台

iofod jude

低代码 实用工具

彩虹女神跃长空,Go语言进阶之Go语言高性能Web框架Iris项目实战-项目入口与路由EP01

刘悦的技术博客

Go golang Go web Go 语言 golang 面试

Gartner:云安全面临的三大挑战以及三个对应策略

BeeWorks

合并两个有序单链表,对象析构这一着我实在没想到。

清风莫追

8月月更

当云走向行业垂直化,企业该如何应对?

BeeWorks

15条建议,把技术成果写成一篇高质量学术论文

阿里技术

经验分享

Jedis 客户端

武师叔

8月月更

头脑风暴:完全平方数

HelloWorld杰少

算法 LeetCode 数据结构, 8月月更

【数独 1】不回溯,试试候选数法1ms高效解数独谜题-C++实现

清风莫追

8月月更

EMQX企业版正式上架华为云OSC,助力企业实现云原生MQTT Broker的全生命周期管理

EMQ映云科技

物联网 华为云 mqtt emqx 8月月更

OpenShift 3.11推出Kubernetes Federation V2预览版_服务革新_赵钰莹_InfoQ精选文章