4 回答

TA貢獻(xiàn)1827條經(jīng)驗(yàn) 獲得超4個(gè)贊
注意:Kube-DNS 命名約定為service.namespace.svc.cluster-domain.tld
,默認(rèn)集群域?yàn)?code>cluster.local
因此,只要服務(wù)位于同一集群中,您就可以將您的應(yīng)用程序稱為 ..svc。然后,您需要通過發(fā)出以下命令來檢查應(yīng)用程序正在偵聽的端口:
kubectl -n <namespace> get svc
記下服務(wù)標(biāo)識(shí)符和問題:
kubectl -n <namespace> get svc <identifier> -o yaml
這將列出服務(wù)清單,您可以在其中查看應(yīng)用程序正在偵聽哪個(gè)端口。

TA貢獻(xiàn)2021條經(jīng)驗(yàn) 獲得超8個(gè)贊
如果同一個(gè)集群上有 2 個(gè)應(yīng)用程序,那么它們可以通過 kubernetes 內(nèi)置的 DNS 相互引用。
如果AppA需要引用AppB,那么只要你為AppB定義了一個(gè)Service,就可以用 來引用它<service>.<namespace>。在您的情況下,如果 AppB 在默認(rèn)命名空間中運(yùn)行,您可以調(diào)用AppB.default/api/app/getconfig.
端口部分可以通過您的服務(wù)定義進(jìn)行管理。下面我使用端口 80,因此我不必在請求中手動(dòng)指定端口
apiVersion: v1
kind: Service
metadata:
name: AppB
spec:
ports:
- name: "80"
port: 80
targetPort: 9090
selector:
select: AppB
更多信息:https://kubernetes.io/docs/concepts/services-networking/dns-pod-service/

TA貢獻(xiàn)1796條經(jīng)驗(yàn) 獲得超4個(gè)贊
如果你想讓它如此寬容(從任何集群到任何集群),那么你需要一個(gè) DNS,在App B
.
我會(huì)考慮在某個(gè)地方進(jìn)行硬編碼。通過將其硬編碼為 one ConfigMap
,您可以獲得一些漂亮的實(shí)現(xiàn)。

TA貢獻(xiàn)1946條經(jīng)驗(yàn) 獲得超4個(gè)贊
為您的應(yīng)用程序 B 定義一個(gè)服務(wù)。然后您可以使用以下 url 從其他 pod 訪問它:your-service-name : port /api/app/getconfig
- 4 回答
- 0 關(guān)注
- 248 瀏覽
添加回答
舉報(bào)