目前阿里云云原生产品家族已经支持多集群管理功能,允许使用阿里云容器服务Kubernetes(简称ACK)控制台或kubectl命令接入、统一纳管其他公有云、客户IDC自建K8s集群,集中管理部署K8s工作负载;并可以针对工作负载流量统一管理,支持服务就近访问、故障转移能力。
本文重点介绍如何使用ACK控制台来接入一个外部Kubernetes集群,无论这个集群是否提供公网访问能力,或者该集群是来自其他公有云提供商,亦或是用户IDC自定义集群。

前提条件

  • 您需要开通容器服务、弹性伸缩(ESS)服务和访问控制(RAM)服务。
    登录 容器服务管理控制台 、 RAM 管理控制台 和 弹性伸缩控制台 开通相应的服务。
  • 修改Kubernetes集群仍然必须在原有的集群中进行完成,包括添加与删除节点、升级Kubernetes集群版本以及更改Kubernetes组件参数等

Demo示例

为了帮助您更好地理解,以下是我们制作的一个简短的视频Demo,演示如何在ACK控制台上统一纳管一个Google GKE K8s集群。

视频地址:http://cloud.video.taobao.com/play/u/368124/p/1/e/6/t/1/231980990953.mp4

创建自有Kubernetes集群用于接入外部集群

按照以下步骤可以在ACK控制台中创建自有Kubernetes集群用于接入外部集群,具体如下:

  • 登录 容器服务管理控制台, 在 Kubernetes 菜单下,单击左侧导航栏的集群 > 集群,进入集群列表页面。
  • 单击页面右上角的创建 Kubernetes 集群,在弹出的选择集群模板中,选择导入已有Kubernetes集群,单击创建。
  • 默认进入导入已有 Kubernetes 集群配置页面,如下所示。
  • 填写集群的名称,例如test-external-cluster1。集群名称应包含1-63个字符,可包含数字、汉字、英文字符或连字符(-)。
  • 选择集群所在的地域和可用区。
  • 设置集群的网络。Kubernetes 集群仅支持专有网络。您可以在已有 VPC 列表中选择所需的 VPC 和交换机。需要绑定EIP,用于建立集群链接。
  • 单击创建集群,启动创建过程。

接入外部Kubernetes集群

按照以下步骤可以在ACK控制台中接入外部Kubernetes集群,具体如下:

  • 在新集群test-external-cluster1右侧单击管理,进入基本信息页面。在页面下方,可以看到集群导入代理配置:
  • 单击复制,将其中的yaml文件内容拷贝到agent.yaml文件中,并在目标集群中执行命令:
    kubectl apply -f agent.yaml
  • 在目标集群中执行kubectl get all -n ack-system命令,查看代理运行状况。
NAME                                     READY   STATUS    RESTARTS   AGE
pod/ack-cluster-agent-655b75c987-dwp6b 1/1 Running 0 9s NAME DESIRED CURRENT UP-TO-DATE AVAILABLE AGE
deployment.apps/ack-cluster-agent 1 1 1 1 26m NAME DESIRED CURRENT READY AGE
replicaset.apps/ack-cluster-agent-655b75c987 1 1 1 26m

  • 可以在容器服务管理控制台的 Kubernetes 集群列表页面,看到新集群的状态为运行中。
    在集群列表页面中,找到新集群test-external-cluster1,单击操作列中的管理,查看新集群的基本信息和连接信息。

使用ACK控制台或者kubectl管理接入的集群

接入成功之后,可以通过 kubectl 连接 Kubernetes 集群,执行kubectl get node命令,查看新集群test-external-cluster1的节点信息。此时,您可以使用该kubeconfig连接远程的被接入集群,进行应用负载的部署。

同样地,可以在该接入的集群中通过使用Helm来发布管理应用:

总结

目前阿里云云原生产品家族已经支持多集群管理功能,允许使用阿里云容器服务Kubernetes(简称ACK)控制台或kubectl命令导入、统一纳管其他公有云、客户IDC自建K8s集群,集中管理部署K8s工作负载;并可以针对工作负载流量统一管理,支持服务就近访问、故障转移能力。本文重点介绍了如何使用ACK控制台来接入一个外部Kubernetes集群,后续讲继续介绍如何在接入的多个集群中统一部署管理应用以及如何实现工作负载、流量的统一管理。

本文作者:osswangxining

原文链接

本文为云栖社区原创内容,未经允许不得转载。

多云混合云之多集群统一管理:基于阿里云ACK统一纳管多个不同Kubernetes集群的更多相关文章

  1. 基于阿里云容器服务用docker容器运行ASP.NET 5示例程序

    小试阿里云容器服务 之后,接下来有一个挡不住的小试冲动--用docker容器运行程序.首先想到的程序是 ASP.NET 5示例程序,于是参考msdn博客中的这篇博文 Running ASP.NET 5 ...

  2. 基于阿里云的JavaEE系统框架介绍

    基于阿里云的系统框架展望 1) CDN 用于缓存静态文件等等.七牛和阿里的都还可以. 七牛要做的久一点,各种图片处理的接口要完善一些 阿里的CDN要稍微好一点点,但是没有不安全的访问方式,访问稍微没有 ...

  3. (二)基于阿里云的MQTT远程控制(购买阿里云,在云端安装MQTT,测试MQTT远程通信)

    QQ名称为Friday~的网友把他自己买MQTT的过程截图发给了我,今天就说一下如何购买阿里云,安装MQTT可以参考 http://www.cnblogs.com/yangfengwu/p/77646 ...

  4. 2019 GNTC 阿里云参会分享:开放、弹性的阿里云网络NFV平台

    作为全球规模最大的网络技术盛会之一,GNTC全球网络技术大会是网络技术发展的重要风向标,包含战略规划.产业方向.技术趋势.应用创新等皆汇集于此.而作为云服务商代表,阿里云再度受邀以顶级钻石合作伙伴之名 ...

  5. 一·创建Linux服务器(基于阿里云)

    本系统是基于阿里云服务器,购买请前往https://www.aliyun.com/?spm=5176.8142029.388261.1.taXish ,由于经济能力的限制,本人购买的是最低配置如下 其 ...

  6. 基于阿里云ECS的phpwind网站备案前如何远程访问调试?

    基于阿里云ECS的phpwind网站部署非常方便,但云主机的外网IP绑定域名却比较复杂.先要申请域名,成功后还需要备案.尤其是企业网站备案,需要提交的资料较多,准备资料以及审批的时间较长.这段时间在外 ...

  7. 基于阿里云server搭建SVNserver

    基于阿里云server搭建SVNserver 本系列文章由ex_net(张建波)编写,转载请注明出处. http://blog.csdn.net/ex_net/article/details/8577 ...

  8. 构建基于阿里云OSS文件上传服务

    转载请注明来源:http://blog.csdn.net/loongshawn/article/details/50710132 <构建基于阿里云OSS文件上传服务> <构建基于OS ...

  9. 基于阿里云SLB/ESS/EIP/ECS/VPC的同城高可用方案演练

    今天基于阿里云SLB/ESS/EIP/ECS/VPC等产品进行了一次同城高可用方案演练: 基本步骤如下: 1. 在华东1创建VPC网络VPC1,在华东1可用区B和G各创建一个虚拟交换机vpc1_swi ...

  10. 阿里云短信验证_基于阿里云OpenAPI实现

    阿里云短信服务 背景简介: 短信验证以及短信通知,目前已经应用的非常广泛,最近因项目需要,需要将原来的短信接口换成阿里云的的短信服务,原项目集成的短信服务能够实现短信的发送以及短信的验证整个过程,简单 ...

随机推荐

  1. 如何解决mysql服务器load高

    .登录主机 # ssh hostname .确定是否是mysql导致 # top .查看是哪些sql正在慢查询 # mysql -h hostname -P port -u username # sh ...

  2. EPSG、SRID、WKT的概念

    转自:http://www.cnblogs.com/jackdong/archive/2010/12/20/1911558.html EPSG:European Petroleum Survey Gr ...

  3. eclipse环境问题-java版本不兼容

    有时候虽然我们给项目配置的jdk版本.项目编译版本都一直,但是还是会报如下的错误: Description Resource Path Location Type Java compiler leve ...

  4. JavaScript 的 WebAssembly

    本周发布的 Firefox 52 加入了对 WebAssembly 的支持,成为第一个支持 WebAssembly 标准的浏览器,而其它浏览器如 Chrome 57.Safari 和 Edge 也都会 ...

  5. lost connection to MySQL server at waiting for initial communication packet,system error:o

    1 可以先测试mysql本地连接石否正常 2 正常的话查看远程连接的IP在mysql中是否有权限 GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'   IDENTIF ...

  6. thinkphp用swiftmailer发邮件demo

    QQ邮箱 include_once APPPATH . 'libraries/swiftmailer/swift_required.php'; $transport = Swift_SmtpTrans ...

  7. ADO.NET实体数据模型

    本文说一下如何使用ADO.NET实体数据模型,并解释一些概念. 1,首先你要建立一个数据库.比如我在SQL2005上面建立了数据库student,包含两个表: 2,然后再项目上添加新建项: 3,打开新 ...

  8. JS---案例:滚动条

    案例:滚动条 html框架分为4部分,最外面的div, 放文字的div, 装滚动条的div层,以及滚动条本身放在一个div里面 <!DOCTYPE html> <html> & ...

  9. 让footer始终待在页面底部

    1.把html和body的height属性设为100%;保证content的高度能撑满浏览器; 2.把#content的高度也设置为100% ,但是这里我们使用了“min-height”属性,而不是的 ...

  10. 多机MySQL一主双从详细安装主从复制

    多机MySQL一主双从详细安装 一.复制的工作原理 要想实现AB复制,那么前提是master上必须要开启二进制日志 1.首先master将数据更新记录到二进制日志文件 2.从slave start开始 ...