【发布时间】:2021-03-26 09:23:20
【问题描述】:
我已按照此参考将我的简单 React 应用程序部署到 Kubernetes。
但部署后,我在浏览器中看不到我的应用程序。
所以我尝试使用此命令行设置外部 IP 地址
kubectl patch svc XXX -p '{"spec":{"externalIPs":["10.2.8.19"]}}'
参考在这里 Assign External IP to a Kubernetes Service
但是我在浏览器中看不到我的应用程序部署。 http://10.2.8.192:3000
这是我的 deployment.yml 文件
apiVersion: apps/v1
kind: Deployment
metadata:
creationTimestamp: null
labels:
app: test-app
name: test-app
spec:
replicas: 5
selector:
matchLabels:
app: test-app
strategy: {}
template:
metadata:
creationTimestamp: null
labels:
app: test-app
spec:
containers:
- image: XXX.dkr.ecr.XXX.amazonaws.com/XXX/XXX:v1
name: test-app
imagePullPolicy: Always
resources: {}
ports:
- containerPort: 3000
status: {}
---
apiVersion: v1
kind: Service
metadata:
name: test-app
labels:
run: test-app
spec:
ports:
- port: 3000
protocol: TCP
selector:
app: test-app
type: NodePort
请给我任何建议。谢谢...
【问题讨论】:
-
嗨,麦克斯!您是否可以通过网络访问节点?你能ping通吗?
-
我需要在 EC2 实例中使用公共 IP 地址 ping 吗?
-
或者你的意思是在 Kubernetes 中使用 nodeport ping?
-
您使用的是什么 Kubernetes?如果是 EKS,将服务更改为
type: LoadBalancer将导致它创建一个 AWS 负载均衡器,您可以使用它来访问该服务。如果是type: NodePort,那么您可以使用任何节点的 IP 地址或 DNS 名称以及kubectl get service列表中的第二个 31300 端口号来访问它。 -
我现在正在使用 NodePort。节点的 IP 地址是什么?
标签: reactjs docker kubernetes amazon-eks amazon-ecr