簡體   English   中英

如何使用 Kops 在 AWS 中公開部署在 kube.netes 上的 GRPCS 服務

[英]How to expose GRPCS service deployed on kubernetes in AWS using Kops

我正在部署一個使用tls應用程序(准確地說是grpcs )的grpc應用程序。 應用程序部署到使用Kops工具創建的AWS雲中的kube.netes集群。 我正在使用自簽名證書進行身份驗證(到目前為止)。 問題是我找不到任何關於如何正確地將此類服務暴露給外部世界的指南。 到處都是點點滴滴,但似乎沒有什么能滿足我的要求。 更高級別的復雜性——我需要在同一服務上公開多個端口,因此我不能對 k8s 使用 Ingress 規則,因為我的客戶端應用程序限制使用 url 中的任何路徑並要求我僅指定主機和端口。 在集群內部,一切都已設置並在授權和正確的 DNS 分辨率下按預期工作。

所以理想情況下我想要:

  • 將 grpcs 請求代理到集群中特定服務的解決方案。
  • 引入具有相同功能的負載均衡器的解決方案

非常感謝您的寶貴時間!

行。 謝謝足以解決問題。 注意注釋部分。

apiVersion: v1
kind: Service

metadata:
  name: my-service
  annotations:
    service.beta.kubernetes.io/aws-load-balancer-type: nlb
    service.beta.kubernetes.io/aws-load-balancer-backend-protocol: tcp
    service.beta.kubernetes.io/aws-load-balancer-ssl-ports: "9999"
spec:
  ports:
    - port: 9999
      targetPort: 9999
      protocol: TCP
  selector:
    app: my-service
  type: LoadBalancer

然后我不得不將帶有平衡器 dns 名稱的 A 記錄添加到 Route 53,它起作用了。

隨着時間的推移,我重申了解決方案並找到了external-dns sidecar 容器,它監視集群中出現的所有服務,搜索某些注釋並自動創建 Route53 記錄。 我只能讓它與管理集群節點角色的KIAM sidecar 容器一起使用。 事實證明,這兩個依賴項在生產中表現良好。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM