无法从高山豆荚中 curl redis服务

ss2ws0br  于 2021-06-09  发布在  Redis
关注(0)|答案(1)|浏览(338)

**结案。**此问题不可复制或由打字错误引起。它目前不接受答案。
**想改进这个问题吗?**更新问题,使其成为堆栈溢出的主题。

7个月前关门了。
改进这个问题
我有这个给redis的yaml清单

apiVersion: v1
kind: Pod
metadata:
  name: redis-pod
  namespace: redis-namespace
  labels:
    app: redis
spec:
  containers:
  - name: redis-cntr
    image: redis
    imagePullPolicy: IfNotPresent
    ports:
    - name: redis-port
      containerPort: 6379
    envFrom:
    - secretRef:
        name: redis-secret
    command:
    - redis-server
    readinessProbe:
      exec:
        command:
        - redis-cli
        - ping
      initialDelaySeconds: 3
      periodSeconds: 10
      timeoutSeconds: 1
      successThreshold: 1
      failureThreshold: 3
    volumeMounts:
    - name: redis-vol
      mountPath: /data
    - name: config
      mountPath: /usr/local/etc/redis
  volumes:
  - name: redis-vol
    emptyDir: {}
  - name: config
    configMap:
      name: redis-config
      items:
      - key: redis-config
        path: redis.conf

---
apiVersion: v1
kind: Service
metadata:
  name: redis-service
  namespace: redis-namespace
spec:
  type: ClusterIP
  selector:
    app: redis
  ports:
  - name: redis-srv-port
    port: 6379
    targetPort: redis-port
    protocol: TCP

我运行这个清单,pod正在运行(没有错误),服务如下:

$ kubectl describe service redis-service
Name:              redis-service
Namespace:         redis-namespace
Labels:            <none>
Annotations:       Selector:  app=redis
Type:              ClusterIP
IP:                10.107.206.191
Port:              redis-srv-port  6379/TCP
TargetPort:        redis-port/TCP
Endpoints:         172.17.0.5:6379
Session Affinity:  None
Events:            <none>

为了测试另一个pod的连接,我创建了一个交互式pod:

$ kubectl run -it alpine --image=alpine --restart=Never -- /bin/sh

我试着把redis吊舱卷起来 curl redis-service:6379 但是那辆车回来了 curl: (1) Received HTTP/0.9 when not allowed . 我已经试过了 curl -u default:mysecretpassword redis-service:6379 得到同样的结果。我做了一个 nslookup :

$ / # nslookup redis-service
Server:     10.96.0.10
Address:    10.96.0.10:53

Name:   redis-service.redis-namespace.svc.cluster.local
Address: 10.107.206.191

如果我 curl 端点 curl 172.17.0.5:6379 我也有同样的想法。两个pod位于同一命名空间上。你知道为什么阿尔卑斯吊舱不能 curl redis服务吗?不确定是否能够 curl 服务对于其他应用程序连接到redis pod至关重要。
注:以下为 redis.conf 具有以下更改:
requirepass mysecretpass # bind 127.0.0.1 //评论
appendonly yes protected-mode yes

cyvaqqii

cyvaqqii1#

redis没有使用http协议进行客户端连接。因此,任何像curl这样的http客户机都不能直接与redis服务器通信。
您可以使用redis cli进行测试

相关问题