0

kubernetes での UDP トラフィックのポート転送に問題があります。Coreos ベアメタル セットアップを実行していますが、以前はフリートを使用してコンテナーを実行していたため、これらのコンテナーが機能し、ネットワークとポート転送が正しくセットアップされています。コンテナーを手動で実行してポート フォワードすると、期待どおりに動作するので、kubernetes と UDP で何かが起こっているようです。正しく動作していないサービスが複数ありますが、最も簡単なのはこのつぶやきサーバーです。これは、レプリケーションコントローラーから始まるセットアップです。

apiVersion: v1
kind: ReplicationController
metadata:
  name: mumble-v0
  labels:
    app: mumble
    version: v0
spec:
  replicas: 1
  selector:
    app: mumble
    version: v0
  template:
    metadata:
      labels:
        app: mumble
        version: v0
    spec:
      containers:
      - name: mumble
        image: coppit/mumble-server
        imagePullPolicy: Always
        resources:
          limits:
            cpu: 0.5
            memory: 500Mi
        ports:
        - containerPort: 64738
          name: mumble
        - containerPort: 64738
          name: mudp
          protocol: UDP

そしてサービス自体:

apiVersion: v1
kind: Service
metadata:
  name: mumble
  labels:
    app: mumble
    kubernetes.io/name: "mumble"
spec:
  selector:
    app: mumble
  ports:
  - name: mumble
    port: 64738
  - name: mumble-udp
    port: 64738
    protocol: UDP
  externalIPs: ["10.0.1.19"]

クライアントはサービスに接続してサーバーを認識できますが、音声トラフィックが適切に流れません。この音声トラフィックは、UDP 経由で送受信されます。周りを見回すと、Kubernetes での SIP アプリケーション (UDP) の実行に関する問題、Kubernetes コンテナーからの応答が失われることに関連していると思われる UDP の問題の他のレポートが表示されます。

ここで何がうまくいかないのか、または修正を知っている人はいますか?

4

1 に答える 1

0

UDPまたはTCPポートが開いていることがわかるkubectl get svcはずです。同じポートで UDP と TCP の両方をサポートする Kubernetes は、進行中の問題のようです。

ポート番号を変更すると、「プロトコルが混在する外部ロード バランサーを作成できません」というエラーが表示されます (関連する問題を参照してください)。

できることは、同じ静的 IP を持つ 2 つのサービスを作成することです (予約する必要があります)。

apiVersion: v1
kind: Service
metadata:
  name: mumble-tcp
  labels:
    project: mumble
spec:
  type: LoadBalancer
  loadBalancerIP: 10.10.10.10
  ports:
    - port: 64738
  selector:
    name: mumble
    project: mumble
---
apiVersion: v1
kind: Service
metadata:
  name: mumble-udp
  labels:
    project: mumble
spec:
  type: LoadBalancer
  loadBalancerIP: 10.10.10.10
  ports:
    - port: 64738
      protocol: UDP
  selector:
    name: mumble
    project: mumble
于 2016-08-17T10:27:11.273 に答える