网络技术

找论坛
zst_banyue
Lv5 太平洋舰队上尉
太平洋舰队上尉 贡献966,距离下一级还需134贡献
楼主
2018-03-12 17:16 0 0 只看楼主
电梯直达 
[p=32, null, left]kubernetes集群让您能够方便的部署管理运维容器化的应用。但是实际情况中经常遇到的一些问题,就是单个集群通常无法跨单个云厂商的多个Region,更不用说支持跨跨域不同的云厂商。这样会给企业带来一些担忧,如何应对可用区级别的Fail,以及容灾备份?是否会造成厂商锁定,增加迁移成本?如何应对线上线下突发流量?如何统一管理调度容器资源?单个集群规模的上限等等。[/p][p=32, null, left]Federation集群联邦可以一定程度上解决这些问题。Federation是可以将分布在多个Region或者多个云厂商的Kubernetes集群整合成一个大的集群,统一管理与调度。[/p][p=32, null, left]本文档演示搭建一个杭州和北京的kubernetes集群组成集群联邦,其中杭州集群作为联邦的控制平面[/p]
原文:http://click.aliyun.com/m/43608/
准备域名[p=32, null, left]Federation使用域名将不同子集群的同一个服务暴露出来,因此需要用户提供一个可配置的域名。您可以通过万网在阿里云上购买域名然后配置到您的Federation集群上。以域名spacexnice.xyz为例,请按照购买域名文档购买好域名。[/p]配置域名[p=32, null, left]由于Federation在添加域名解析记录的时候设置域名的TTL为3分钟,域名层级为5级,因此需要到阿里云上对您刚购买的域名进行设置,使得该域名允许的最小TTL值小于3分钟,同时域名层级大于5.[/p][p=32, null, left]进入云解析控制台选择您刚刚购买的域名,更多里面选[升级]或者[升级VIP]评论[/p][p=32, null, left]评论[/p][p=32, null, left]在弹出的页面中更改最低TTL值为60s,子域名级别为7级,然后保存。[/p]创建多个子集群[p=32, null, left]本示例创建的Federation集群包含两个子集群,分别在杭州和北京region。我们首先需要在这两个Region创建出两个可用的集群,集群创建步骤参考文档[/p][p=32, null, left]杭州集群[/p][p=32, null, left]评论[/p][p=32, null, left]北京集群[/p][p=32, null, left]评论[/p]部署federation控制平面[p=32, null, left]选择杭州的子集群作为Federation的宿主集群,安装Federation的控制平面。并配置好本地的kubeconfig。通过运行kubefed init命令来初始化主集群。具体步骤如下:[/p]安装kubefed[p=32, null, left]在hangzhou集群的master节点安装kubefed[/p][p=32, null, left]评论[/p]配置kubeconfig[p=32, null, left]在杭州集群master节点中配置hangzhou,beijing两个集群的context,让改节点能通过切换context连接不同的子集群。要修改的内容如下:[/p]

  • [p=32, null, left]修改hangzhou集群的kubeconfig的cluster,user,context的名字为hangzhou[/p]
  • [p=32, null, left]拷贝beijing集群kubeconfig中的cluster,user,context内容到a)步骤中kubeconfig,并修改相应的cluster,user,context名字为beijing[/p]
[p=32, null, left]为了方便初学者,我们提供了一个自动化的脚本,可以自动通过ssh从您指定的集群中下载kubeconfig配置文件,并合并成一个整体。[/p][p=32, null, left]通过执行脚本来自动生成~/.kube/config文件。脚本需要指明从哪些集群上下载kubeconfig文件并合并,格式如下python context.py -H hangzhou:1.1.1.1,beijing:2.2.2.2 注意参数替换成你自己的集群Region和IP,脚本可能会要求您输入ssh的登录密码。[/p][p=32, null, left]评论[/p][p=32, null, left]配置结果如下:[/p][p=32, null, left]评论[/p]配置alidns.yaml文件[p=32, null, left]zones填写您前面申请的域名,注意以点号结尾。并且替换您的accesskeyid和accesskeysecret.[/p][p=32, null, left]评论[/p]初始化控制federation平面[p=32, null, left]评论[/p][p=32, null, left]评论[/p]添加集群至federation[p=32, null, left]目前为止您已经成功的初始化好了Federation的控制平面。接下来需要将各个子集群加入到Federation集群中。[/p][p=32, null, left]添加hangzhou集群[/p][p=32, null, left]评论[/p][p=32, null, left]评论[/p][p=32, null, left]添加beijing集群[/p][p=32, null, left]评论[/p][p=32, null, left]后面介绍下集群查询,移除集群,删除联邦等命令[/p]集群查询[p=32, null, left]查询注册到Federation的kubernetes集群列表[/p][p=32, null, left]评论[/p]移除集群[p=32, null, left]移除beijing集群[/p][p=32, null, left]评论[/p]删除集群联邦[p=32, null, left]集群联邦控制平面的删除功能还在开发中,目前可以通过删除namespace federation-system的方法来清理(注意pv不会删除)。命令在host-cluster-context上执行。[/p][p=32, null, left]评论[/p]创建服务[p=32, null, left]集群联邦支持以下联邦资源,这些资源会自动在所有注册的kubernetes集群中创建.[/p]

  • [p=32, null, left]Federated ConfigMap[/p]
  • [p=32, null, left]Federated Service[/p]
  • [p=32, null, left]Federated DaemonSet[/p]
  • [p=32, null, left]Federated Deployment[/p]
  • [p=32, null, left]Federated Ingress[/p]
  • [p=32, null, left]Federated Namespaces[/p]
  • [p=32, null, left]Federated ReplicaSets[/p]
  • [p=32, null, left]Federated Secrets[/p]
  • [p=32, null, left]Federated Events(仅存在federation控制平面)[/p]
创建service[p=32, null, left]评论[/p][p=32, null, left]您还可以通过kubectl scale deploy nginx --replicas=3 --context=federation来扩展nginx副本,然后观察nginx应用在各个子集群中的分布情况。[/p][p=32, null, left]评论[/p]创建deployment[p=32, null, left]评论[/p]查看federation service[p=32, null, left]评论[/p][p=32, null, left]通过域名访问服务:[/p][p=32, null, left]评论[/p]查看云解析dns的record记录[p=32, null, left]我们可以在阿里云云解析控制台看见刚刚添加的nginx的dns记录。[/p][p=32, null, left]评论[/p]总结[p=32, null, left]Federation为您提供一种多集群管理的途径,统一管理多云(multi-cloud)资源,并提供了一种灾备的新途径。阿里云Kubernetes服务也将进一步简化Federation的用户体验,将容器服务Kubernetes集群管理与Federation完美结合在一起。也欢迎您的意见和建议,帮助我们迭代产品能力。[/p][p=32, null, left]??阿里云Kubernetes服务 全球首批通过Kubernetes一致性认证,简化了Kubernetes集群生命周期管理,内置了与阿里云产品集成,也将进一步简化Kubernetes的开发者体验,帮助用户关注云端应用价值创新。[/p]

您需要登录后才可以发帖 登录 | 立即注册

其他登录方式:

常用表情
太平洋电脑网论坛帖子仅代表作者本人意见,不代表网站立场。请勿轻信特价、汇款、中奖等信息,
请勿轻易透露个人资料,因此产生的一切后果,PConline不承担任何责任
回复 发新帖 找论坛 反馈 回顶部