Google の Container Engine ツールを使用して、Kubernetes クラスター経由で Docker コンテナーを GCE にデプロイしました。
サービスで 'type': 'LoadBalancer' を設定しても、Websocket はサポートされません。Websockets をサポートするために独自の nginx サービスを公開したいのですが、dns/service disco のために kubernetes 内で実行したいと考えています。
kubectl expose
コマンドにパラメーターがあることがわかりました--public-ip=
。そのIPを設定する方法についてのヒントはありがたかったです。
更新、--dry-run -o yaml を使用してエクスポーズを試み、アフィニティ パラメータを渡しました。
apiVersion: v1
kind: Service
metadata:
creationTimestamp: null
labels:
name: tfe
name: mytfe
spec:
sessionAffinity: ClientIP
ports:
- name: default
nodePort: 0
port: 80
protocol: TCP
targetPort: 80
selector:
name: tfe
type: LoadBalancer
status:
loadBalancer: {}
httpは正常に開きますが、ws GETで400を取得します(POSTが200になった後)
"GET /socket.io/?EIO=3&transport=polling&t=1437780794642-2313&sid=JuLWBlEy4Wjk3zHSAAH0 HTTP/1.1" 400