gpt4 book ai didi

docker - Kubernetes连接超时

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

我已经使用以下yaml部署了一个小型应用程序。

apiVersion: apps/v1
kind: Deployment
metadata:
name: simpledotnetapi-deployment
spec:
replicas: 1
selector:
matchLabels:
app: simpledotnetapi-pod
template:
metadata:
labels:
app: simpledotnetapi-pod
spec:
imagePullSecrets:
- name: kimagereadersecret
containers:
- name: simpledotnetapi
image: docker.io/coreyperkins/simpledotnetapi:latest
ports:
- containerPort: 5000
---
apiVersion: v1
kind: Service
metadata:
name: simpledotnetapi-service
spec:
type: LoadBalancer
ports:
- port: 80
targetPort: 5000
nodePort: 30008
selector:
app: simpledotnetapi-pod
type: front-end

K8仪表板中的“服务”选项卡显示以下内容:
Name: simpledotnetapi-service
Cluster IP: 10.0.133.156
Internal Endpoints:
simpledotnetapi-service:80 TCP
simpledotnetapi-service:30008 TCP
External Endpoints:
13.77.76.204:80

-来自kubectl.exe的输出描述svc simpledotnetapi-service
λ kubectl.exe describe svc simpledotnetapi-service
Name: simpledotnetapi-service
Namespace: default
Labels: <none>
Annotations: kubectl.kubernetes.io/last-applied-configuration={"apiVersion":"v1","kind":"Service","metadata":{"annotations":{},"name":"simpledotnetapi-service","namespace":"default"},"spec":{"ports":[{"nodePort":3...
Selector: app=simpledotnetapi-pod,type=front-end
Type: LoadBalancer
IP: 10.0.133.156
LoadBalancer Ingress: 13.77.76.204
Port: <unset> 80/TCP
TargetPort: 5000/TCP
NodePort: <unset> 30008/TCP
Endpoints: <none>
Session Affinity: None
External Traffic Policy: Cluster
Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Normal EnsuringLoadBalancer 33m (x4 over 2h) service-controller Ensuring load balancer
Normal EnsuredLoadBalancer 33m (x4 over 2h) service-controller Ensured load balancer

当我转到Pod时,可以看到我的docker容器按照指示在端口5000上运行良好。但是,当我导航到 http://13.77.76.204/api/values时,我应该看到返回了一个数组,但是连接超时了(Chrome中的ERR_CONNECTION_TIMED_OUT)。我已经在本地测试了此Docker容器,并且效果很好。我的假设是我已经在Pod规范中(在“部署”下)捣毁了“containerPort”,但是我确定该容器在端口5000上仍然有效。也许我缺少一些配置位?但是,通过查看示例和文档,我无法找出为什么未与Pod建立连接,但是除了最初启动该应用程序外,我没有看到Pod中的任何 Activity 日志。

最佳答案

您的广告连播/服务定义中存在标签/选择器不匹配的情况。

您将app: simpledotnetapi-pod用于pod模板,并将app: simpledotnetapi用作服务定义中的选择器。编辑其中之一以匹配。

另外,pod模板上不存在type: front-end标签。您需要添加它,或者可能将其从服务选择器中删除。

在那之后,端点列表准备就绪时,应该为您的Pod添加条目。

关于docker - Kubernetes连接超时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56656706/

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