подключение к Redis с помощью microk8s

Я работал с microk8s, и redis, похоже, дает следующую ошибку на веб-странице фляги: (Redis - это модуль, а веб-страница фляги находится в другом модуле)

connecting to redis:6379. Temporary failure in name resolution.

и я также очень часто получаю CrashLoopBackOff с ошибкой ниже:

grpc._channel._MultiThreadedRendezvous: <_MultiThreadedRendezvous of RPC that terminated with:
    status = StatusCode.UNAVAILABLE
    details = "DNS resolution failed"
    debug_error_string = "{"created":"@1585584578.284600062","description":"Failed to pick subchannel","file":"src/core/ext/filters/client_channel/client_channel.cc","file_line":3941,"referenced_errors":[{"created":"@1585584578.284535859","description":"Resolver transient failure","file":"src/core/ext/filters/client_channel/resolving_lb_policy.cc","file_line":262,"referenced_errors":[{"created":"@1585584578.284532411","description":"DNS resolution failed","file":"src/core/ext/filters/client_channel/resolver/dns/c_ares/dns_resolver_ares.cc","file_line":370,"grpc_status":14,"referenced_errors":[{"created":"@1585584578.284452899","description":"C-ares status is not ARES_SUCCESS: Timeout while contacting DNS servers","file":"src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.cc","file_line":244,"referenced_errors":[{"created":"@1585584578.284444557","description":"C-ares status is not ARES_SUCCESS: Timeout while contacting DNS servers","file":"src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.cc","file_line":244}]}]}]}]}"

не уверен, как-то это связано с DNS или Grpc

соединение python:

  conn = redis.StrictRedis(host='redis', port=6379)

сервис yml:

apiVersion: v1
kind: Service
metadata:
  labels:
    app: redis
  name: redis
spec:
  selector:
    app: redis
  type: NodePort
  ports:
  - port: 6379
    nodePort: 10000
    protocol: TCP

развертывать:

apiVersion: apps/v1
kind: Deployment
metadata:
  name: redis-deploy
spec:
  selector:
    matchLabels:
      app: redis
  template:
    metadata:
      labels:
        app: redis
    spec:
      containers:
      - name: redis
        image: redis:alpine
        ports:
        - containerPort: 6379

можно подключиться с помощью команды:

redis-cli -p 10000

person Community    schedule 30.03.2020    source источник
comment
в чем проблема?   -  person Kai    schedule 30.03.2020


Ответы (1)


Судя по вашим журналам ошибок, проблема связана с самим DNS-сервером, а не с записью для redis. Я не знаком с micro-k8s, чтобы знать, работает ли core-dns или kube-dns в kube-system.

person Derek Lemon    schedule 30.03.2020