我正在使用 ACR 容器注册表创建一个普通的 AKS 集群并部署一个虚拟服务,我之前已经做过很多次了,应该可以工作,但事实并非如此 - 服务部署没有错误,我看到了 pod 和服务是活动的,端口似乎匹配 - 但我无法访问 Pod 中运行的应用程序。
这是我的 YAML 文件:
apiVersion: v1
kind: Service
metadata:
name: dummyapp-prep
spec:
selector:
app: dummyapp-prep
ports:
- protocol: TCP
port: 80
type: LoadBalancer
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: dummyapp-prep
spec:
selector:
matchLabels:
run: dummyapp-prep
replicas: 1
template:
metadata:
labels:
run: dummyapp-prep
spec:
containers:
- name: dummyapp-prep
image: dummyappregistry.azurecr.io/dummyappregistry.azurecr.io/dummyapp-prep:dummyapp-prep-18
ports:
- containerPort: 80
imagePullSecrets:
- name: secret
Run Code Online (Sandbox Code Playgroud)
一切都部署得很好 - 我看到了该服务并且它获得了一个外部 IP:
kubectl get services
NAME TYPE CLUSTER-IP …
Run Code Online (Sandbox Code Playgroud) 我正在获取节点IP地址而不是客户端IP。是否可以使用类型为服务的客户端IP LoadBalancer
?还是我需要使用入口控制器?
apiVersion: v1
kind: Service
metadata:
name: app-svc
labels:
name: app-svc
environment: dev
spec:
type: LoadBalancer
loadBalancerIP: XXX.XXX.XXX.XXX
ports:
- name: http-port
port: 80
targetPort: 80
protocol: TCP
selector:
name: app-deploy
Run Code Online (Sandbox Code Playgroud) azure kubernetes azure-load-balancer azure-kubernetes azure-aks
我正在尝试在 Azure AKS 中部署 ftp 服务器映像。为了向公众公开服务器,我添加了一个 LoadBalancer 类型的服务。
apiVersion: v1
kind: Service
metadata:
name: test-import-ftp
namespace: staging
spec:
loadBalancerIP: 168.63.x.x
type: LoadBalancer
ports:
- port: 21
name: ftp-control
targetPort: 21
- port: 50000
name: ftp-data-0
- port: 50001
name: ftp-data-1
- port: 50002
name: ftp-data-2
- port: 50003
name: ftp-data-3
- port: 50004
name: ftp-data-4
- port: 50005
name: ftp-data-5
- port: 50006
name: ftp-data-6
- port: 50007
name: ftp-data-7
- port: 50008
name: ftp-data-8
- port: 50009
name: ftp-data-9 …
Run Code Online (Sandbox Code Playgroud) 我有一个带有 Istio 服务网格的 Azure kubernetes 集群。
目前,Istio 控制器与公共负载均衡器 IP 关联。我想使用内部负载均衡器配置 Istio。我将使用公共 IP 到内部 LB 的防火墙映射。
如何配置 Istio 控制器以使用内部负载均衡器?
负载均衡器配置为将前端端口 80 上的 TCP 请求重定向到后端端口 8080。在我从附加到池虚拟机的网络安全组中删除“Allow-Port-8080”规则之前,效果很好。
据我了解,由于我没有触及的AllowAzureLoadBalancerInBound安全规则,默认情况下始终允许负载均衡器。不是吗?
此外,池虚拟机上的端口 8080 可以从同一虚拟网络中的主机访问,因此默认情况下未在 Centos Azure 主机上运行的本地防火墙不存在问题。
总而言之,问题是为什么我应该添加入站安全规则来让负载均衡器将请求重定向到特定端口。
我在包含多个虚拟机的 VNET 内有一个 Azure 标准内部负载均衡器。当我想将其中两个虚拟机添加到负载均衡器的后端池时,它们未列为选项。它们是在 ARM 下创建的,不包含在任何其他负载均衡器池中。它们也位于与后端池关联的同一 VNET 中。
如果我创建一个基本的负载均衡器,我可以看到它们并成功地将它们添加到池中。是否有有关将虚拟机添加到标准负载均衡器内的池之前必须满足的虚拟机要求的文档?