赛尔校园公共服务平台 Logo
平台使用
阿里云
百度云
移动云
智算服务
教育生态
登录 →
赛尔校园公共服务平台 Logo
平台使用 阿里云 百度云 移动云 智算服务 教育生态
登录
  1. 首页
  2. 阿里云
  3. ACK Serverless集群
  4. 操作指南
  5. 网络
  6. 网络管理最佳实践
  7. 基于云解析PrivateZone的服务发现

基于云解析PrivateZone的服务发现

  • 网络管理最佳实践
  • 发布于 2025-04-18
  • 0 次阅读
文档编辑
文档编辑

如果您希望在自定义的一个或多个专有网络中将私有域名映射到IP资源地址,同时在其他网络环境中无法访问您的私有域名,可以使用云解析PrivateZone的服务发现功能。阿里云容器服务 Serverless 版支持的服务发现功能是基于阿里云专有网络VPC(Virtual Private Cloud)环境的私有域名解析和管理服务,目前支持Intranet service、Headless service、ClusterIP service。

前提条件

  • 已在云解析DNS控制台中开通云解析PrivateZone。

    请选择合适的地域。PrivateZone目前未在中东东部1(迪拜)地域开服。

  • 已创建ACK Serverless集群,并确保已启用PrivateZone组件。

    • 方式一:对于新建的ACK Serverless集群,您可以在创建集群时,指定PrivateZone作为DNS服务发现,启用PrivateZone组件。

      image.png

    • 方式二:对于已创建的ACK Serverless集群,您可以在eci-profile配置项中设置enablePrivateZone参数值为true,启用PrivateZone组件。

  • 已通过kubectl连接Kubernetes集群。

费用说明

PrivateZone的收费规则,请参见产品定价。

操作步骤

  1. 部署Deployment和创建Service。

    样例模板如下所示,在YAML文件中复制如下的YAML代码,然后执行kubectl create -f nginx-service.yaml命令进行创建。

    apiVersion: v1
    kind: Service
    metadata:
      name: nginx-headless-service
    spec:
      ports:
      - port: 80
        protocol: TCP
      selector:
        app: nginx
      clusterIP: None
    ---
    apiVersion: v1
    kind: Service
    metadata:
      name: nginx-clusterip-service
    spec:
      ports:
      - port: 80
        protocol: TCP
      selector:
        app: nginx
      type: ClusterIP
    ---
    apiVersion: v1
    kind: Service
    metadata:
      name: nginx-intranet-service
      annotations:
        service.beta.kubernetes.io/alicloud-loadbalancer-address-type: intranet
    spec:
      ports:
      - port: 80
        protocol: TCP
      selector:
        app: nginx
      type: LoadBalancer
    ---
    apiVersion: apps/v1
    kind: Deployment
    metadata:
      name: nginx-deployment
      labels:
        app: nginx
    spec:
      replicas: 3
      selector:
        matchLabels:
          app: nginx
      template:
        metadata:
          labels:
            app: nginx
        spec:
          containers:
          - name: nginx
            image:  nginx:alpine
            ports:
            - containerPort: 80
  2. 执行以下命令,查看应用的运行状况。

    kubectl get svc,pod,deployment
  3. 登录到 云解析DNS控制台。

  4. 在左侧导航栏单击内网DNS解析(PrivateZone),在右上角选择管理配置模式,再单击内置权威,在此页签下单击用户域名。

  5. 在用户域名页签,单击目标域名操作列的解析记录。

    说明

    Zone里面的Record格式为$svc.$ns,对应相应的IP解析。解析规则如下:

    • LoadBalancer service:PrivateZone中只对应一条解析Record,为SLB IP。

    • ClusterIP service:PrivateZone中只对应一条解析Record,为Cluster IP。

    • Headless service:PrivateZone中对应多条解析Record,分别为后端Pod的IP。

    您可在该VPC网络环境中通过私有域名访问Service。

    • 长域名访问:$svc.$ns.svc.cluster.local.$clusterId,通过这种方式也可以访问其他集群中同步到PrivateZone的Service。

    • 短域名访问:您可以通过$svc访问本Namespace下的Service,通过$svc.$ns访问其他Namespace中的Service。

    更多信息,请参见serverless-k8s-examples。

相关文档

ACK Serverless集群除了可以选择PrivateZone,也可以选择CoreDNS作为DNS服务器(二者选其一即可)。具体操作,请参见ACK Serverless集群中DNS域名解析原理。

相关文章

为ECI Pod分配IPv6地址 2025-04-18 14:48

ECI Pod(即ECI实例)同时支持IPv4和IPv6地址,相比IPv4,IPv6大大扩展了地址的可用空间。本文介绍如何为ECI Pod分配IPv6地址。 背景信息 IPv4的应用范围虽广,但网络地址资源有限,制约了互联网的发展。IPv6不仅可以解决网络地址资源有限的问

基于云解析PrivateZone的服务发现 2025-04-18 14:48

如果您希望在自定义的一个或多个专有网络中将私有域名映射到IP资源地址,同时在其他网络环境中无法访问您的私有域名,可以使用云解析PrivateZone的服务发现功能。阿里云容器服务 Serverless 版支持的服务发现功能是基于阿里云专有网络VPC(Virtual Private Cloud)环境的

如何给Pod挂载弹性公网IP 2025-04-18 14:48

本文介绍如何在ACK Serverless集群或虚拟节点中给Pod挂载EIP。 前提条件

部署高可靠Ingress Controller 2025-04-18 14:48

在使用Nginx Ingress Controller时,Controller所属的Pod作为流量的实际入口和转发服务的提供者,它们的可靠性决定了Controller的可靠性。Nginx Ingress Controller在安装后默认使用两个Pod,在大多数场景中已经足够可靠。如果您有进一步提高可

目录
Copyright © 2025 your company All Rights Reserved. Powered by 赛尔网络.
京ICP备14022346号-15
gongan beian 京公网安备11010802041014号