云服务器价格_云数据库_云主机【优惠】最新活动-搜集站云资讯

数据库服务器_图跃网站建设_免费领

小七 141 0

将Kubernetes集群与HashiCorp consult WAN Federation连接起来

在conver1.8中,我们引入了三个新的服务网格特性:入口、终端和通过mesh网关的广域网联合。在这个博客中,我们将解释如何使用广域网联盟来连接不同环境中的多个Kubernetes集群。当连接多个Kubernetes集群之间的服务时,我们会面临各种各样的挑战。我们如何处理重叠的网络地址、NAT、多个云提供商,以及保护每个服务的入口?最简单的方法是通过互联网发送加密的流量,而不必担心它被泄露。利用HashiCorp consur中的mesh网关,我们能够安全地将多个Kubernetes集群连接在一起,即使网关公开在公共互联网上。这提供了一个服务网格来管理和保护服务之间的流量,无论它们在哪里运行。在这篇文章中,我们将研究如何在两个Kubernetes集群中部署conver,使用广域网联盟来确保服务之间的通信安全,而不需要复杂的网络。»先决条件我们从已经配置的两个Kubernetes集群开始。Kubernetes集群不必位于同一个区域或托管在同一个云提供商上。在本例中,我们使用一个googlekubernetes引擎(GKE)集群和一个azurekubernetes服务(AKS)集群。我们没有窥视网络或在这些群集上执行任何配置。我们需要领事、赫尔姆和库贝克特在我们的开发机器上。consur提供了一个需要添加到helm中的helm图表存储库。$helm回购添加hashicorphttps://helm.releases.hashicorp.com"hashicorp"已添加到您的存储库中我们正在一个空目录中工作,我们可以将文件写入其中以存储我们创建的配置文件。»部署执政官到GKE我们覆盖consur Helm图表的默认值,并将它们存储在值中-gke.yaml公司. 我们设置图像:领事:1.8.0-beta1至使用新的广域网联盟功能。然后,我们将数据中心名称设置为gke,并启用acl、TLS和Gossip加密来保护集群。我们启用联合和meshGateway功能。我们将connectInject切换设置为true,以部署部署Connect sidecar代理的变化许可webhook。全球的:姓名:领事图片:执政官:1.8.0-beta1数据中心:gketls:启用:真ACL:manageSystemACLs:真createReplicationToken:真联邦:启用:真createFederationSecret:真加密:密件名称:执政官八卦加密密钥secretKey:密钥连接件:启用:真网状网关:启用:真然后,我们创建gossip加密密钥并部署值-gke.yaml公司带舵配置。helm install命令可能需要10分钟的时间,具体取决于您的云提供商,这是因为配置了持久卷并将这些卷附加到主机上。$kubectl config使用上下文gke切换到上下文"gke"。$export TOKEN=`CONSUR keygen`$kubectl创建秘密通用领事八卦加密密钥\--from literal=key=$TOKEN秘密/领事八卦加密密钥已创建$helm install consur-f值-gke.yaml公司hashicorp/执政官——等等姓名:领事最后部署时间:2020年5月12日星期二12:19:48命名空间:默认状态:已部署版次:1笔记:感谢您安装HashiCorp consur!#为清楚起见省略$kubectl得到吊舱名称就绪状态重新启动年龄CONSUR-79nw8 1/1运行0 4m42sCONSUR-98pdb 1/1运行0 4m43sCONSUR-connect-injector-webhook-deployment-d9467d674-gjnbz 1/1运行0 4m42sCONSUR-hzc8p 1/1运行0 4m42sCONSUR-mesh-gateway-7474d78cbc-22x9l 2/2运行0 4m42sCONSUR-mesh-gateway-7474d78cbc-mzpwd 2/2运行0 4m42sCONSUR-server-0 1/1运行5个4m42sCONSUR-server-1 1/1运行5个4m42sCONSUR-server-2 1/1运行5个4m42sconsur集群现在运行在GKE集群中,我们现在导出联邦机密以部署到我们的AKS集群。$kubectl获得秘密领事联合会-o yaml>领事联合会-秘密.yaml在一个单独的外壳中,我们将在后台打开,我们向前端口到我们的领事用户界面。$kubectl港口前进svc/CONSUR ui 8501:443从127.0.0.1:8501->8501转发从[::1]:8501->8501转发我们现在打开浏览器并访问https://localhost:8501以查看群集。»部署执政官到AKS接下来,我们配置aks集群并将配置保存在值中-阿克斯山药.除了我们为gke集群指定的选项外,我们还配置aks使用consur federation secret,该机密已经由gke集群生成。全球的:姓名:领事图片:执政官:1.8.0-beta1数据中心:akstls:启用:真卡塞特:秘书名称:执政官联合会秘书:卡塞特卡基:秘书名称:执政官联合会密件:卡基ACL:manageSystemACLs:真复制主题:秘书名称:执政官联合会secretKey:replicationToken联邦:启用:真加密:秘书名称:执政官联合会secretKey:gossipEncryptionKey连接件:启用:真网状网关:启用:真服务器:额外卷数:-类型:秘密名称:领事联合会项目:-密钥:serverConfigJSON路径:配置.json载荷:真我们以类似于gke的方式将consur部署到aks,只需要额外的一步来部署我们导出的联邦令牌。$kubectl config使用上下文aks切换到上下文"aks"。$kubectl申请-领事联合会-秘密.yaml秘密/执政官联盟创建$helm install consur-f值-阿克斯山药hashicorp/执政官——等等姓名:领事最后部署时间:2020年5月12日星期二12:41:07命名空间:默认状态:已部署版次:1笔记:感谢您安装HashiCorp consur!#为清楚起见省略$kubectl得到吊舱名称就绪状态重新启动年龄CONSUR-4w7zc 1/1运行0 3m56sCONSUR-5klsj 1/1运行0 3m56sCONSUR-connect-injector-webhook-deployment-8db6bc89b-978dr 1/1运行0 3m56s执政官fwpth 1/1运行0 3m56sCONSUR-mesh-gateway-67fddc99ff-8jfdb 2/2运行0 3m56sCONSUR-mesh-gateway-67fddc99ff-xfdqh 2/2运行0 3m56sCONSUR-server-0 1/1运行0 3m56sCONSUR-server-1 1/1运行0 3m56sCONSUR-server-2 1/1运行0 3m56s我们现在已经在gke和aks集群中部署并联合了CONSUR。当我们检查converui时,我们可以在下拉列表中看到两个数据中心。»服务之间的跨集群通信两个Kubernetes集群完全联合在一起运行mesh网关,我们可以在aks集群中部署后端服务,在gke集群中部署前端服务。我们为后端计数服务创建一个pod定义,名为计数.yaml.API版本:v1种类:服务帐户元数据:名称:计数---API版本:v1种类:吊舱元数据:名称:计数注释:"consur.hashicorp.com/connect-注入":"true"规格:容器:-名称:计数图片:hashicorp/counting-服务:0.0.2端口:-集装箱港口:9001名称:httpserviceAccountName:计数这个consur.hashicorp.com/connect-injectannotation告诉consur,我们希望自动添加这个pod作为consur服务。通过将pod注册为consur服务,mesh网关可以识别和解析服务,而无需将其注册为Kubernetes服务。我们把这个吊舱部署到aks集群。$kubectl创建-f计数.yaml服务帐户/计数已创建已创建吊舱/计数consur用户界面显示新的计数服务已注册并可用。接下来,我们在中为仪表板服务及其负载平衡器创建pod定义仪表板.yaml.API版本:v1种类:服务帐户元数据:名称:仪表板---API版本:v1种类:吊舱元数据:名称:仪表板标签:应用程序:"仪表板"注释:"consur.hashicorp.com/connect-注入":"true""consur.hashicorp.com/connect-服务上游":"计数:9001:阿克斯"规格:容器:-名称:仪表板图片:hashicorp/dashboard-服务:0.0.4端口:-集装箱港口:9002名称:http环境:-服务名称\u值:"http://localhost:9001英寸serviceAccountName:仪表板---API版本:"v1"种类:"服务"元数据:name:"仪表板服务负载平衡器"命名空间:"默认值"标签:应用程序:"仪表板"规格:端口:-协议:"TCP"端口:80目标港:9002选择器:应用程序:"仪表板"类型:"负载平衡器"我们再次添加consur.hashicorp.com/connect-注入注释。dashboard服务通过将其配置为上游端点来连接到计数服务consur.hashicorp.com/connect-服务上游批注。该值的格式为"[服务名称]:[端口]:[可选数据中心]"。我们可以为其他consur Connect配置添加附加注释。我们切换到gke集群并将dashboard前端部署到默认名称空间中。$kubectl config使用上下文us east切换到上下文"gke"。上下文"gke"已修改。$kubectl创建-f仪表板.yaml服务帐户/仪表板已创建pod/仪表板已创建服务/仪表板服务负载平衡器已创建我