簡體   English   中英

部署前的內部Kubernetes服務進行通信

[英]Pre-deploy development communication with an Internal Kubernetes service

我正在研究遷移到Kubernetes(來自AWS ECS)。 但是,依靠內部服務時,我還沒有解決本地開發問題。

讓我詳細說明:

在開發和測試微服務時,在將它們部署為Kubernetes服務之前,我希望能夠與其他內部Kubernetes服務進行對話。 因為有20多種微服務,所以我有一個運行最新開發版本的Kubernetes集群。 我無法運行MiniKube。

例:

我正在開發需要訪問電子郵件服務的用戶服務。 電子郵件服務已經在Kubernetes上並且是一項內部服務。

因此,在部署用戶服務之前,我希望能夠與內部電子郵件服務進行開發/測試。 我無法利用K8S好的服務發現環境變量。

由於我們目前已經有一個VPN可以將DEV env僅限於測試人員/開發人員,我可以使用該VPN提供對Kubernetes-Service IP地址的訪問嗎? 與VPN所在的同一VPC上確實有Kubernetes DEV-env。

如果將內部服務部署為NodePort類型,則可以通過該NodePort通過VPN訪問它們。 可以動態分配NodePort,也可以自定義它們以將其自定義為“靜態”。

在本地計算機上開發應用程序時,可以通過該NodePort訪問相關服務。

或者,您可以使用來自kubectl的port-forwardinghttps://kubernetes.io/docs/user-guide/connecting-to-applications-port-forward/ )將Pod轉發到本地計算機。 (注意:這僅處理到Pod而非服務的流量)。

網真( http://telepresence.io )是為這種情況而設計的,盡管它假定開發人員可以對staging / dev集群進行kubectl訪問。

暫無
暫無

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

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