2017-08-15 56 views
1

我已經在裸機上安裝了帶法蘭絨網絡的Kubernetes集羣。我有一個服務部署並在集羣中運行。該服務將廣播以發現同一子網中的其他終端設備。是否可以使用Kubernetes窗格在同一子網中加入硬件?

問題是,接收廣播的客戶端代理正在資源受限的硬件上運行。這些設備與主節點和工作節點在同一子網中運行。 pod(網絡掩碼:10.244.0.0/16)中的已部署服務無法發現在主機操作系統子網中運行的客戶端(網絡掩碼:192.168.0.0/24)。如何加入豆莢子網中的客戶端?

任何幫助表示感謝。

回答

0

我最終通過在pod配置中添加hostNetwork: true來使主機和Pod在相同的子網中運行。在這種情況下,容器正在使用主機網絡。從here

配置的啓發是這樣的:

apiVersion: v1 
kind: ReplicationController 
metadata: 
name: worker 
namespace: default 
spec: 
replicas: 4 
selector: 
    name: worker 
template: 
    metadata: 
    labels: 
     name: worker 
spec: 
    hostNetwork: true 
    containers: 
     - image: 10.0.0.1:5000/worker 
     name: worker 
     imagePullPolicy: IfNotPresent 
0

問題是它們實際上位於不同的子網中:pod網絡和裸機網絡。因此,您必須檢查在不同子網之間可用於服務發現的選項。有人提出使用跟蹤器(就像P2P網絡工作)https://serverfault.com/a/304344/380575

您也可以嘗試將外部服務/端點添加到在羣集外部運行的服務,但我很不確定這是否可行。底線:如果您需要其他子網中的服務,您可以使用跟蹤器或爲其創建靜態端點。

相關問題