速来报名!AICon北京站鸿蒙专场~ 了解详情
写点什么

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

发布了 883 篇内容, 共 647.0 次阅读, 收获喜欢 2679 次。

关注

评论

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

企业上云后,不容忽视的管理工具-云管平台

行云管家

云计算 企业上云 云管平台 云管理

第三方测评:GaussDB(for Redis)稳定性与扩容表现

华为云开发者联盟

redis 华为云 GaussDB(for Redis) NoSQL数据库 云原生NoSQL数据库

“以终为始”的正确使用方式

石云升

思维模型 1月月更

Linux之wc命令

入门小站

Linux

恒源云(GPUSHARE)_AdderSR: Towards Energy Efficient Image Super-Resolution学习笔记

恒源云

人工智能 深度学习 计算机视觉

恒源云(GPUSHARE)_attention decoder效果不佳时如何应对

恒源云

深度学习 计算机视觉

一款基于Java语言开发的,开源商业应用的模块化开发框架和智能管理平台-Axelor

马农驾驾驾

Java 系统开发 BPM 开发框架 智能管理

从智能汽车到智慧出行,区块链能打通车联网的任督二脉吗?

CECBC

亚信科技AntDB数据库荣获“2021金融科技应用创新突出贡献奖”

亚信AntDB数据库

AntDB 金融行业 亚信科技

全栈工程师?你知道全流程工程师吗?

蜜糖的代码注释

Java 开发 后端技术

流批一体技术框架探索及在袋鼠云数栈中的实践

袋鼠云数栈

用 docker 快速搭建 kafka(qbit)

qbit

kafka zookeeper docker image

Flutter启动流程分析之插件化升级探索

得物技术

flutter Weex Google 框架 原生

直播回顾:准确性提升到 5 秒级,ssar 独创的 load5s 指标有多硬核?| 龙蜥技术

OpenAnolis小助手

Linux 开源

五步实现HarmonyOS应用(ets)【鸿蒙开发 07】

坚果

鸿蒙 1月月更

携程DBA负责人俞榕刚:OceanBase在携程的落地和实践

OceanBase 数据库

数据库 分布式 OceanBase 开源 携程 客户实践

☕【Java深层系列】「并发编程系列」让我们一起探索一下CompletionService的技术原理和使用指南

洛神灬殇

Java 线程池 CompletionService 异步执行 1月日更

手把手教你丨小熊派移植华为 LiteOS-M

华为云开发者联盟

华为 鸿蒙 LiteOS 小熊派 移植

微信的业务架构图和学生管理系统的毕业设计

Geek_8d5fe5

架构实战营

2022年保障企业内网安全就用行云管家!免费试用!

行云管家

云计算 云平台 内网 云管平台

“在线设计”网络资源管理的源头活水

鲸品堂

通信运营商 在线设计平台

农业掀起“上链”潮 区块链等数字技术正成为乡村振兴新动力

CECBC

SparkSQL的入门实践教程

华为云开发者联盟

sql spark 编程 Sparksql 结构化数据

基于Calcite的分布式多数据源查询

麒思妙想

MySQL 数据库 Apache Calcite gbase8a

鉴释加入龙蜥社区,助力开源生态建设

OpenAnolis小助手

Linux 开源 社群 合作伙伴

前端工程师 2022 年必备的 7 个工具

开源之巅

JavaScript node.js

鉴释加入龙蜥社区,助力开源生态建设

OpenAnolis小助手

Linux 开源

在线YAML转TOML工具

入门小站

工具

高并发环境下,6个构建缓存服务需要注意的问题

华为云开发者联盟

缓存 高并发 开发 并发 缓存服务

必读!如何有效的进行沟通

观测观测

异步调用如何使用是最好的方式?

CRMEB

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