Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/design-patterns/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Azure k8s负载平衡器DNS名称_Azure_Kubernetes - Fatal编程技术网

Azure k8s负载平衡器DNS名称

Azure k8s负载平衡器DNS名称,azure,kubernetes,Azure,Kubernetes,我有一个Azure Kubernetes服务集群,运行版本1.15.7。此群集最近替换了较旧的群集版本(1.12.something)。过去,一旦各种服务吊舱启动并运行,我们会在Azure portal中创建一个公共IP资源并为其分配一个名称,然后创建一个服务资源,如下所示: apiVersion: v1 kind: Service metadata: name: myservice-frontend labels: app: myservice spec: ports:

我有一个Azure Kubernetes服务集群,运行版本
1.15.7
。此群集最近替换了较旧的群集版本(
1.12.something
)。过去,一旦各种服务吊舱启动并运行,我们会在Azure portal中创建一个公共IP资源并为其分配一个名称,然后创建一个
服务
资源,如下所示:

apiVersion: v1
kind: Service
metadata:
  name: myservice-frontend
  labels:
    app: myservice
spec:
  ports:
  - port: 80
    name: myservice-frontend
    targetPort: 80
  - port: 443
    name: myservice-frontend-ssl
    targetPort: 443
  selector:
    app: myservice-frontend
  type: LoadBalancer
  loadBalancerIP: 1.2.3.4

最后,我们将向Traffic Manager实例添加公共IP

自从升级到1.15后,这似乎不再有效。我们可以完成上述所有步骤,但一旦创建了服务/负载平衡器,公共IP就会丢失其DNS名称,从而导致其从Traffic Manager中退出。我们可以重新设置名称,但在36-48小时内它会再次丢失。我怀疑AKS试图将名称应用于关联的IP地址,但由于我没有在上面定义名称,它只是将其设置为null


我如何告诉AKS分配给公共IP的名称?更好的是,我可以跳过静态公共IP,让AKS提供一个动态地址,只需将DNS名称添加到Traffic Manager中吗?

这确实是AKS
1.15.7

结果是,这是1.15中新功能的一部分,该功能允许在服务配置中设置负载平衡器IP的DNS标签。因此,上述定义可以变成:

apiVersion: v1
kind: Service
metadata:
  name: myservice-frontend
  labels:
    app: myservice
  annotations:
    service.beta.kubernetes.io/azure-dns-label-name: myservice-frontend
spec:
  ports:
  - port: 80
    name: myservice-frontend
    targetPort: 80
  - port: 443
    name: myservice-frontend-ssl
    targetPort: 443
  selector:
    app: myservice-frontend
  type: LoadBalancer

并且该服务将自动分配一个带有注释DNS名称的新静态IP。

我已尝试设置service.beta.kubernetes.io/azure-DNS-label-name,但似乎不起作用。它是否适用于1.16.x群集?这项服务的地址是什么?