使用HTTP应用程序路由的AKS公开应用程序

时间:2019-05-23 10:14:08

标签: azure kubernetes kubernetes-ingress azure-aks

我正在尝试使用HTTP应用程序路由公开应用程序。我启用了http_application_routing插件,这是此配置的结果:

  "addonProfiles": {
    "httpapplicationrouting": {
      "config": {
        "HTTPApplicationRoutingZoneName": "****.northeurope.aksapp.io",
        "httpapplicationroutingzonename": "****.northeurope.aksapp.io"
      },
      "enabled": true
    }
  }

我创建了入口资源:

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  annotations:
    kubernetes.io/ingress.class: addon-http-application-routing
  labels:
    name: axon-azure
  name: axon-ing-azure
spec:
  rules:
  - host: axon.****.northeurope.aksapp.io
    http:
      paths:
      - backend:
          serviceName: axon-svc
          servicePort: 8024
        path: /

但是当我测试它时不起作用:

curl axon.****.northeurope.aksapp.io
curl: (6) Could not resolve host: axon.****.northeurope.aksapp.io

在AKS文档之后,我正在考虑DNS问题,因为使用此命令不会显示DNS区域名称(但我不知道为什么):

az aks show --resource-group myResourceGroup --name myAKSCluster --query addonProfiles.httpApplicationRouting.config.HTTPApplicationRoutingZoneName -o table

在这种情况下有什么问题的想法吗?

1 个答案:

答案 0 :(得分:0)

对于AKS中的HTTP应用程序路由,使用CLI命令启用路由功能时:

az aks enable-addons --resource-group your_resource_group --name your_akscluster --addons http_application_routing

如果没有错误,则可以通过CLI命令获得Azure为您创建的DNS区域:

az aks show --resource-group your_resource_group --name your_akscluster --query addonProfiles.httpApplicationRouting.config.HTTPApplicationRoutingZoneName -o table

在以上两个CLI命令中,您需要使用自己的组和AKS更改your_resource_groupyour_akscluster

在使用yaml文件创建入口之后,您应该等待很长时间,以便Azure在DNS区域中为您创建记录。可能需要5分钟。您可以查看记录是否已在DNS区域中。

如果您需要HTTP路由,建议您按照Create an ingress controller in Azure Kubernetes Service (AKS)Use a static IP中的步骤自行创建。这样,您将确切地知道您执行了哪个步骤或出错了。