gpt4 book ai didi

amazon-web-services - 无法使用 kubernetes 与在 AWS EC2 实例中本地创建的 Pod 通信

转载 作者:行者123 更新时间:2023-12-02 12:02:56 37 4
gpt4 key购买 nike

我在 Ubuntu EC2 实例中创建了简单的 nginx 部署,并通过 kubernetes 集群中的服务暴露到端口,但即使在本地环境中我也无法 ping pod 。我的 Pod 运行良好,服务也成功创建。我在下面分享一些命令输出

kubectl 获取节点

NAME               STATUS   ROLES    AGE     VERSION
ip-172-31-39-226 Ready <none> 2d19h v1.16.1
master-node Ready master 2d20h v1.16.1

kubectl 获取 po -o 宽
NAME                                READY   STATUS    RESTARTS   AGE    IP              NODE               NOMINATED NODE   READINESS GATES
nginx-deployment-54f57cf6bf-dqt5v 1/1 Running 0 101m 192.168.39.17 ip-172-31-39-226 <none> <none>
nginx-deployment-54f57cf6bf-gh4fz 1/1 Running 0 101m 192.168.39.16 ip-172-31-39-226 <none> <none>
sample-nginx-857ffdb4f4-2rcvt 1/1 Running 0 20m 192.168.39.18 ip-172-31-39-226 <none> <none>
sample-nginx-857ffdb4f4-tjh82 1/1 Running 0 20m 192.168.39.19 ip-172-31-39-226 <none> <none>

kubectl 获取 svc
NAME               TYPE           CLUSTER-IP      EXTERNAL-IP   PORT(S)        AGE
kubernetes ClusterIP 10.96.0.1 <none> 443/TCP 2d20h
nginx-deployment NodePort 10.101.133.21 <none> 80:31165/TCP 50m
sample-nginx LoadBalancer 10.100.77.31 <pending> 80:31854/TCP 19m

kubectl 描述部署 nginx-deployment
Name:                   nginx-deployment
Namespace: default
CreationTimestamp: Mon, 14 Oct 2019 06:28:13 +0000
Labels: <none>
Annotations: deployment.kubernetes.io/revision: 1
kubectl.kubernetes.io/last-applied-configuration:
{"apiVersion":"apps/v1","kind":"Deployment","metadata":{"annotations":{},"name":"nginx-deployment","namespace":"default"},"spec":{"replica...
Selector: app=nginx
Replicas: 2 desired | 2 updated | 2 total | 2 available | 0 unavailable
StrategyType: RollingUpdate
MinReadySeconds: 0
RollingUpdateStrategy: 25% max unavailable, 25% max surge
Pod Template:
Labels: app=nginx
Containers:
nginx:
Image: nginx:1.7.9
Port: 80/TCP
Host Port: 0/TCP
Environment: <none>
Mounts: <none>
Volumes: <none>
Conditions:
Type Status Reason
---- ------ ------
Available True MinimumReplicasAvailable
Progressing True NewReplicaSetAvailable
OldReplicaSets: <none>
NewReplicaSet: nginx-deployment-54f57cf6bf (2/2 replicas created)
Events: <none>

现在我无法从 master ping 192.168.39.17/16/18/19,也无法从 master 访问 curl 172.31.39.226:31165/31854。任何帮助将不胜感激..

最佳答案

根据您提供的信息。从讨论中我们得知工作节点运行了 Nginx pod。并且您已将 NodePort 服务和负载均衡器服务附加到它。

这里唯一缺少的是您尝试访问它的服务器。

因此,我尝试访问此 URL 52.201.242.84:31165 .我认为您需要做的就是将此端口列入白名单以供公共(public)访问或 IP。这可以通过工作节点 EC2 的安全组来完成。

现在上面的 URL 是由工作节点的公共(public) IP 加上(+) 构造的。节点端口 附上的 svc。因此,这是一个简单的公式,您可以使用它来获取正在运行的 pod 的确切地址。

Pod Access URL = Public IP of Worker Node + The NodePort 

关于amazon-web-services - 无法使用 kubernetes 与在 AWS EC2 实例中本地创建的 Pod 通信,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58372694/

37 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com