日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

基于External-DNS的多集群Service DNS实践

發布時間:2024/8/23 编程问答 44 豆豆
生活随笔 收集整理的這篇文章主要介紹了 基于External-DNS的多集群Service DNS实践 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

概述

External-DNS提供了編程方式管理Kubernetes Service資源的DNS的功能,類似于容器服務kubernetes federation v2實踐一:基于External-DNS的多集群Ingress DNS實踐,External-DNS會監聽LoadBalancer類型的Service,然后與云廠商打通,按照可用區、region和全局三個維度生成獨自的域名解析記錄,便于服務間調用引導流量。本文簡單介紹如何在阿里云容器平臺上使用External-DNS管理多集群Service DNS。

環境準備

參考容器服務kubernetes federation v2實踐一:基于External-DNS的多集群Ingress DNS實踐完成【聯邦集群準備】、【配置RAM信息】和【部署External-DNS】部分,并配置好kubeConfig,如下所示:

kubectl config get-contexts CURRENT NAME CLUSTER AUTHINFO NAMESPACE * cluster1 cluster1 kubernetes-admin1cluster2 cluster2 kubernetes-admin2

資源部署

創建FederatedDeployment和FederatedService

yaml如下,注意FederatedService類型為LoadBalancer

apiVersion: v1 kind: Namespace metadata:name: test-namespace---apiVersion: types.federation.k8s.io/v1alpha1 kind: FederatedNamespace metadata:name: test-namespacenamespace: test-namespace spec:placement:clusterNames:- cluster1- cluster2---apiVersion: types.federation.k8s.io/v1alpha1 kind: FederatedDeployment metadata:name: test-deploymentnamespace: test-namespace spec:template:metadata:labels:app: nginxspec:replicas: 2selector:matchLabels:app: nginxtemplate:metadata:labels:app: nginxspec:containers:- image: nginxname: nginxplacement:clusterNames:- cluster1- cluster2---apiVersion: types.federation.k8s.io/v1alpha1 kind: FederatedService metadata:name: test-servicenamespace: test-namespace spec:template:spec:selector:app: nginxtype: LoadBalancerports:- name: httpport: 80placement:clusterNames:- cluster2- cluster1

查看各個集群Service詳情:

get svc -n test-namespace --context cluster1 NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE test-service LoadBalancer 172.23.5.173 39.96.243.59 80:30185/TCP 28sget svc -n test-namespace --context cluster2 NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE test-service LoadBalancer 172.21.11.44 47.95.152.65 80:30384/TCP 31s

創建Domain和ServiceDNSRecord

yaml如下,注意請將【service.example-domain.club】替換成測試域名(必須由阿里云托管的域名)。

apiVersion: multiclusterdns.federation.k8s.io/v1alpha1 kind: Domain metadata:name: test-domainnamespace: federation-system domain: service.example-domain.club --- apiVersion: multiclusterdns.federation.k8s.io/v1alpha1 kind: ServiceDNSRecord metadata:name: test-servicenamespace: test-namespace spec:domainRef: test-domainrecordTTL: 600

結果分析

查看DnsEndpoint詳情:

kubectl get dnsendpoint -n test-namespace -o yaml apiVersion: v1 items: - apiVersion: multiclusterdns.federation.k8s.io/v1alpha1kind: DNSEndpointmetadata:creationTimestamp: 2019-05-17T08:49:31Zgeneration: 2name: service-test-servicenamespace: test-namespaceresourceVersion: "742339863"selfLink: /apis/multiclusterdns.federation.k8s.io/v1alpha1/namespaces/test-namespace/dnsendpoints/service-test-serviceuid: afd3e22a-7880-11e9-9566-326dc52c25d3spec:endpoints:- dnsName: test-service.test-namespace.test-domain.svc.cn-beijing-a.cn-beijing.service.example-domain.clubrecordTTL: 600recordType: Atargets:- 47.95.152.65- dnsName: test-service.test-namespace.test-domain.svc.cn-beijing-f.cn-beijing.service.example-domain.clubrecordTTL: 600recordType: Atargets:- 39.96.243.59- dnsName: test-service.test-namespace.test-domain.svc.cn-beijing.service.example-domain.clubrecordTTL: 600recordType: Atargets:- 39.96.243.59- 47.95.152.65- dnsName: test-service.test-namespace.test-domain.svc.service.example-domain.clubrecordTTL: 600recordType: Atargets:- 39.96.243.59- 47.95.152.65 kind: List metadata:resourceVersion: ""selfLink: ""

可以看到External-DNS已經自動生成了4條解析記錄,包含北京兩個可用區、北京region和全局四個dns解析記錄。

dig +short @dns7.hichina.com test-service.test-namespace.test-domain.svc.cn-beijing-a.cn-beijing.service.example-domain.club 47.95.152.65dig +short @dns7.hichina.com test-service.test-namespace.test-domain.svc.cn-beijing-f.cn-beijing.service.example-domain.club 39.96.243.59dig +short @dns7.hichina.com test-service.test-namespace.test-domain.svc.cn-beijing.service.example-domain.club 47.95.152.65 39.96.243.59dig +short @dns7.hichina.com test-service.test-namespace.test-domain.svc.service.example-domain.club 47.95.152.65 39.96.243.59

結論

External-DNS在Federation-V2多集群聯邦環境下,可以根據Service部署所在的可用區、region和全局三個維度生成多條DNS解析記錄,幫助服務靈活的引導流量。


原文鏈接
本文為云棲社區原創內容,未經允許不得轉載。

總結

以上是生活随笔為你收集整理的基于External-DNS的多集群Service DNS实践的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。