Kubernetes超时

r1wp621o  于 2023-10-17  发布在  Kubernetes
关注(0)|答案(3)|浏览(151)

我无论如何也无法把这件事联系起来。
这是一个使用Kubernetes的Golang应用程序。docker文件运行正常,pod启动,但连接超时。

apiVersion: v1
kind: Service
metadata:
  name:  ark-service
  namespace: ark
spec:
  type: NodePort
  ports:
    - port: 80
      targetPort: 8080
      nodePort: 30008
  selector:
    app: ark-api
---
apiVersion: apps/v1
kind: Deployment
metadata:
  name: ark-backend
  namespace: ark
spec:
  replicas: 1
  selector:
    matchLabels:
      app: ark-api
  template:
    metadata:
      labels:
        app: ark-api
    spec:
      imagePullSecrets:
        - name: regcred
      containers:
        - name: ark-api-container
          image: xxx
          imagePullPolicy: Always
          resources:
            limits:
              memory: "128Mi"
              cpu: "500m"
          ports:
            - name: web
              containerPort: 8080

我可以很好地 Boot Docker容器,它可以运行。
结果集装箱被终止了,我不知道为什么。

zzzyeukh

zzzyeukh1#

1.您可以检查端口8080是否在容器内部侦听
kubectl exec -it <pod_namen> -n <namespace> -- netstat -ntpl
如果容器中没有netstat命令,你可以尝试用它构建一个基本镜像。
1.检查端口30080是否在节点上侦听。在节点上运行以下命令
netstat -ntpl | grep 30080
你也可以尝试在服务yaml中不指定节点端口,让kubernetes为你选择节点端口。这可以避免指定已经在您的节点中使用的端口。

aij0ehis

aij0ehis2#

apiVersion: v1
kind: Service
metadata:
  name: ark-service
  namespace: ark
spec:
  type: ClusterIP
  selector:
    component: ark-api
  ports:
    - port: 80
      targetPort: 8080

尝试使用clusterIP而不是nodeport,如果您使用任何类型的Ingress,那么您必须在ingress配置中创建规则,以便它可以通过负载均衡器将您的服务暴露给外部Web。

ff29svar

ff29svar3#

我删除了服务,并使用端口转发,并能够 Boot 一切。我得回局里去查一下。

相关问题