如何使用负载均衡器(或直接)从外部访问 pod?
How to make a pod accessible from outide with a Load Balancer (or directly)?
这是我尝试使用 Kubernetes 配置文件执行的操作:
apiVersion: apps/v1
kind: Deployment
metadata:
name: selenium-hub
labels:
app: selenium-hub
spec:
replicas: 1
strategy:
type: Recreate
selector:
matchLabels:
app: selenium-hub
template:
metadata:
labels:
app: selenium-hub
spec:
containers:
- name: selenium-hub
image: selenium/hub
ports:
- containerPort: 4444
resources:
limits:
memory: "1000Mi"
cpu: ".5"
livenessProbe:
httpGet:
path: /wd/hub/status
port: 4444
initialDelaySeconds: 30
timeoutSeconds: 5
readinessProbe:
httpGet:
path: /wd/hub/status
port: 4444
initialDelaySeconds: 30
timeoutSeconds: 5
---
apiVersion: v1
kind: Service
metadata:
name: nginx
labels:
app: nginx
spec:
externalTrafficPolicy: Local
ports:
- name: http
port: 4444
protocol: TCP
targetPort: 4444
selector:
app: selenium-hub
type: LoadBalancer
在 GKE 中,它创建了一个带有 pod 的应用程序,然后是一个带有外部 IP 的负载均衡器。但是,当我尝试通过 http://LBIP:port
从外部访问应用程序时,它不起作用。
那么我如何才能首先公开我创建的 pod?如果我只使用一个副本,是否需要 LB?
查看规格,我没有发现任何问题。检查几件事 -
- 您的 pod 是否处于 运行 端口 4444 暴露的状态?
- 您可以使用 ClusterIP:port 在本地访问您的 pod 吗?
您也可以使用 NodePort 服务公开您的 pod,但在生产环境中,不推荐使用 NodePort 服务将应用公开给外部集群。
哼哼……哼……你会笑的!我这边没笑...
这是一个网络问题。不知道为什么,但出于某种不明原因,我的家庭 IP 地址似乎被列入黑名单,无法访问 GCP 上的任何实例。控制台没有问题,但是当我尝试通过我的浏览器访问 http 时,它根本无法连接。
使用 nordvpn 正常!到目前为止一切顺利。
无论如何,谢谢你们的帮助!
这是我尝试使用 Kubernetes 配置文件执行的操作:
apiVersion: apps/v1
kind: Deployment
metadata:
name: selenium-hub
labels:
app: selenium-hub
spec:
replicas: 1
strategy:
type: Recreate
selector:
matchLabels:
app: selenium-hub
template:
metadata:
labels:
app: selenium-hub
spec:
containers:
- name: selenium-hub
image: selenium/hub
ports:
- containerPort: 4444
resources:
limits:
memory: "1000Mi"
cpu: ".5"
livenessProbe:
httpGet:
path: /wd/hub/status
port: 4444
initialDelaySeconds: 30
timeoutSeconds: 5
readinessProbe:
httpGet:
path: /wd/hub/status
port: 4444
initialDelaySeconds: 30
timeoutSeconds: 5
---
apiVersion: v1
kind: Service
metadata:
name: nginx
labels:
app: nginx
spec:
externalTrafficPolicy: Local
ports:
- name: http
port: 4444
protocol: TCP
targetPort: 4444
selector:
app: selenium-hub
type: LoadBalancer
在 GKE 中,它创建了一个带有 pod 的应用程序,然后是一个带有外部 IP 的负载均衡器。但是,当我尝试通过 http://LBIP:port
从外部访问应用程序时,它不起作用。
那么我如何才能首先公开我创建的 pod?如果我只使用一个副本,是否需要 LB?
查看规格,我没有发现任何问题。检查几件事 -
- 您的 pod 是否处于 运行 端口 4444 暴露的状态?
- 您可以使用 ClusterIP:port 在本地访问您的 pod 吗?
您也可以使用 NodePort 服务公开您的 pod,但在生产环境中,不推荐使用 NodePort 服务将应用公开给外部集群。
哼哼……哼……你会笑的!我这边没笑...
这是一个网络问题。不知道为什么,但出于某种不明原因,我的家庭 IP 地址似乎被列入黑名单,无法访问 GCP 上的任何实例。控制台没有问题,但是当我尝试通过我的浏览器访问 http 时,它根本无法连接。
使用 nordvpn 正常!到目前为止一切顺利。
无论如何,谢谢你们的帮助!