如何进行已有 Kubernetes 应用的迁移?-问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文

如何进行已有 Kubernetes 应用的迁移?

2020-03-20 17:22:29 381 1

如何进行已有 Kubernetes 应用的迁移?

取消 提交回答
全部回答(1)
  • 小天使爱美
    2020-03-20 17:23:03

    简介 本文介绍如何将已有的Kubernetes应用迁移到基于ECI的Serverless Kubernetes或者虚拟节点扩展。希望能帮助您了解在迁移到ECI中需要进行的适配和改造,并帮助您解决部分在迁移应用中可能会遇到的问题。

    假设 本文假设您对Kubernetes的基本概念已经有所了解,或者已经在私有云或者公有云中使用过基于Kubernetes的容器编排服务。

    迁移前的准备工作 您可以通过Serverless Kubernetes简介 和 虚拟节点扩展 了解ECI与Kubernetes对接的基本原理。

    您无需提前创建ECI实例,只需要提前创建好Serverless Kubernetes集群,或者在已有的Kubernetes托管版中部署好Virtual Node Addon。

    如何管理Kubernetes及ECI运行情况 您可以通过容器服务控制台来操作Serverless Kubernetes集群和Kubernetes托管版集群。 您可以通过阿里云提供的CloudShell来管理Kubernetes集群。 您可以通过kubectl客户端在本地计算机来访问远端的Kubernetes集群。详情请参考这里。 如何查看已经创建的ECI实例 进入弹性容器实例控制台,在左上角选择相应的可用区,您可以看到已经创建的ECI实例。如果您看到的是空白页面,请申请弹性容器实例页面的访问权限。 进入容器服务控制台,从左侧导航栏中点击‘应用’>‘容器组’,选择对应的集群和namespace,可以查看到已有的pod,被调度到virtual-kubelet节点上的即是ECI实例,点击实例的‘详情’可以查看详细信息。 eci-pod

    应用迁移的限制 virtual-kubelet是作为一个虚拟节点对接Kubernetes,因此ECI实例并不会跑在一个集中式的“真实”节点上,而是会被打散分布在整个阿里云的资源池中。

    考虑到公有云的安全性和虚拟节点本身带来的限制,ECI目前还不支持Host相关功能以及DaemonSet。具体如下:

    不支持的功能 具体内容 备选方案 HostPath Mount本地宿主机文件到容器中 使用emptyDir,或者NAS存储 HostNetwork 将宿主机端口映射到容器中 使用type=LoadBalancer的负载均衡 DaemonSet 在容器所在宿主机上部署static pod 通过sidecar形式在pod中部署多个镜像 Privileged权限 容器拥有privileged权限 使用secretContext为pod添加Capability type=NodePort的Service 通过宿主机端口映射到容器端口 使用type=LoadBalancer的负载均衡 应用迁移的说明 Kubernetes集群和Serverless Kubernetes共享容器镜像仓库,因此可以将容器镜像先上传到容器镜像仓库中。为了加速镜像的拉取,建议使用专有网络的镜像地址(registry-vpc.xxx)。 Serverless Kubernetes和虚拟节点扩展 支持 Deployment, ReplicaSet,Job,Cronjob,StatefulSet等常见controller,理论上可以直接运行。 Serverless Kubernetes和虚拟节点扩展 利用 PrivateZone 实现 服务发现,因此建议在创建集群时默认勾选 PrivateZone支持。 Serverless Kubernetes和虚拟节点扩展 支持 type=LoadBalancer 的Service。您可以将Service修改为type=LoadBalancer,详情请参考这里。 apiVersion: v1 kind: Service metadata: labels: app: nginx name: nginx namespace: default spec: externalTrafficPolicy: Cluster ports: - port: 80 protocol: TCP targetPort: 80 selector: app: nginx sessionAffinity: None type: LoadBalancer

    0 0
相关问答

17

回答

【精品问答】Java技术1000问(1)

问问小秘 2019-11-15 11:24:15 53730浏览量 回答数 17

162

回答

惊喜翻倍:免费ECS+免费环境配置~!(ECS免费体验6个月活动3月31日结束)

豆妹 2014-10-29 17:52:21 226137浏览量 回答数 162

4

回答

kernel:unregister_netdevice: waiting for lo to become free. Usage count = 1

鲁二哥 2016-03-23 23:33:32 35616浏览量 回答数 4

13

回答

阿里云支持docker吗?

antaeus 2014-02-21 14:50:49 43842浏览量 回答数 13

1

回答

2020年阿里、字节:一套高效的iOS面试题(二)

montos 2020-04-13 15:08:17 36327浏览量 回答数 1

56

回答

基于Java容器的多应用部署技术实践【精品问答集锦】

管理贝贝 2016-07-25 18:07:23 61352浏览量 回答数 56

3

回答

对症下药:Tomcat停机过程分析与线程处理方法

驻云科技 2018-01-29 15:18:53 44938浏览量 回答数 3

20

回答

【Java学习全家桶】1460道Java热门问题,阿里百位技术专家答疑解惑

管理贝贝 2018-05-31 13:57:45 45942浏览量 回答数 20

11

回答

【精品问答合集】MongoDB热门问答

李博 bluemind 2019-05-29 16:50:19 121319浏览量 回答数 11

13

回答

【精品问答合集】Java热门问答

李博 bluemind 2019-05-29 16:00:45 125565浏览量 回答数 13
0
文章
3151
问答
问答排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载