繁体   English   中英

在 kubernetes 中部署沙发底座时出现连接被拒绝错误 {无法连接到 127.0.0.1 端口 8091:连接被拒绝}

[英]Connection refused error when deploying couchbase in kubernetes {failed to connect to 127.0.0.1 port 8091: Connection refused}

我使用以下 yaml 文件在 kubernetes 中部署 couchbase。

掌握:

apiVersion: v1  
kind: ReplicationController  
metadata:  
  name: couchbase-master-rc
spec:  
  replicas: 1  
  selector:  
    app: master-pod  
  template:  
    metadata:  
      labels:  
        app: master-pod  
    spec:  
      containers:  
      - name: couchbase-master  
        image: arungupta/couchbase:k8s 
        env:  
          - name: TYPE  
            value: MASTER  
        ports:  
        - containerPort: 8091 
---
apiVersion: v1  
kind: Service  
metadata:   
  name: couchbase-master-service  
  labels:   
    app: couchbase-master-service  
spec:   
  ports:  
    - port: 8091  
  selector:   
    app: master-pod  
  type: LoadBalancer

工人:

apiVersion: v1  
kind: ReplicationController  
metadata:  
  name: couchbase-worker-rc  
spec:  
  replicas: 1  
  selector:  
    app: couchbase-worker-pod  
  template:  
    metadata:  
      labels:  
        app: couchbase-worker-pod  
    spec:  
      containers:  
      - name: couchbase-worker  
        image: arungupta/couchbase:k8s  
        env:  
          - name: TYPE  
            value: "WORKER"  
          - name: COUCHBASE_MASTER  
            value: "couchbase-master-service"  
          - name: AUTO_REBALANCE  
            value: "false"  
        ports:  
        - containerPort: 8091

入口:

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: couchbase
  annotations:
    nginx.ingress.kubernetes.io/rewrite-target: /
spec:
  rules:
  - host: xxx.com
    http:
      paths:
      - path: /
        backend:
          serviceName: couchbase-master-service
          servicePort: 8091

吊舱开始运行,乍一看似乎没有任何问题。 但是当我试图点击 HostUrl 时,它给了我错误的网关。 当我查看主 pod 的日志时,它显示我在 127.0.0.1:8091 处拒绝连接。 我尝试执行到 pod 并手动应用 entrypoint.sh 中的 curl 语句,但它也给了我错误"failed to connect to 127.0.0.1 port 8091: Connection denied" 在此处输入图像描述

我发现主映像正在使用这个入口点脚本

我运行了这个容器映像,看起来 curl 失败了,因为15 秒的睡眠时间不足以让 couchbase-server 启动和打开 8091 端口。

您可以做的最简单的事情是将此睡眠设置为更高的值,但睡眠通常不是最佳选择。 (实际上这整个图像充满了不良做法)。

更好的方法是将 sleep 替换为等待端口 8091 打开的以下行:

while ! nc -z localhost 8091; do   
  sleep 1
done

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM