4 回答

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

TA貢獻2021條經驗 獲得超8個贊
如果同一個集群上有 2 個應用程序,那么它們可以通過 kubernetes 內置的 DNS 相互引用。
如果AppA需要引用AppB,那么只要你為AppB定義了一個Service,就可以用 來引用它<service>.<namespace>。在您的情況下,如果 AppB 在默認命名空間中運行,您可以調用AppB.default/api/app/getconfig.
端口部分可以通過您的服務定義進行管理。下面我使用端口 80,因此我不必在請求中手動指定端口
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貢獻1796條經驗 獲得超4個贊
如果你想讓它如此寬容(從任何集群到任何集群),那么你需要一個 DNS,在App B
.
我會考慮在某個地方進行硬編碼。通過將其硬編碼為 one ConfigMap
,您可以獲得一些漂亮的實現。

TA貢獻1946條經驗 獲得超4個贊
為您的應用程序 B 定義一個服務。然后您可以使用以下 url 從其他 pod 訪問它:your-service-name : port /api/app/getconfig
- 4 回答
- 0 關注
- 229 瀏覽
添加回答
舉報