阿里云Serverless Kubernetes已经支持服务发现功能,目前支持Intranet service、Headless service、ClusterIP service。
前提条件 需要先开通云解析PrivateZone,在云解析DNS控制台中开通。 您已经成功创建一个 Serverless Kubernetes 集群,参见创建 Serverless Kubernetes 集群。 您已成功连接到Kubernetes集群,参见通过 kubectl 连接 Kubernetes 集群。 背景信息 云解析PrivateZone,是基于阿里云专有网络VPC(Virtual Private Cloud)环境的私有域名解析和管理服务。您能够在自定义的一个或多个专有网络中将私有域名映射到IP资源地址,同时在其他网络环境无法访问您的私有域名。
说明 PrivateZone的收费规则参见收费标准。 操作步骤 部署Deployment和创建Service。 样例模板如下所示,在yaml文件中复制如下yaml代码,然后执行kubectl create -f nginx-service.yaml命令进行创建。
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 执行以下命令,查看应用的运行状况。 kubectl get svc,pod,deployment 登录云解析DNS控制台。 在左侧导航栏中,单击PrivateZone进入全部Zone页签。 Zone列表 选中目标Zone,单击解析设置,弹出解析设置详情页面。
说明 Zone里面的Record格式为$svc.$ns,对应相应的IP解析。解析规则如下: LoadBalancer service:PrivateZone中只对应一条解析Record,为SLB IP。 ClusterIP service:PrivateZone中对应多条解析Record,分别为后端Pod的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。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。