2017-08-15 2 views
1

Ich habe einen Kubernetes-Cluster mit Flanell-Netzwerk auf Bare-Metal eingerichtet. Ich habe einen Dienst im Cluster implementiert und ausgeführt. Der Dienst würde senden, um die anderen Endgeräte im selben Subnetz zu ermitteln.Ist es möglich, eine Hardware im selben Subnetz mit Kubernetes-Pods zu verbinden?

Das Problem besteht darin, dass die Client-Agenten, die die Broadcasts empfangen, auf Ressource-beschränkter Hardware ausgeführt werden. Diese Geräte werden im selben Subnetz mit den Master- und Worker-Knoten ausgeführt. Der implementierte Dienst in Pods (Netzmaske: 10.244.0.0/16) kann die Clients, die im Host-OS-Subnetz ausgeführt werden, nicht finden (Netzmaske: 192.168.0.0/24). Wie treten Sie den Clients im Subnetz der Pods bei?

Jede Hilfe ist zu schätzen.

Antwort

0

landete ich den Wirt und Schoten machte durch Zugabe von hostNetwork: true in pod Konfiguration im selben Subnetz ausgeführt wird. In diesem Fall verwenden Container das Host-Netzwerk. Inspiriert von here

Die Konfiguration sieht so aus:

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

Das Problem ist, dass sie sich tatsächlich in verschiedenen Subnetzen befinden: dem Pod-Netzwerk und dem Bare-Metal-Netzwerk. Daher müssten Sie prüfen, welche Optionen für die Serviceerkennung zwischen verschiedenen Subnetzen verfügbar sind. Einige schlagen die Verwendung eines Trackers vor (so wie P2P-Netzwerke funktionieren) https://serverfault.com/a/304344/380575.

Sie auch externe Dienste/Endpunkte auf die Dienste Hinzufügen versuchen könnte außerhalb des Clusters ausgeführt wird, aber ich bin ziemlich unsicher, dass dies funktionieren könnte.

Fazit: Wenn Sie Dienste in anderen Teilnetzen benötigen, können Sie entweder einen Tracker verwenden oder statische Endpunkte ihnen erstellen.

Verwandte Themen