如何将现有的java工程迁移到k8s?-问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文

如何将现有的java工程迁移到k8s?

初商 2019-09-03 18:08:37 989

本问题来自阿里云开发者社区的【11大垂直技术领域开发者社群】。https://developer.aliyun.com/article/706511 点击链接欢迎加入感兴趣的技术领域群。

Kubernetes Java 开发者 容器
分享到
取消 提交回答
全部回答(1)
  • 郭旭东x
    2019-09-06 12:31:10

    Java应用迁移到 k8s集群,主要涉及应用容器化、k8s容器编排以及java应用访问并不是一个简单宽泛的问题。

    在迁移之前需要考虑如下问题:

    • 之前java应用是否有容器化,没有的话需要先将之容器化,将应用制作为docker镜像,存储到镜像仓库
    • 镜像仓库选择,因为业务镜像都是私有镜像,而且dockerhub与国内还有网络延迟问题,如果应用k8s集群在阿里云,推荐使用阿里云镜像仓库,可以直接使用VPC内网地址拉取镜像;或者自己搭建harbor镜像仓库
    • k8s集群的选择,是阿里云容器服务,还是在ECS上自己搭建K8S集群,这里推荐阿里云容器服务托管版,master节点是免费提供的
    • 使用的java框架,是使用的Spring Cloud 还是 dubbo ,还是其他的,这步很重要,涉及到容器环境下的网络调用模式及服务访问方式
    • 服务的资源分配、Java应用很吃内存,需要确定JVM配置,根据JVM配置来手动配置K8S资源,或者设置JVM自动获取,但是要升级java版本,使其可以正确获取容器内的资源
    • 服务的访问方式,是http访问还是RPC调用,K8S自动服务发现,但是像dubbo这样的框架也都带有服务发现,这里就要确定是使用K8S自带的还是使用框架的,这里推荐使用原来的,这样代码修改量想,更好迁移
    • 如何访问集群,这里推荐使用nginx-ingress来统一接受k8s集群外的访问,nginx-ingress使用的很广泛并且配置简单,易于使用

    上面介绍的都只是迁移之前需要考虑的问题,具体迁移的问题有很多,并不是一个问答能解决的,同时也需要开发和运维人员去适应K8S下的开发模式,淌坑也是必须的。

    0 0
云原生
使用钉钉扫一扫加入圈子
+ 订阅

云原生时代,是开发者最好的时代

推荐文章
相似问题