我在 ALB(创建者 AWS Load Balancer Controller
)后面的 EKS pod 上创建了转发代理服务器。所有 pod 都可以通过 ALB 通过 8118 端口进行响应。
pod 和 ingress 等资源对我来说看起来不错。然后我尝试了代理服务器是否可以正常工作curl -Lx k8s-proxy-sample-domain.ap-uswest-1.elb.amazonaws.com:18118 ipinfo.io
通常,我从ipinfo.io获得随机 IP 地址。但它没有....所以,我也这样做了port-forad
。像这样:
kubectl port-forward specifi-pod 8118:8118
然后我重新尝试在我的主机地址上重定向访问。
curl -Lx localhost:8118 ipinfo.io
在这种情况下,进展顺利。我无法理解原因。THROUGH ALB
和有什么区别port-forward
。我应该出于某种原因使用 NLB 吗?还是一些配置错误?
我的环境
- k8s版本:v1.18.2
- 节点类型:fargate
显现
这是我的清单。
---
apiVersion: v1
kind: Namespace
metadata:
name: tor-proxy
---
apiVersion: apps/v1
kind: Deployment
metadata:
namespace: tor-proxy
name: tor-proxy-deployment
spec:
selector:
matchLabels:
app.kubernetes.io/name: tor-proxy
replicas: 5
template:
metadata:
labels:
app.kubernetes.io/name: tor-proxy
spec:
containers:
- image: dperson/torproxy
imagePullPolicy: Always
name: tor-proxy
ports:
- containerPort: 8118
---
apiVersion: v1
kind: Service
metadata:
labels:
name: tor-proxy
name: tor-proxy-service
namespace: tor-proxy
spec:
ports:
- port: 18118
targetPort: 8118
protocol: TCP
type: NodePort
selector:
app.kubernetes.io/name: tor-proxy
---
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
namespace: tor-proxy
name: tor-proxy-ingress
annotations:
kubernetes.io/ingress.class: alb
alb.ingress.kubernetes.io/scheme: internet-facing
alb.ingress.kubernetes.io/target-type: ip
alb.ingress.kubernetes.io/listen-ports: '[{"HTTP": 18118}]'
spec:
rules:
- http:
paths:
- path: /*
backend:
serviceName: tor-proxy-service
servicePort: 18118