💡
原文中文,约3800字,阅读约需9分钟。
📝
内容提要
本文介绍了vcluster的使用及其与Kubernetes Gateway API的结合。vcluster能够在单一K8s集群中创建独立的虚拟集群,解决环境隔离问题。结合Gateway API和Envoy Proxy,可以实现灵活的流量管理和构建企业级网关。文章还提供了创建vcluster和部署Kite的具体步骤。
🎯
关键要点
- vcluster可以在单一K8s集群中创建独立的虚拟集群,解决环境隔离问题。
- Kubernetes Gateway API设计更现代,解耦流量入口、路由和底层实现,便于可插拔和扩展。
- 使用vcluster创建虚拟集群的步骤包括安装vcluster和创建集群。
- 通过vcluster connect命令可以切换到虚拟集群,所有kubectl命令将针对虚拟集群生效。
- Envoy Gateway可以通过官方release的yaml一键部署。
- 使用Gateway API暴露kite服务的示例资源yaml包括HTTPRoute、Gateway、EnvoyProxy自定义参数及GatewayClass。
- custom-proxy-config的envoyService.type配置为NodePort,以适应本地或某些云/k8s集群环境。
- 访问kite服务需要获取Gateway暴露的NodePort,并在本地hosts绑定域名。
❓
延伸问答
vcluster是什么,它有什么用?
vcluster是一种在单一K8s集群中创建独立虚拟集群的工具,能够解决环境隔离问题,适合多开发者和多租户环境。
为什么选择Kubernetes Gateway API而不是Ingress?
Kubernetes Gateway API设计更现代,解耦了流量入口、路由和底层实现,便于可插拔和扩展,适合企业级网关需求。
如何在K8s中创建vcluster?
可以通过安装vcluster并使用命令`vcluster create <cluster-name> --namespace <namespace>`来创建虚拟集群。
如何使用Gateway API暴露Kite服务?
可以通过定义HTTPRoute、Gateway和EnvoyProxy等资源yaml文件,并应用这些配置来暴露Kite服务。
Envoy Gateway的部署步骤是什么?
可以通过下载官方release的yaml文件并使用`kubectl apply -f install.yaml`命令一键部署Envoy Gateway。
如何访问Kite服务?
需要获取Gateway暴露的NodePort,并在本地hosts文件中绑定域名,之后可以通过`kite.example.com:<NodePort>`访问Kite服务。
➡️