将网站或域与 AKS 群集链接
Linking a website or domain with AKS cluster
在 Azure Kubernetes 中,服务或负载均衡器公开 IP 地址以访问容器的应用程序。如果其中一个容器有一个 web 应用程序,那么它将作为一个 IP 对外暴露,如 115.111.0.145。假设我有一个从 GoDaddy 购买的网站 www.example.com,那么我如何 link 这个带有 AKS 集群的域,以便最终用户将通过名称而不是 IP 访问该网站?
您可以使用 Ingress。 Ingress 是一个 API 对象,用于管理对集群中服务的外部访问,通常是 HTTP。 Ingress 可以配置为提供服务外部可访问的 URL、负载平衡流量、终止 SSL/TLS 并提供基于名称的虚拟主机。您可以查看官方 kubernetes Ingress-doc 了解更多详情。
这里给出一个简单的入口 yaml 清单作为示例:
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: simple-fanout-example
spec:
rules:
- host: foo.bar.com
http:
paths:
- path: /foo
pathType: Prefix
backend:
service:
name: service1
port:
number: 4200
- path: /bar
pathType: Prefix
backend:
service:
name: service2
port:
number: 8080
在这种情况下,您可以使用 Microsoft azure 的 DNS 区域服务,并可以为您的站点定义一组规范名称,例如 -
example.com 可以标记为 'A' 类型记录,即暴露给负载均衡器的 Nginx 控制器服务的 IP。
然后您可以创建多个规范名称,例如 -
api.example.com 并且可以将其映射到 example.com 作为 DNS 区域中的 CNAME 类型记录。
这有助于您将来自多个域的流量引导至集群。
kubectl get svc
应该给你nginx服务的外部IP,你可以在DNS区域的A记录中给出那个外部IP。
希望对您有所帮助!!
在 Azure Kubernetes 中,服务或负载均衡器公开 IP 地址以访问容器的应用程序。如果其中一个容器有一个 web 应用程序,那么它将作为一个 IP 对外暴露,如 115.111.0.145。假设我有一个从 GoDaddy 购买的网站 www.example.com,那么我如何 link 这个带有 AKS 集群的域,以便最终用户将通过名称而不是 IP 访问该网站?
您可以使用 Ingress。 Ingress 是一个 API 对象,用于管理对集群中服务的外部访问,通常是 HTTP。 Ingress 可以配置为提供服务外部可访问的 URL、负载平衡流量、终止 SSL/TLS 并提供基于名称的虚拟主机。您可以查看官方 kubernetes Ingress-doc 了解更多详情。
这里给出一个简单的入口 yaml 清单作为示例:
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: simple-fanout-example
spec:
rules:
- host: foo.bar.com
http:
paths:
- path: /foo
pathType: Prefix
backend:
service:
name: service1
port:
number: 4200
- path: /bar
pathType: Prefix
backend:
service:
name: service2
port:
number: 8080
在这种情况下,您可以使用 Microsoft azure 的 DNS 区域服务,并可以为您的站点定义一组规范名称,例如 -
example.com 可以标记为 'A' 类型记录,即暴露给负载均衡器的 Nginx 控制器服务的 IP。
然后您可以创建多个规范名称,例如 - api.example.com 并且可以将其映射到 example.com 作为 DNS 区域中的 CNAME 类型记录。
这有助于您将来自多个域的流量引导至集群。
kubectl get svc
应该给你nginx服务的外部IP,你可以在DNS区域的A记录中给出那个外部IP。
希望对您有所帮助!!