背景:当前环境中有 Cluster A 和 Cluster B,各自部署了相同的应用,且该应用有两个域名用于处理不同的请求。目前,这两个域名的请求都由 Cluster A 中的应用处理。为进行应用迁移,现希望将域名 A 的请求继续由 Cluster A 处理,而域名 B 的请求则切换至由 Cluster B 中的应用来处理。
由于目前的流量处理都是由 Istio 负责,所以可以通过 ServiceEntry 来实现此需求。
背景:当前环境中有 Cluster A 和 Cluster B,各自部署了相同的应用,且该应用有两个域名用于处理不同的请求。目前,这两个域名的请求都由 Cluster A 中的应用处理。为进行应用迁移,现希望将域名 A 的请求继续由 Cluster A 处理,而域名 B 的请求则切换至由 Cluster B 中的应用来处理。
由于目前的流量处理都是由 Istio 负责,所以可以通过 ServiceEntry 来实现此需求。
Istio 是一种开源服务网格,使用代理拦截所有网络流量,可根据配置提供广泛的应用程序感知功能。
常见的 CRD:
Docker 部署 NeuVector 适用于做简单的测试。
RKE2 Cilium without kube-proxy
集群如果使用 Cilium 作为 cni 的话,可以实现 Kubernetes Without kube-proxy。
Cilium 的 kube-proxy 替代程序依赖于 socket-LB 功能,需要使用 v4.19.57、v5.1.16、v5.2.0 或更高版本的 Linux 内核。Linux 内核 v5.3 和 v5.8 增加了其他功能,Cilium 可利用这些功能进一步优化 kube-proxy 替代实现。
已有的 RKE2 Cilium 集群,可以通过下面的步骤开启此功能。
RKE ETCD 出现 request cluster id mismatch 问题修复记录
当集群中三个 Control Plane 节点的 ETCD 出现 request cluster ID mismatch
问题时,可以保留一个 ETCD 实例通过 --force-new-cluster
参数重建集群,然后再将其他两个节点的 ETCD 实例加入集群。