写点什么

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:386850
用户头像
赵钰莹 极客邦科技 总编辑

发布了 897 篇内容, 共 686.6 次阅读, 收获喜欢 2696 次。

关注

评论

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

优秀程序员的30种思维--理解认知篇

hackstoic

程序员 架构思维

公安重点人员动态预警管控系统建设,警务情指一体可视化决策系统

电微13828808271

云脑启智 开源赋能 | 2021新一代人工智能院士高峰论坛暨启智开发者大会顺利举办

OpenI启智社区

人工智能 院士峰会 启智社区

Spring Boot开发,有这个包就够了!

sleeper

Java DevOps springboot 框架

【年度评选】让我们为2021留下浓墨重彩的一笔

InfoQ写作社区官方

2021年度评选 热门活动

恒源云(GPUSHARE)_云GPU服务器如何使用OpenCV?

恒源云

OpenCV 计算机视觉 图像识别

三步开启你的网络服务全球动态加速之旅

声网

网络 人工智能「

公安合成作战指挥中心平台建设方案,情指勤一体化系统开发建设

a13823115807

公安合成作战系统开发 情指勤一体化合成作战系统

toB企业的客户续约提醒

明道云

OPPO大数据离线计算平台架构演进

安第斯智能云

大数据 spark YARN

【CSS 学习总结】第二篇 - HTML 扩展简介

Brave

CSS 12月日更

盘点 2021|代码之外:人生最大的幸运就是努力没有白费 -- 我的2021年度总结

宇宙之一粟

职场成长 生活记录 12月日更 盘点2021 代码之外

作业三

施正威

CRM系统如何帮助企业改进销售流程

低代码小观

低代码 销售管理 CRM 无代码 CRM系统

【AI最前线】精准优质-资讯|分享|热议第45期

百度大脑

人工智能「

盘点 2021|学习、分享、努力中成长

小隐乐乐

盘点2021

公安大数据合成作战平台建设,合成作战指挥中心平台开发

电微13828808271

CSS之变量(三)心形加载条

Augus

CSS 12月日更

【等保小知识】等保一级二级三级哪个要求更高?

行云管家

网络安全 等保 等级保护 等保20

重启iptables为啥内核参数不对了?

BUG侦探

Linux iptables

如何突破浏览器12px限制

云小梦

CSS JavaScript html Vue transform

1300亿次!百度地图发布生态全景3.0 日均位置服务请求次数再创新高

百度开发者中心

人工智能

区块链数字藏品平台开发助力潮玩行业新发展

电微13828808271

《谈谈人生选择的思考逻辑》读后感

Changing Lin

12月日更

彩色图像色彩空间原理(理论篇—6)

不脱发的程序猿

机器视觉 图像处理 色彩空间原理

手把手教你配置php的redis扩展

恒生LIGHT云社区

php redis php扩展

DongTai 社区双周报 | v1.1.4 版本新功能解析来啦!

火线安全

20个提升效率的JS简写技巧

CRMEB

详解 Rainbond Ingress 泛解析域名机制

北京好雨科技有限公司

52 K8S之Harbor项目

穿过生命散发芬芳

k8s 28天写作 12月日更

今年读了多少书?(22/28)

赵新龙

28天写作

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