没多久之前学k8s,为了实践,用k3s在两节点上搭建集群,用来跑一些简单或测试应用。

不过考虑到服务器的续费问题,不如全站迁移到k8s中,屏蔽服务器运维细节,方便以后更换。

当时现状是,服务器使用了阿里云和腾讯云,地域也不一样,所以第一步就是把备案集中在一家, 因为一些价格、活动的原因,选择了腾讯云,数据存储用的是文件存储CFS,在k8s中可以作为 nfs共享数据。

在备案期间,把所有应用进行容器化改造,当然一些太旧且基本封存的项目就不那么完美了,生成的镜像 太大凑合着用。

接下来,开始迁移。

原生应用有多个nginx、mysql、redis实例,k3s两个worker,禁用traefik。

  1. 自然是编写yaml,主要是deployment、service mysql、redis仍然使用原生,通过 service 映射,应用启动后绑定service ip到hosts

  2. nginx通过hosts绑定进行反向代理,程序本身迁移到容器中,腾空一个节点,部署traefik, 使用deployment固定到空节点,启动80、443

  3. 把nginx迁移到traefik,适配修改,完成。


·End·