2025上半年,最新 AI实践都在这!20+ 应用案例,任听一场议题就值回票价 了解详情
写点什么

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

发布了 894 篇内容, 共 677.0 次阅读, 收获喜欢 2694 次。

关注

评论

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

Qt|ListWidget控件总结

中国好公民st

List qt 9月月更

NGINX 的未来:回到开源的初心

NGINX开源社区

nginx Kubernetes nginx 开源版 NGINX Kubernetes Gateway NGINX Amplify

ScrumMaster可不是项目经理!

ShineScrum

Scrum ScrumMaster 项目经理

通过爬虫爬取一些图片

吉师职业混子

9月月更

Python 教程之变量

芯动大师

变量 9月月更 Python语法

Orbeon form 的安装和使用教程

汪子熙

typescript SAP Hybris form 9月月更

如何用AR Engine开发一个虚拟形象表情包?

HarmonyOS SDK

AR

PLG SaaS 产品 Figma 商业模式拆解

程序员泥瓦匠

SaaS

Flomesh 多租户 Ingress Controller

Flomesh

Service Mesh 服务网格

在windows电脑上配置kubectl远程操作kubernetes

程序员欣宸

Kubernetes 9月月更

面对全新的编程语言,这些思路可以帮助你察觉漏洞

网络安全学海

黑客 网络安全 信息安全 渗透测试 漏洞利用

Python语法之数据类型

芯动大师

Python 数据类型 9月月更

Chrome操作指南——入门篇(五)Snippets

Augus

Chrome开发者工具 9月月更

高并发之负载均衡

源字节1号

软件开发

OKR之剑·理念篇02: OKR布道之旅

vivo互联网技术

团队管理 OKR 目标管理

MASA MAUI Plugin 安卓蓝牙低功耗(一)蓝牙扫描

MASA技术团队

.net MASA MAUI Xamarin

本周预告:资深架构师解读多架构体系下的内核与系统开发等技术演讲 | 第47-48期

OpenAnolis小助手

开源 ebpf sig 龙蜥大讲堂 普华

《简单记个笔记》之部分CSS选择器介绍

吉师职业混子

9月月更

Python教程之Python简介

芯动大师

编程语言 9月月更 Python简介

【字符串函数内功修炼】strlen + strstr + strtok + strerror(三)

Albert Edison

C语言 9月月更 strlen strstr strtok

[极致用户体验] 多页面应用里,「网页内返回」按钮,何时用 history.back 何时用 replaceState?

HullQin

CSS JavaScript html 前端 9月月更

Chrome操作指南——入门篇(六)console.injector

Augus

Chrome开发者工具 9月月更

Chrome操作指南——入门篇(七)console中的await和log

Augus

Chrome开发者工具 9月月更

2022-09-19:给定字符串 S and T,找出 S 中最短的(连续)子串 W ,使得 T 是 W 的 子序列 。 如果 S 中没有窗口可以包含 T 中的所有字符,返回空字符串 ““。 如果有不

福大大架构师每日一题

算法 rust 福大大

史上最详细vue的入门基础

楠羽

Vue 笔记 9月月更

行业方案|“机场”行业智能运维解决方案介绍

云智慧AIOps社区

解决方案 智能运维 运维管理 智能运维AIOps 监控安全

Hinton等谈深度学习十年;PyTorch落地Linux基金会的影响;机器学习界的“GitHub”|AI系统前沿动态

OneFlow

人工智能

挑战30天学完Python:Day3夯实基础-布尔值和运算符

MegaQi

9月月更 挑战30天学完Python

那些你不知道的炫酷按钮交互效果

南城FE

CSS 前端 动画 交互设计 按钮

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