多云混合云之多集群统一管理:基于阿里云ACK统一纳管多个不同Kubernetes集群
目前阿里云云原生产品家族已经支持多集群管理功能,允许使用阿里云容器服务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集群的更多相关文章
- 基于阿里云容器服务用docker容器运行ASP.NET 5示例程序
小试阿里云容器服务 之后,接下来有一个挡不住的小试冲动--用docker容器运行程序.首先想到的程序是 ASP.NET 5示例程序,于是参考msdn博客中的这篇博文 Running ASP.NET 5 ...
- 基于阿里云的JavaEE系统框架介绍
基于阿里云的系统框架展望 1) CDN 用于缓存静态文件等等.七牛和阿里的都还可以. 七牛要做的久一点,各种图片处理的接口要完善一些 阿里的CDN要稍微好一点点,但是没有不安全的访问方式,访问稍微没有 ...
- (二)基于阿里云的MQTT远程控制(购买阿里云,在云端安装MQTT,测试MQTT远程通信)
QQ名称为Friday~的网友把他自己买MQTT的过程截图发给了我,今天就说一下如何购买阿里云,安装MQTT可以参考 http://www.cnblogs.com/yangfengwu/p/77646 ...
- 2019 GNTC 阿里云参会分享:开放、弹性的阿里云网络NFV平台
作为全球规模最大的网络技术盛会之一,GNTC全球网络技术大会是网络技术发展的重要风向标,包含战略规划.产业方向.技术趋势.应用创新等皆汇集于此.而作为云服务商代表,阿里云再度受邀以顶级钻石合作伙伴之名 ...
- 一·创建Linux服务器(基于阿里云)
本系统是基于阿里云服务器,购买请前往https://www.aliyun.com/?spm=5176.8142029.388261.1.taXish ,由于经济能力的限制,本人购买的是最低配置如下 其 ...
- 基于阿里云ECS的phpwind网站备案前如何远程访问调试?
基于阿里云ECS的phpwind网站部署非常方便,但云主机的外网IP绑定域名却比较复杂.先要申请域名,成功后还需要备案.尤其是企业网站备案,需要提交的资料较多,准备资料以及审批的时间较长.这段时间在外 ...
- 基于阿里云server搭建SVNserver
基于阿里云server搭建SVNserver 本系列文章由ex_net(张建波)编写,转载请注明出处. http://blog.csdn.net/ex_net/article/details/8577 ...
- 构建基于阿里云OSS文件上传服务
转载请注明来源:http://blog.csdn.net/loongshawn/article/details/50710132 <构建基于阿里云OSS文件上传服务> <构建基于OS ...
- 基于阿里云SLB/ESS/EIP/ECS/VPC的同城高可用方案演练
今天基于阿里云SLB/ESS/EIP/ECS/VPC等产品进行了一次同城高可用方案演练: 基本步骤如下: 1. 在华东1创建VPC网络VPC1,在华东1可用区B和G各创建一个虚拟交换机vpc1_swi ...
- 阿里云短信验证_基于阿里云OpenAPI实现
阿里云短信服务 背景简介: 短信验证以及短信通知,目前已经应用的非常广泛,最近因项目需要,需要将原来的短信接口换成阿里云的的短信服务,原项目集成的短信服务能够实现短信的发送以及短信的验证整个过程,简单 ...
随机推荐
- Luogu P3835 【模板】可持久化平衡树(fhq Treap)
P3835 [模板]可持久化平衡树 题意 题目背景 本题为题目普通平衡树的可持久化加强版. 题目描述 您需要写一种数据结构(可参考题目标题),来维护一些数,其中需要提供以下操作(对于各个以往的历史版本 ...
- 19.10.14-Q
小$P$的咕事 总结: 还行,就是$T1$写的慢了,$T2,T3$暴力有点锅 T1 小模拟. 打就是了. 可以小小的手玩一下. (考试的时候某同志人肉对拍了$20min$)=.= 418 ms 360 ...
- js 中直接调用和new的区别
var test = new Test(); // 这里的 test 是什么? 是一个 Test 对象吗?错!这里 test 是一个函数——Test 中返回的 function() { return ...
- VS2005+VTK读入点云文件
使用VTK读入点云文件的基础代码: 头文件: 也许不是全部都用到,为了接下来得工程还是全部都包含进去了 #include "vtkRenderer.h" #include &quo ...
- LINUX查询用户命令
W 可显示开机多久,当前登录的所有用户,平均负载 Who 显示当前登录的所有用户 Last 显示每个用户最后的登录时间 Lastlog 显示每个用户最后的登录时间
- 微信小程序之组件的集合(三)
看看音乐播放组件是如何实现完成的音乐的播放的!!! 一.音乐music组件的开发 1.页面以及页面样式的开发 // music组件页面开发 <view hidden="{{hidden ...
- JavaScript内容回顾
<!DOCTYPE html> <!--JavaScript内容回顾--> <html lang="en"> <head> < ...
- 转:Android检查设备是否联网
public static boolean isConnect(Context context) { ConnectivityManager connectionManager = (Connecti ...
- 面试Nginx的几个常见问题(
1.Nginx 服务器上的 Master 和 Worker 进程分别是什么 Master 进程:读取及评估配置和维持 Worker 进程:处理请求 2.怎么添加模块? Firstly, you h ...
- 【solr】Solr5.5.4单机部署
Solr5.5.4单机部署 Solr5和Solr4有很大区别,最为明显的就是Solr5已经可以独立部署,从Solr5开始,Solr已经不再以war包形式部署,Solr已经成为了一个独立的java服务端 ...