注册
登录
IOS
Kubernetes - 如何从“内部负载均衡器”切换到“入口控制器”
返回
Kubernetes - 如何从“内部负载均衡器”切换到“入口控制器”
作者:
糖果
发布时间:
2024-08-14 10:22:46 (20天前)
我们在 Azure Kubernetes 服务中部署了我们的应用程序、Pod 和服务,但我们无法从另一个虚拟网络的 VM 连接到我们的容器应用程序。与 AKS Pod 相比,当我们想要从来自另一个虚拟网络/子网的 Azure 资源 (VM) 建立网络连接时,服务类型内部负载均衡器似乎无法用于这些目的。我阅读文档https://docs.microsoft.com/en-us/azure/aks/ingress-internal-ip但我仍然很困惑我应该如何修改我的 YAML 定义,以便使用“Ingress-Controller with type Internal LB”部署我们的应用程序。你能帮我修改 YAML 吗?我是否真的需要使用 Helm 安装某些东西(我以前从未使用过它)以及需要安装的地方.. 如果可能的话,我想避免这种情况。我不明白文档中描述的概念。对我们来说,我认为如果我们在同一个命名空间中有入口控制器就可以了。 谢谢! apiVersion: apps/v1 kind: Deployment metadata: name: fa-ads-deployment labels: app: fa-ads-deployment spec: replicas: 1 template: metadata: name: frontarena-ads-aks-test labels: app: frontarena-ads-aks-test spec: nodeSelector: "beta.kubernetes.io/os": linux restartPolicy: Always containers: - name: frontarena-ads-aks-test image: faselect.dev/frontarena/ads:test1 ports: - containerPort: 9000 selector: matchLabels: app: frontarena-ads-aks-test --- apiVersion: v1 kind: Service metadata: name: frontarena-ads-aks-test annotations: service.beta.kubernetes.io/azure-load-balancer-internal: "true" spec: type: LoadBalancer ports: - protocol: TCP port: 9000 selector: app: frontarena-ads-aks-test
收藏
举报
2 条回复
1#
回复此人
糖果
|
2021-09-09 09-54
您分享的文章是创建 Ingress 控制器和资源。Ingress 控制器不会随集群自动启动,它们充当反向代理和负载均衡器,并监视来自所有命名空间的 Ingress 对象。使用此页面选择最适合您的集群的入口控制器实现。每个人都会有自己的配置。 https://kubernetes.io/docs/concepts/services-networking/ingress-controllers/。 一旦控制器开始观察入口流量,我们需要定义称为入口资源的路由规则,您将在其中定义路由规则,例如,在下面,如果用户导航到 test.com/icons 然后将调用服务测试。您不一定必须定义主机。 apiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: ingress-resource-backend spec: rules: - host: test.com http: paths: - path: /icons pathType: ImplementationSpecific backend: service: name: test port: number: 9999 您可以使用以下命令检查您的入口资源。 kubectl get ingress root@ip-172-31-54-44:/home/ubuntu# k get ingress -n logiq NAME CLASS HOSTS ADDRESS PORTS AGE ingress-resource-backend public test.com 127.0.0.1 80 1d 概括: 选择适合您项目的入口控制器,您无需安装 helm。直接去git项目下载项目,运行kubectl apply -f。对于前 azure nginx:https : //kubernetes.github.io/ingress-nginx/deploy/#azure 控制器可能/可能不会创建名为 ingress 的命名空间,完全取决于它们的配置(minikube ingresss 是一个简单的插件)并且会旋转无需太多人工干预即可自行安装 Pod。如果需要,您可以根据需要修改配置映射。 控制器启动并运行后,为其编写 Ingress 资源以选择路由规则。 如果你还有疑问,这里有详细视频。 https://www.youtube.com/watch?v=u948CURLDJA
编辑
登录
后才能参与评论