我有 Azure Kubernetes 服务集群,并且在集群外部有来自不同虚拟网络的虚拟机,我尝试从该虚拟机连接到在 TCP 端口 9000 上运行的容器 Pod 应用程序。我不能使用公共 IP,这不是 HTTP连接,但我需要使用 TCP 连接进行连接。为此,我按照此链接中的说明进行操作: https: //learn.microsoft.com/en-us/azure/aks/ingress-internal-ip 我为 helm 安装定义了 YAML 文件
controller:
service:
annotations:
service.beta.kubernetes.io/azure-load-balancer-internal: "true"
Run Code Online (Sandbox Code Playgroud)
我配置了nginx:
helm install nginx-ingress ingress-nginx/ingress-nginx \
-f internal-ingress.yaml \
--set controller.nodeSelector."beta\.kubernetes\.io/os"=linux \
--set defaultBackend.nodeSelector."beta\.kubernetes\.io/os"=linux \
--set controller.admissionWebhooks.patch.nodeSelector."beta\.kubernetes\.io/os"=linux
Run Code Online (Sandbox Code Playgroud)
之后的 NGINX 配置是它有端口 80 和 443:
kubectl get services -o wide
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S)
nginx-ingress-ingress-ngingx controller LoadBalancer 10.0.36.81 10.33.27.35 80:31312/TCP,443:30653/TCP
Run Code Online (Sandbox Code Playgroud)
之后我运行以helm upgrade
确保我的 tcp 端口 9000 已配置
helm upgrade nginx-ingress ingress-nginx/ingress-nginx -f internal-ingress.yaml --set …
Run Code Online (Sandbox Code Playgroud)