Не удается установить соединение между модулями в одном кластере.
Из того, что я понимаю, по умолчанию - модули открыты для порта, указанного в файле yaml.Например, я настроил мой файл развертывания для redis следующим образом:
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: redis
labels:
app: myapp
spec:
replicas: 1
template:
metadata:
labels:
app: myapp
spec:
containers:
- env:
- name: REDIS_PASS
value: '**None**'
image: tutum/redis
ports:
- containerPort: 6379
name: redis
restartPolicy: Always
Ниже приведен файл развертывания для модуля, к которому контейнер пытается получить доступ к redis:
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: jks
labels:
app: myapp
spec:
replicas: 1
template:
metadata:
labels:
app: myapp
spec:
imagePullSecrets:
- name: myappsecret
containers:
- env:
- name: JOBQUEUE
value: vae_jobqueue
- name: PORT
value: "80"
image: repo.url
name: jks
ports:
- containerPort: 80
volumeMounts:
- name: config-vol
mountPath: /etc/sys0
volumes:
- name: config-vol
configMap:
name: config
restartPolicy: Always
Iеще не создал ни одного сервиса.Но нужно ли это?К нему будет обращаться другой модуль, который является частью той же схемы рулевого управления.При такой настройке во втором модуле возникают ошибки, которые пытаются получить доступ к redis:
2018-11-21T16:12:31.939Z - [33mwarn[39m: Error: Redis connection to redis:6379 failed - getaddrinfo ENOTFOUND redis redis:6379
at errnoException (dns.js:27:10)
at GetAddrInfoReqWrap.onlookup [as oncomplete] (dns.js:78:26)
Как убедиться, что мой модуль может подключаться к модулю redis через порт 6379?
---- ОБНОВЛЕНИЕ ----
Вот как сейчас выглядят мои графики:
# Source: mychartv2/templates/redis-service.yaml
apiVersion: v1
kind: Service
metadata:
name: redis
spec:
selector:
app: myapp-redis
clusterIP: None
ports:
- name: redis
port: 6379
targetPort: 6379
---
# Source: mychartv2/templates/redis-deployment.yaml
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: redis
labels:
app: myapp-redis
spec:
replicas: 1
template:
metadata:
labels:
app: myapp-redis
spec:
containers:
- env:
- name: REDIS_PASS
value: '**None**'
image: tutum/redis
ports:
- containerPort: 6379
name: redis
restartPolicy: Always
---
# Source: mychartv2/templates/jks-deployment.yaml
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: jks
labels:
app: myapp-jks
spec:
replicas: 1
template:
metadata:
labels:
app: myapp-jks
spec:
imagePullSecrets:
- name: jkssecret
containers:
- env:
- name: JOBQUEUE
value: jks_jobqueue
- name: PORT
value: "80"
image: repo.url
name: jks
ports:
- containerPort: 80
volumeMounts:
- name: config-vol
mountPath: /etc/sys0
volumes:
- name: config-vol
configMap:
name: jksconfig
restartPolicy: Always
Примечание : Iя использую миникуб как кластер kubernetes