Столкновение с этой проблемой, если я подключаюсь к входу для службы веб-сокетов, не удалось: ошибка во время рукопожатия WebSocket: неожиданный код ответа: 400
Ingress YAML
kind: Ingress
apiVersion: extensions/v1beta1
metadata:
name: websocket-producer-cdph
spec:
rules:
host: some.domain.com
http:
paths:
path: "/"
backend:
serviceName: websocket-producer-cdph
servicePort: 8183
status:
loadBalancer:
ingress:
{}
Служба YAML
kind: Service
apiVersion: v1
metadata:
name: websocket-producer-cdph
spec:
ports:
name: ws
protocol: TCP
port: 8183
targetPort: 8183
selector:
app: websocket-producer-cdph
clusterIP: 10.100.254.99
type: ClusterIP
sessionAffinity: None
status:
loadBalancer:
{}
Когда я пытаюсь прослушать ws: //some.domain.com/ws, он показывает ошибку во время рукопожатия WebSocket: неожиданный код ответа: 400
/ ws - это путь
Но если пойти и обновить тип спецификации в службе LoadBalancer, он сгенерирует IP 192.168.1.17:8183 и будет слушать, что ws: //192.168.1.17: 8183 / ws работает, но мне нужно открыть URL-адрес, используя вход, поэтому его можно использовать вне сети.
Я использую следующее изображение для входящего контроллера:
quay.io/kubernetes-ingress-controller/nginx-ingress-controller:0.19.0
Как я могу создать вход для службы веб-сокетов?