如何解决GCP AnthosGKE添加了对安全websocket wss://
尝试连接到GKE集群中部署的Anthos服务时,客户端抛出错误。
WebSocket connection to 'wss://api.beta.tld' failed: Error during WebSocket handshake: Unexpected response code: 503
客户端可以向Anthos服务执行https请求,即。 https://api.beta.tld/ping
因此,仅安全的websocket会抛出503s,我不能使用ws://,因为由于内容混合,浏览器会阻止所有请求。
开箱即用,应支持GKE docs的Websocket:https://cloud.google.com/kubernetes-engine/docs/concepts/ingress-xlb#support_for_websocket
集群设置如下:
gcloud container --project ${GOOGLE_PROJECT_ID} clusters create "${CLUSTER_NAME}" \
--zone ${GOOGLE_COMPUTE_ZONE} \
--machine-type "e2-small" \
--disk-type "pd-ssd" \
--disk-size "10" \
--preemptible --num-nodes "3" \
--addons HorizontalPodAutoscaling,HttpLoadBalancing,NodeLocalDNS \
--enable-autoscaling --min-nodes "1" --max-nodes "9" \
--release-channel "regular" \
--enable-ip-alias \
--enable-autoupgrade \
--enable-autorepair \
--max-surge-upgrade 1 \
--max-unavailable-upgrade 0 \
--enable-shielded-nodes \
--shielded-secure-boot
gcloud container clusters update "${CLUSTER_NAME}" --zone=${GOOGLE_COMPUTE_ZONE} --update-addons=CloudRun=ENABLED,HttpLoadBalancing=ENABLED
gcloud container clusters get-credentials "${CLUSTER_NAME}" --region ${GOOGLE_COMPUTE_ZONE}
kubectl patch cm config-domainmapping -n knative-serving -p '{"data":{"autoTLS":"Enabled"}}'
我正在这样部署服务:
gcloud run deploy \
--project ${GOOGLE_PROJECT_ID} \
--platform gke \
--cluster ${CLUSTER_NAME} \
--cluster-location ${GOOGLE_COMPUTE_ZONE} \
--image "gcr.io/${GOOGLE_PROJECT_ID}/${PROJECT_NAME}/${BRANCH}" \
--set-env-vars "$(tr '\n' ',' < ${ENV_KEY_PRODUCTION})" \
--min-instances 1 \
--max-instances 20 \
"${1}"
我注意到群集是使用TCP LoadBlanacer而不是https创建的,不确定是不是问题所在,还是不确定如何使用HTTPs负载平衡器创建群集,并且仍然可以与Anthos一起使用。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。